geonetwork-ui 2.6.0-dev.0739ca76d → 2.6.0-dev.0cd426aa4

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 (725) hide show
  1. package/README.md +2 -3
  2. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/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/dcat-ap/read-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +52 -13
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  8. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +6 -6
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +5 -5
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  13. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  14. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +5 -2
  15. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +20 -18
  16. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
  17. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +8 -8
  18. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +14 -11
  19. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +23 -13
  20. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  21. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  22. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  23. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -31
  24. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +9 -8
  25. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +47 -11
  26. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -5
  27. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  28. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +35 -3
  29. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +27 -8
  30. package/esm2022/libs/feature/editor/src/index.mjs +2 -4
  31. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +5 -7
  32. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +8 -13
  33. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -6
  34. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +274 -0
  35. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +4 -13
  36. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -5
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +5 -8
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +4 -5
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -10
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +8 -14
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -15
  42. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +4 -4
  43. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +4 -4
  44. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +4 -4
  45. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +4 -4
  46. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +4 -4
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +4 -4
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +6 -17
  49. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +4 -5
  50. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -30
  51. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +1 -3
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +5 -6
  53. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +11 -8
  54. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +11 -8
  55. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -6
  56. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -5
  57. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +3 -36
  58. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -11
  59. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -6
  60. package/esm2022/libs/feature/record/src/index.mjs +2 -3
  61. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +20 -19
  62. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +6 -7
  63. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +5 -6
  64. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +6 -7
  65. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +7 -4
  66. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +8 -22
  67. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +5 -5
  68. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +15 -7
  69. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +96 -21
  70. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  71. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -1
  72. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -13
  73. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  74. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  75. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  76. package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
  77. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  78. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +32 -28
  79. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +3 -3
  80. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +8 -6
  81. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  82. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +12 -8
  83. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  84. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +5 -7
  85. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +4 -4
  86. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +74 -4
  87. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  88. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +4 -5
  89. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -5
  90. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -5
  91. package/esm2022/libs/ui/dataviz/src/index.mjs +1 -2
  92. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  93. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +13 -8
  94. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -5
  95. package/esm2022/libs/ui/elements/src/index.mjs +4 -3
  96. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +7 -7
  97. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -3
  98. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +5 -6
  99. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +20 -9
  100. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +4 -5
  101. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +54 -0
  102. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +4 -5
  103. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  104. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +42 -85
  105. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +58 -0
  106. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +65 -0
  107. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +5 -6
  108. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +3 -6
  109. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -5
  110. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +5 -6
  111. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +7 -8
  112. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +40 -17
  113. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +8 -5
  114. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -5
  115. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +71 -0
  116. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +15 -6
  117. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -5
  118. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -4
  119. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  120. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +6 -7
  121. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  122. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -3
  123. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +7 -6
  124. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +29 -7
  125. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +5 -6
  126. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -7
  127. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +43 -0
  128. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  129. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +73 -0
  130. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
  131. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -5
  132. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +3 -3
  133. package/esm2022/libs/ui/layout/src/index.mjs +3 -2
  134. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +3 -2
  135. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  136. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  137. package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
  138. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  139. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +4 -5
  140. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +21 -12
  141. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +4 -5
  142. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +4 -5
  143. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  144. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -3
  145. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +71 -0
  146. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  147. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +4 -5
  148. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +2 -1
  149. package/esm2022/libs/ui/search/src/index.mjs +3 -1
  150. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +6 -6
  151. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  152. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  153. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  154. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  155. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  156. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +24 -17
  157. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +41 -21
  158. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +39 -26
  159. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  160. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  161. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  162. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +1 -3
  163. package/esm2022/libs/util/i18n/src/index.mjs +2 -3
  164. package/esm2022/libs/util/i18n/src/lib/embedded.translate.loader.mjs +3 -2
  165. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +36 -28
  166. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +10 -9
  167. package/esm2022/libs/util/i18n/src/lib/i18n.providers.mjs +41 -0
  168. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +63 -3
  169. package/esm2022/libs/util/shared/src/index.mjs +1 -2
  170. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +3 -2
  171. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -1
  172. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -1
  173. package/esm2022/translations/de.json +55 -24
  174. package/esm2022/translations/en.json +55 -24
  175. package/esm2022/translations/es.json +54 -23
  176. package/esm2022/translations/fr.json +56 -25
  177. package/esm2022/translations/it.json +81 -50
  178. package/esm2022/translations/nl.json +54 -23
  179. package/esm2022/translations/pt.json +54 -23
  180. package/esm2022/translations/sk.json +602 -0
  181. package/fesm2022/geonetwork-ui.mjs +11119 -9726
  182. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  183. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  184. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  185. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  186. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  187. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  188. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +4 -4
  189. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  190. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  191. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  192. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  193. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  194. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  195. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  196. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  197. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +9 -7
  198. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  199. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
  200. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  201. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts +1 -0
  202. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  203. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts +4 -4
  204. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  205. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +6 -3
  206. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  207. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  208. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  209. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +21 -15
  210. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  211. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
  212. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  213. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +4 -8
  214. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  215. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts +3 -3
  216. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  217. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  218. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  219. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  220. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  221. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  222. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
  223. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  224. package/libs/feature/editor/src/index.d.ts +1 -3
  225. package/libs/feature/editor/src/index.d.ts.map +1 -1
  226. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +1 -1
  227. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  228. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -1
  229. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  230. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  231. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
  232. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  233. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  234. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  235. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -1
  236. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -1
  237. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  238. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  239. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  240. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  241. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  242. 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
  243. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  244. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  245. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  246. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +10 -17
  247. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  248. package/libs/feature/editor/src/lib/models/index.d.ts +0 -2
  249. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  250. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  251. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  252. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  253. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  254. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  255. package/libs/feature/map/src/lib/feature-map.module.d.ts +2 -11
  256. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  257. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  258. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  259. package/libs/feature/record/src/index.d.ts +1 -2
  260. package/libs/feature/record/src/index.d.ts.map +1 -1
  261. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +7 -4
  262. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  263. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  264. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  265. package/libs/feature/record/src/lib/feature-record.module.d.ts +8 -12
  266. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  267. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -1
  268. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -1
  269. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +13 -6
  270. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  271. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  272. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  273. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +6 -0
  274. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  275. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  276. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  277. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  278. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  279. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  280. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  281. package/libs/feature/search/src/index.d.ts +1 -1
  282. package/libs/feature/search/src/index.d.ts.map +1 -1
  283. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  284. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  285. package/libs/feature/search/src/lib/feature-search.module.d.ts +24 -22
  286. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  287. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  288. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  289. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  290. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  291. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -1
  292. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  293. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  294. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  295. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +1 -2
  296. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -1
  297. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -1
  298. package/libs/feature/search/src/lib/utils/service/fields.d.ts +22 -2
  299. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  300. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  301. package/libs/ui/dataviz/src/index.d.ts +0 -1
  302. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  303. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  304. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  305. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  306. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  307. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -1
  308. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  309. package/libs/ui/elements/src/index.d.ts +3 -2
  310. package/libs/ui/elements/src/index.d.ts.map +1 -1
  311. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  312. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts +1 -1
  313. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts.map +1 -1
  314. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  315. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  316. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  317. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  318. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  319. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  320. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +7 -14
  321. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  322. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
  323. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
  324. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
  325. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  326. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  327. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  328. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  329. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  330. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
  331. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  332. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  333. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  334. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
  335. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  336. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +1 -0
  337. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  338. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts +1 -1
  339. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts.map +1 -1
  340. package/libs/ui/inputs/src/index.d.ts +2 -1
  341. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  342. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  343. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  344. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts +1 -1
  345. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts.map +1 -1
  346. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts +1 -1
  347. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts.map +1 -1
  348. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts +1 -1
  349. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  350. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  351. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  352. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  353. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  354. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  355. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  356. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  357. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts +1 -1
  358. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts.map +1 -1
  359. package/libs/ui/layout/src/index.d.ts +2 -1
  360. package/libs/ui/layout/src/index.d.ts.map +1 -1
  361. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +1 -1
  362. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  363. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  364. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  365. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
  366. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
  367. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  368. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  369. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +4 -2
  370. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  371. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts +1 -1
  372. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts.map +1 -1
  373. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
  374. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  375. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  376. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  377. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -1
  378. package/libs/ui/search/src/index.d.ts +2 -0
  379. package/libs/ui/search/src/index.d.ts.map +1 -1
  380. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  381. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  382. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  383. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  384. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  385. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  386. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  387. package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
  388. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  389. package/libs/ui/widgets/src/index.d.ts +0 -1
  390. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  391. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts +1 -1
  392. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts.map +1 -1
  393. package/libs/util/app-config/src/lib/app-config.d.ts +0 -1
  394. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  395. package/libs/util/i18n/src/index.d.ts +1 -2
  396. package/libs/util/i18n/src/index.d.ts.map +1 -1
  397. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts +1 -1
  398. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts.map +1 -1
  399. package/libs/util/i18n/src/lib/i18n.constants.d.ts +6 -15
  400. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  401. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts +5 -5
  402. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts.map +1 -1
  403. package/libs/util/i18n/src/lib/i18n.providers.d.ts +4 -0
  404. package/libs/util/i18n/src/lib/i18n.providers.d.ts.map +1 -0
  405. package/libs/util/i18n/src/lib/language-codes.d.ts +15 -19
  406. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  407. package/libs/util/shared/src/index.d.ts +0 -1
  408. package/libs/util/shared/src/index.d.ts.map +1 -1
  409. package/libs/util/shared/src/lib/image-fallback.directive.d.ts +1 -1
  410. package/libs/util/shared/src/lib/image-fallback.directive.d.ts.map +1 -1
  411. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  412. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  413. package/package.json +4 -4
  414. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  415. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  416. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  417. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +2 -2
  418. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  419. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +73 -9
  420. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +4 -4
  421. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  422. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +11 -5
  423. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  424. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
  425. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  426. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +3 -6
  427. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +4 -1
  428. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +16 -8
  429. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
  430. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +8 -7
  431. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +13 -6
  432. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +24 -20
  433. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  434. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +22 -9
  435. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
  436. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +10 -0
  437. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +14 -0
  438. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +62 -1
  439. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -17
  440. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +7 -3
  441. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  442. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +56 -12
  443. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +2 -2
  444. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +40 -1
  445. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  446. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +29 -3
  447. package/src/libs/feature/editor/src/index.ts +1 -3
  448. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +3 -4
  449. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +5 -16
  450. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +7 -5
  451. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
  452. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +330 -0
  453. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -10
  454. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +3 -2
  455. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +3 -4
  456. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +2 -2
  457. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +4 -11
  458. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +5 -9
  459. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +2 -17
  460. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +2 -2
  461. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -2
  462. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +2 -2
  463. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +2 -2
  464. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  465. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +2 -2
  466. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +2 -2
  467. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -15
  468. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -2
  469. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -17
  470. package/src/libs/feature/editor/src/lib/models/index.ts +0 -2
  471. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +2 -1
  472. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +8 -3
  473. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -3
  474. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +8 -2
  475. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +8 -2
  476. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -17
  477. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +3 -8
  478. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +3 -2
  479. package/src/libs/feature/record/src/index.ts +1 -2
  480. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +17 -11
  481. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +22 -19
  482. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -2
  483. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  484. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +2 -2
  485. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +2 -2
  486. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  487. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +3 -2
  488. package/src/libs/feature/record/src/lib/feature-record.module.ts +4 -13
  489. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +4 -3
  490. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +10 -4
  491. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +38 -11
  492. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +135 -21
  493. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  494. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +22 -0
  495. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +22 -15
  496. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  497. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  498. package/src/libs/feature/search/src/index.ts +1 -1
  499. package/src/libs/feature/search/src/lib/constants.ts +3 -1
  500. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
  501. package/src/libs/feature/search/src/lib/feature-search.module.ts +17 -15
  502. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  503. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +5 -0
  504. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  505. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  506. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  507. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +2 -0
  508. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  509. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  510. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +10 -4
  511. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +2 -2
  512. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  513. package/src/libs/feature/search/src/lib/utils/service/fields.ts +103 -3
  514. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  515. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +2 -2
  516. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +2 -2
  517. package/src/libs/ui/dataviz/src/index.ts +0 -1
  518. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  519. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  520. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +7 -6
  521. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +0 -1
  522. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +4 -0
  523. package/src/libs/ui/elements/src/index.ts +3 -2
  524. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  525. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +3 -2
  526. package/src/libs/ui/elements/src/lib/avatar/avatar.component.ts +3 -0
  527. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  528. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  529. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  530. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +28 -4
  531. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -2
  532. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  533. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  534. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  535. package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +2 -2
  536. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  537. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +68 -141
  538. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +40 -101
  539. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
  540. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
  541. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  542. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
  543. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +69 -0
  544. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  545. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +5 -9
  546. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -4
  547. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  548. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +2 -2
  549. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  550. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -2
  551. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  552. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +11 -3
  553. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +4 -7
  554. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
  555. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +51 -13
  556. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -2
  557. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -2
  558. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
  559. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
  560. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +16 -2
  561. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +16 -3
  562. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
  563. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.ts +4 -0
  564. package/src/libs/ui/inputs/src/index.ts +2 -1
  565. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  566. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +2 -2
  567. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  568. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.ts +3 -0
  569. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +1 -1
  570. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +4 -0
  571. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  572. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +27 -0
  573. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  574. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +2 -2
  575. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +3 -4
  576. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  577. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +47 -0
  578. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  579. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  580. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  581. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +83 -0
  582. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +3 -4
  583. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +2 -2
  584. package/src/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.ts +1 -0
  585. package/src/libs/ui/layout/src/index.ts +2 -1
  586. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +1 -0
  587. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  588. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  589. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  590. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  591. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  592. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
  593. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
  594. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  595. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  596. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
  597. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -2
  598. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +15 -8
  599. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  600. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.ts +2 -2
  601. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +2 -2
  602. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  603. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  604. package/src/libs/ui/layout/src/lib/sticky-header/sticky-header.component.ts +3 -0
  605. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
  606. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +84 -0
  607. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  608. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  609. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -2
  610. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +1 -0
  611. package/src/libs/ui/search/src/index.ts +2 -0
  612. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +4 -1
  613. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  614. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  615. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  616. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  617. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  618. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  619. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  620. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  621. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +18 -15
  622. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  623. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -27
  624. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +46 -18
  625. package/src/libs/ui/search/src/lib/ui-search.module.ts +19 -10
  626. package/src/libs/ui/widgets/src/index.ts +0 -1
  627. package/src/libs/ui/widgets/src/lib/color-scale/color-scale.component.ts +1 -0
  628. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
  629. package/src/libs/util/app-config/src/lib/app-config.ts +0 -2
  630. package/src/libs/util/i18n/src/index.ts +1 -2
  631. package/src/libs/util/i18n/src/lib/embedded.translate.loader.ts +4 -3
  632. package/src/libs/util/i18n/src/lib/i18n.constants.ts +39 -29
  633. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +11 -9
  634. package/src/libs/util/i18n/src/lib/i18n.providers.ts +68 -0
  635. package/src/libs/util/i18n/src/lib/language-codes.ts +67 -2
  636. package/src/libs/util/shared/src/index.ts +0 -1
  637. package/src/libs/util/shared/src/lib/image-fallback.directive.ts +1 -0
  638. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +3 -0
  639. package/src/libs/util/shared/src/lib/links/link-utils.ts +3 -0
  640. package/tailwind.base.config.js +3 -0
  641. package/tailwind.base.css +2 -14
  642. package/translations/de.json +55 -24
  643. package/translations/en.json +55 -24
  644. package/translations/es.json +54 -23
  645. package/translations/fr.json +56 -25
  646. package/translations/it.json +81 -50
  647. package/translations/nl.json +54 -23
  648. package/translations/pt.json +54 -23
  649. package/translations/sk.json +54 -23
  650. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +0 -44
  651. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +0 -75
  652. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +0 -160
  653. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +0 -53
  654. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.model.mjs +0 -2
  655. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +0 -8
  656. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +0 -87
  657. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  658. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +0 -47
  659. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +0 -46
  660. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +0 -118
  661. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +0 -161
  662. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +0 -31
  663. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +0 -46
  664. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +0 -31
  665. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +0 -37
  666. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +0 -18
  667. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +0 -14
  668. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +0 -1
  669. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts +0 -31
  670. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts.map +0 -1
  671. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +0 -43
  672. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +0 -1
  673. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +0 -17
  674. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +0 -1
  675. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts +0 -10
  676. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts.map +0 -1
  677. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +0 -7
  678. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +0 -1
  679. package/libs/feature/editor/src/lib/services/wizard.service.d.ts +0 -33
  680. package/libs/feature/editor/src/lib/services/wizard.service.d.ts.map +0 -1
  681. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  682. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  683. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +0 -11
  684. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +0 -1
  685. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +0 -12
  686. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +0 -1
  687. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +0 -29
  688. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +0 -1
  689. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +0 -34
  690. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +0 -1
  691. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +0 -12
  692. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +0 -1
  693. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +0 -15
  694. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +0 -1
  695. package/libs/util/i18n/src/lib/lang.service.d.ts +0 -13
  696. package/libs/util/i18n/src/lib/lang.service.d.ts.map +0 -1
  697. package/libs/util/i18n/src/lib/util-i18n.module.d.ts +0 -12
  698. package/libs/util/i18n/src/lib/util-i18n.module.d.ts.map +0 -1
  699. package/libs/util/shared/src/lib/util-shared.module.d.ts +0 -9
  700. package/libs/util/shared/src/lib/util-shared.module.d.ts.map +0 -1
  701. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.css +0 -5
  702. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +0 -22
  703. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.ts +0 -93
  704. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.css +0 -31
  705. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -62
  706. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -206
  707. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.css +0 -3
  708. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.html +0 -21
  709. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +0 -58
  710. package/src/libs/feature/editor/src/lib/models/wizard-field.model.ts +0 -10
  711. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -6
  712. package/src/libs/feature/editor/src/lib/services/wizard.service.ts +0 -105
  713. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  714. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  715. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +0 -27
  716. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -30
  717. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +0 -48
  718. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -67
  719. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -96
  720. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -18
  721. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -25
  722. package/src/libs/util/i18n/src/lib/lang.service.ts +0 -23
  723. package/src/libs/util/i18n/src/lib/util-i18n.module.ts +0 -26
  724. package/src/libs/util/shared/src/lib/util-shared.module.ts +0 -10
  725. /package/src/libs/{ui/elements/src/lib/related-record-card/related-record-card.component.css → feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.css} +0 -0
@@ -16,7 +16,7 @@ export class ImageOverlayPreviewComponent {
16
16
  basicLightbox.create(`<img src="${src}"/>`).show();
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageOverlayPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageOverlayPreviewComponent, isStandalone: true, selector: "gn-ui-image-overlay-preview", inputs: { imageUrl: "imageUrl" }, outputs: { isPlaceholderShown: "isPlaceholderShown" }, ngImport: i0, template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-full w-full\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden border border-gray-300 group-hover:shadow-xl group-hover:border-0 h-full w-full\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <ng-icon name=\"matZoomOutMap\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [provideIcons({ matZoomOutMap })] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageOverlayPreviewComponent, isStandalone: true, selector: "gn-ui-image-overlay-preview", inputs: { imageUrl: "imageUrl" }, outputs: { isPlaceholderShown: "isPlaceholderShown" }, ngImport: i0, template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-full w-full\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"shrink-0 rounded-lg overflow-hidden group-hover:shadow-xl group-hover:border-0 h-full w-full\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <ng-icon name=\"matZoomOutMap\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [provideIcons({ matZoomOutMap })] }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageOverlayPreviewComponent, decorators: [{
22
22
  type: Component,
@@ -26,10 +26,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26
26
  ThumbnailComponent,
27
27
  ButtonComponent,
28
28
  NgIcon,
29
- ], viewProviders: [provideIcons({ matZoomOutMap })], template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-full w-full\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden border border-gray-300 group-hover:shadow-xl group-hover:border-0 h-full w-full\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <ng-icon name=\"matZoomOutMap\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n" }]
29
+ ], viewProviders: [provideIcons({ matZoomOutMap })], template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-full w-full\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"shrink-0 rounded-lg overflow-hidden group-hover:shadow-xl group-hover:border-0 h-full w-full\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <ng-icon name=\"matZoomOutMap\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n" }]
30
30
  }], propDecorators: { imageUrl: [{
31
31
  type: Input
32
32
  }], isPlaceholderShown: [{
33
33
  type: Output
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxLQUFLLGFBQWEsTUFBTSxlQUFlLENBQUE7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBZ0I5QyxNQUFNLE9BQU8sNEJBQTRCO0lBZHpDO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0FJM0Q7SUFIQyxZQUFZLENBQUMsR0FBVztRQUN0QixhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwRCxDQUFDOytHQUxVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGdMQ3ZCekMsbTNCQTJCQSx5RERaSSxZQUFZLG1JQUNaLHFCQUFxQix1R0FDckIsa0JBQWtCLDRIQUNsQixlQUFlLCtIQUNmLE1BQU0sa0dBRU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDOzs0RkFFckMsNEJBQTRCO2tCQWR4QyxTQUFTOytCQUNFLDZCQUE2QixjQUczQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixNQUFNO3FCQUNQLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzs4QkFHdkMsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgKiBhcyBiYXNpY0xpZ2h0Ym94IGZyb20gJ2Jhc2ljbGlnaHRib3gnXG5pbXBvcnQgeyBDb250ZW50R2hvc3RDb21wb25lbnQgfSBmcm9tICcuLi9jb250ZW50LWdob3N0L2NvbnRlbnQtZ2hvc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0Wm9vbU91dE1hcCB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW1hZ2Utb3ZlcmxheS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29udGVudEdob3N0Q29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTmdJY29uLFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Wm9vbU91dE1hcCB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlT3ZlcmxheVByZXZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nXG4gIEBPdXRwdXQoKSBpc1BsYWNlaG9sZGVyU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgb3BlbkxpZ2h0Ym94KHNyYzogc3RyaW5nKSB7XG4gICAgYmFzaWNMaWdodGJveC5jcmVhdGUoYDxpbWcgc3JjPVwiJHtzcmN9XCIvPmApLnNob3coKVxuICB9XG59XG4iLCI8Z24tdWktY29udGVudC1naG9zdFxuICBbc2hvd0NvbnRlbnRdPVwiaW1hZ2VVcmwgIT09IHVuZGVmaW5lZFwiXG4gIGdob3N0Q2xhc3M9XCJoLWZ1bGwgdy1mdWxsXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaW1hZ2VVcmxcIlxuICAgIGRhdGEtY3k9XCJyZWNvcmQtdGh1bWJuYWlsXCJcbiAgICBjbGFzcz1cInNocmluay0wIGJnLWdyYXktMTAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItZ3JheS0zMDAgZ3JvdXAtaG92ZXI6c2hhZG93LXhsIGdyb3VwLWhvdmVyOmJvcmRlci0wIGgtZnVsbCB3LWZ1bGxcIlxuICA+XG4gICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLWZ1bGwgdy1mdWxsXCJcbiAgICAgIFt0aHVtYm5haWxVcmxdPVwiaW1hZ2VVcmxcIlxuICAgICAgZml0PVwiY292ZXJcIlxuICAgICAgKHBsYWNlaG9sZGVyU2hvd24pPVwiaXNQbGFjZWhvbGRlclNob3duLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIHJpZ2h0LTAgei0xMCBtci0yIG1iLTJcIlxuICAgICAgICBbdHlwZV09XCInb3V0bGluZSdcIlxuICAgICAgICBbZXh0cmFDbGFzc109XCInIXB5LTIgIXB4LTAnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5MaWdodGJveChpbWFnZVVybClcIlxuICAgICAgPlxuICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Wm9vbU91dE1hcFwiPjwvbmctaWNvbj5cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZ24tdWktY29udGVudC1naG9zdD5cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxLQUFLLGFBQWEsTUFBTSxlQUFlLENBQUE7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBZ0I5QyxNQUFNLE9BQU8sNEJBQTRCO0lBZHpDO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0FJM0Q7SUFIQyxZQUFZLENBQUMsR0FBVztRQUN0QixhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwRCxDQUFDOytHQUxVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGdMQ3ZCekMsZzFCQTJCQSx5RERaSSxZQUFZLG1JQUNaLHFCQUFxQix1R0FDckIsa0JBQWtCLDRIQUNsQixlQUFlLCtIQUNmLE1BQU0sa0dBRU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDOzs0RkFFckMsNEJBQTRCO2tCQWR4QyxTQUFTOytCQUNFLDZCQUE2QixjQUczQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixNQUFNO3FCQUNQLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzs4QkFHdkMsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgKiBhcyBiYXNpY0xpZ2h0Ym94IGZyb20gJ2Jhc2ljbGlnaHRib3gnXG5pbXBvcnQgeyBDb250ZW50R2hvc3RDb21wb25lbnQgfSBmcm9tICcuLi9jb250ZW50LWdob3N0L2NvbnRlbnQtZ2hvc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0Wm9vbU91dE1hcCB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW1hZ2Utb3ZlcmxheS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29udGVudEdob3N0Q29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTmdJY29uLFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Wm9vbU91dE1hcCB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlT3ZlcmxheVByZXZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nXG4gIEBPdXRwdXQoKSBpc1BsYWNlaG9sZGVyU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgb3BlbkxpZ2h0Ym94KHNyYzogc3RyaW5nKSB7XG4gICAgYmFzaWNMaWdodGJveC5jcmVhdGUoYDxpbWcgc3JjPVwiJHtzcmN9XCIvPmApLnNob3coKVxuICB9XG59XG4iLCI8Z24tdWktY29udGVudC1naG9zdFxuICBbc2hvd0NvbnRlbnRdPVwiaW1hZ2VVcmwgIT09IHVuZGVmaW5lZFwiXG4gIGdob3N0Q2xhc3M9XCJoLWZ1bGwgdy1mdWxsXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaW1hZ2VVcmxcIlxuICAgIGRhdGEtY3k9XCJyZWNvcmQtdGh1bWJuYWlsXCJcbiAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIGdyb3VwLWhvdmVyOnNoYWRvdy14bCBncm91cC1ob3Zlcjpib3JkZXItMCBoLWZ1bGwgdy1mdWxsXCJcbiAgPlxuICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgIGNsYXNzPVwicmVsYXRpdmUgaC1mdWxsIHctZnVsbFwiXG4gICAgICBbdGh1bWJuYWlsVXJsXT1cImltYWdlVXJsXCJcbiAgICAgIGZpdD1cImNvdmVyXCJcbiAgICAgIChwbGFjZWhvbGRlclNob3duKT1cImlzUGxhY2Vob2xkZXJTaG93bi5lbWl0KCRldmVudClcIlxuICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCByaWdodC0wIHotMTAgbXItMiBtYi0yXCJcbiAgICAgICAgW3R5cGVdPVwiJ291dGxpbmUnXCJcbiAgICAgICAgW2V4dHJhQ2xhc3NdPVwiJyFweS0yICFweC0wJ1wiXG4gICAgICAgIChidXR0b25DbGljayk9XCJvcGVuTGlnaHRib3goaW1hZ2VVcmwpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdFpvb21PdXRNYXBcIj48L25nLWljb24+XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2duLXVpLWNvbnRlbnQtZ2hvc3Q+XG4iXX0=
@@ -1,21 +1,17 @@
1
- import { Component, Input, TemplateRef, Output, EventEmitter, ElementRef, } from '@angular/core';
1
+ import { Component, ElementRef, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
2
2
  import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import { GeoDataBadgeComponent } from '../geo-data-badge/geo-data-badge.component';
4
+ import { KindBadgeComponent } from '../kind-badge/kind-badge.component';
3
5
  import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
4
6
  import { MetadataQualityComponent } from '../metadata-quality/metadata-quality.component';
5
7
  import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
6
- import { propagateToDocumentOnly, removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
7
- import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
8
- import { matLocationSearchingOutline, matEmailOutline, matPhoneOutline, matLocationOnOutline, } from '@ng-icons/material-icons/outline';
9
- import { matCode } from '@ng-icons/material-icons/baseline';
10
- import { iconoirDatabase, iconoirMap, iconoirInternet } from '@ng-icons/iconoir';
11
- import { TranslateModule } from '@ngx-translate/core';
12
- import { marker } from '@biesbjerg/ngx-translate-extract-marker';
8
+ import { removeWhitespace, stripHtml } from '../../../../../../libs/util/shared/src';
9
+ import { provideIcons, provideNgIconsConfig } from '@ng-icons/core';
10
+ import { matLocationSearchingOutline } from '@ng-icons/material-icons/outline';
11
+ import { InternalLinkCardContactComponent } from '../internal-link-card-contact/internal-link-card-contact.component';
12
+ import { iconoirInternet } from '@ng-icons/iconoir';
13
13
  import { fromEvent, Subscription } from 'rxjs';
14
14
  import * as i0 from "@angular/core";
15
- import * as i1 from "@ngx-translate/core";
16
- marker('record.kind.data');
17
- marker('record.kind.reuse');
18
- marker('record.kind.service');
19
15
  export class InternalLinkCardComponent {
20
16
  set size(value) {
21
17
  this._size = value;
@@ -27,6 +23,7 @@ export class InternalLinkCardComponent {
27
23
  }
28
24
  constructor(elementRef) {
29
25
  this.elementRef = elementRef;
26
+ this.linkTarget = '_blank';
30
27
  this.linkHref = null;
31
28
  this.mdSelect = new EventEmitter();
32
29
  this.subscription = new Subscription();
@@ -34,130 +31,90 @@ export class InternalLinkCardComponent {
34
31
  this.thumbnailContainerClass = '';
35
32
  this._size = 'M';
36
33
  this.sizeClassMap = {
37
- L: 'min-h-[190px] md:w-[992px] py-3 px-3 flex items-start gap-5',
38
- M: 'min-h-[140px] md:w-[570px] py-3 px-3 flex items-start gap-4',
39
- S: 'min-h-[220px] md:w-[370px] py-3 px-3 flex gap-4',
40
- XS: 'min-h-[108px] md:w-[570px] py-3 px-3 flex gap-4',
34
+ L: 'min-h-[190px] w-full py-3 px-3 flex items-start gap-5',
35
+ M: 'min-h-[140px] py-3 px-3 flex items-start gap-4',
36
+ S: 'min-h-[220px] py-3 px-3 flex gap-4',
37
+ XS: 'min-h-[108px] py-3 px-3 flex gap-4',
41
38
  };
42
39
  this.thumbnailSizeClassMap = {
43
- L: 'w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
40
+ L: 'w-full md:w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
44
41
  M: 'w-[110px] h-[140px] rounded-lg overflow-hidden shrink-0',
45
42
  S: 'hidden',
46
43
  XS: 'hidden',
47
44
  };
48
45
  this.titleClassMap = {
49
- L: 'text-xl line-clamp-2',
46
+ L: 'text-xl line-clamp-1',
50
47
  M: 'text-base line-clamp-2',
51
- S: 'text-base line-clamp-3',
52
- XS: 'text-base mt-3 line-clamp-2',
48
+ S: 'text-base line-clamp-3 ml-2',
49
+ XS: 'text-base line-clamp-1 ml-2',
53
50
  };
54
51
  }
55
52
  ngOnInit() {
56
53
  this.abstract = removeWhitespace(stripHtml(this.record?.abstract));
57
- this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe((event) => {
58
- event.preventDefault();
59
- propagateToDocumentOnly(event);
60
- this.mdSelect.emit(this.record);
61
- }));
62
- }
63
- get organization() {
64
- return this.record.ownerOrganization;
65
- }
66
- get contacts() {
67
- return ((this.record.kind === 'dataset'
68
- ? this.record.contactsForResource
69
- : this.record.contacts) || []);
54
+ this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe(() => this.mdSelect.emit(this.record)));
70
55
  }
71
56
  getTitleClass() {
72
- return (this.titleClassMap[this._size] +
73
- ' ' +
74
- (this.record.ownerOrganization?.name ? '' : 'mt-3') || '');
57
+ return this.titleClassMap[this._size];
75
58
  }
76
- openExternalUrl(event, url) {
77
- event.stopPropagation();
78
- window.open(url, '_blank');
59
+ getAbstractClass() {
60
+ const marginClass = ['S', 'XS'].includes(this.size) ? 'ml-2' : '';
61
+ const clampClass = this.size === 'L' && !this.record.ownerOrganization?.name
62
+ ? 'line-clamp-6'
63
+ : 'line-clamp-2';
64
+ return `${clampClass} ${marginClass}`.trim();
79
65
  }
80
- openMailto(event, email) {
81
- event.stopPropagation();
82
- window.open(`mailto:${email}`, '_blank');
83
- }
84
- copyToClipboard(event, text) {
85
- event.stopPropagation();
86
- navigator.clipboard.writeText(text);
66
+ displayAbstract() {
67
+ return (this.size === 'L' ||
68
+ (['M', 'S'].includes(this.size) && !this.record.ownerOrganization?.name));
87
69
  }
88
70
  get shouldShowThumbnail() {
89
71
  return this.size === 'L' || this.size === 'M';
90
72
  }
91
- getKindInfo() {
92
- if (!this.record?.kind)
93
- return { text: '', icon: '' };
94
- switch (this.record.kind.toLowerCase()) {
95
- case 'dataset':
96
- return { text: 'record.kind.data', icon: 'iconoirDatabase' };
97
- case 'reuse':
98
- return { text: 'record.kind.reuse', icon: 'iconoirMap' };
99
- case 'service':
100
- return { text: 'record.kind.service', icon: 'matCode' };
101
- default:
102
- return { text: '', icon: '' };
103
- }
104
- }
105
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", linkHref: "linkHref", isGeodata: "isGeodata", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", linkTarget: "linkTarget", linkHref: "linkHref", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
107
75
  provideIcons({
108
- matLocationSearchingOutline,
109
- matCode,
110
- iconoirDatabase,
111
- iconoirMap,
112
76
  iconoirInternet,
113
- matEmailOutline,
114
- matPhoneOutline,
115
- matLocationOnOutline,
77
+ matLocationSearchingOutline,
116
78
  }),
117
79
  provideNgIconsConfig({
118
80
  size: '1.2em',
119
81
  }),
120
- ], ngImport: i0, template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
82
+ ], ngImport: i0, template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3 w-0\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"displayAbstract()\"\n class=\"mr-6 text-xs text-gray-900 overflow-hidden\"\n [ngClass]=\"getAbstractClass()\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <gn-ui-internal-link-card-contact\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n [record]=\"record\"\n [size]=\"size\"\n ></gn-ui-internal-link-card-contact>\n </div>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GeoDataBadgeComponent, selector: "gn-ui-geo-data-badge", inputs: ["showLabel", "styling", "record"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: InternalLinkCardContactComponent, selector: "gn-ui-internal-link-card-contact", inputs: ["record", "size"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
121
83
  }
122
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
123
85
  type: Component,
124
86
  args: [{ selector: 'gn-ui-internal-link-card', standalone: true, imports: [
125
87
  NgClass,
126
88
  NgIf,
127
- ThumbnailComponent,
128
89
  MetadataQualityComponent,
129
90
  NgTemplateOutlet,
130
- NgIconComponent,
131
- TranslateModule,
91
+ GeoDataBadgeComponent,
92
+ KindBadgeComponent,
132
93
  MarkdownParserComponent,
94
+ InternalLinkCardContactComponent,
95
+ ThumbnailComponent,
133
96
  ], providers: [
134
97
  provideIcons({
135
- matLocationSearchingOutline,
136
- matCode,
137
- iconoirDatabase,
138
- iconoirMap,
139
98
  iconoirInternet,
140
- matEmailOutline,
141
- matPhoneOutline,
142
- matLocationOnOutline,
99
+ matLocationSearchingOutline,
143
100
  }),
144
101
  provideNgIconsConfig({
145
102
  size: '1.2em',
146
103
  }),
147
- ], template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
104
+ ], template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3 w-0\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"displayAbstract()\"\n class=\"mr-6 text-xs text-gray-900 overflow-hidden\"\n [ngClass]=\"getAbstractClass()\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <gn-ui-internal-link-card-contact\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n [record]=\"record\"\n [size]=\"size\"\n ></gn-ui-internal-link-card-contact>\n </div>\n </div>\n </div>\n</a>\n" }]
148
105
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
149
106
  type: Input
150
- }], metadataQualityDisplay: [{
151
- type: Input
152
- }], favoriteTemplate: [{
107
+ }], linkTarget: [{
153
108
  type: Input
154
109
  }], linkHref: [{
155
110
  type: Input
156
- }], isGeodata: [{
111
+ }], metadataQualityDisplay: [{
112
+ type: Input
113
+ }], favoriteTemplate: [{
157
114
  type: Input
158
115
  }], size: [{
159
116
  type: Input
160
117
  }], mdSelect: [{
161
118
  type: Output
162
119
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLFNBQVMsR0FDVixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsR0FDckIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxF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QixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIOytFQUtRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxJQUFJO3NCQUFoQixLQUFLO2dCQVFJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBwcm9wYWdhdGVUb0RvY3VtZW50T25seSxcbiAgcmVtb3ZlV2hpdGVzcGFjZSxcbiAgc3RyaXBIdG1sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gIG1hdEVtYWlsT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBtYXRDb2RlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgaWNvbm9pckRhdGFiYXNlLCBpY29ub2lyTWFwLCBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbm1hcmtlcigncmVjb3JkLmtpbmQuZGF0YScpXG5tYXJrZXIoJ3JlY29yZC5raW5kLnJldXNlJylcbm1hcmtlcigncmVjb3JkLmtpbmQuc2VydmljZScpXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gICAgICBtYXRDb2RlLFxuICAgICAgaWNvbm9pckRhdGFiYXNlLFxuICAgICAgaWNvbm9pck1hcCxcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdEVtYWlsT3V0bGluZSxcbiAgICAgIG1hdFBob25lT3V0bGluZSxcbiAgICAgIG1hdExvY2F0aW9uT25PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgZmF2b3JpdGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IENhdGFsb2dSZWNvcmQgfT5cbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgaXNHZW9kYXRhOiBib29sZWFuXG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBDYXJkU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZVxuICAgIHRoaXMuY2FyZENsYXNzID0gdGhpcy5zaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICcnXG4gICAgdGhpcy50aHVtYm5haWxDb250YWluZXJDbGFzcyA9IHRoaXMudGh1bWJuYWlsU2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnaGlkZGVuJ1xuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG5cbiAgY2FyZENsYXNzID0gJydcbiAgdGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSAnJ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ00nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAnbWluLWgtWzE5MHB4XSBtZDp3LVs5OTJweF0gcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTUnLFxuICAgIE06ICdtaW4taC1bMTQwcHhdIG1kOnctWzU3MHB4XSBweS0zIHB4LTMgZmxleCBpdGVtcy1zdGFydCBnYXAtNCcsXG4gICAgUzogJ21pbi1oLVsyMjBweF0gbWQ6dy1bMzcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgICBYUzogJ21pbi1oLVsxMDhweF0gbWQ6dy1bNTcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3ctWzE5MHB4XSBoLVsxODBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAnLFxuICAgIE06ICd3LVsxMTBweF0gaC1bMTQwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBTOiAnaGlkZGVuJyxcbiAgICBYUzogJ2hpZGRlbicsXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAndGV4dC14bCBsaW5lLWNsYW1wLTInLFxuICAgIE06ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0yJyxcbiAgICBTOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMycsXG4gICAgWFM6ICd0ZXh0LWJhc2UgbXQtMyBsaW5lLWNsYW1wLTInLFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoXG4gICAgICAgIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gICAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgZ2V0IG9yZ2FuaXphdGlvbigpOiBPcmdhbml6YXRpb24ge1xuICAgIHJldHVybiB0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IGNvbnRhY3RzKCkge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5yZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnXG4gICAgICAgID8gdGhpcy5yZWNvcmQuY29udGFjdHNGb3JSZXNvdXJjZVxuICAgICAgICA6IHRoaXMucmVjb3JkLmNvbnRhY3RzKSB8fCBbXVxuICAgIClcbiAgfVxuXG4gIGdldFRpdGxlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudGl0bGVDbGFzc01hcFt0aGlzLl9zaXplXSArXG4gICAgICAgICcgJyArXG4gICAgICAgICh0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSA/ICcnIDogJ210LTMnKSB8fCAnJ1xuICAgIClcbiAgfVxuXG4gIG9wZW5FeHRlcm5hbFVybChldmVudDogRXZlbnQsIHVybDogVVJMKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgb3Blbk1haWx0byhldmVudDogRXZlbnQsIGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKGBtYWlsdG86JHtlbWFpbH1gLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG5cbiAgZ2V0S2luZEluZm8oKTogeyB0ZXh0OiBzdHJpbmc7IGljb246IHN0cmluZyB9IHtcbiAgICBpZiAoIXRoaXMucmVjb3JkPy5raW5kKSByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuXG4gICAgc3dpdGNoICh0aGlzLnJlY29yZC5raW5kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RhdGFzZXQnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuZGF0YScsIGljb246ICdpY29ub2lyRGF0YWJhc2UnIH1cbiAgICAgIGNhc2UgJ3JldXNlJzpcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogJ3JlY29yZC5raW5kLnJldXNlJywgaWNvbjogJ2ljb25vaXJNYXAnIH1cbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuc2VydmljZScsIGljb246ICdtYXRDb2RlJyB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInJvdW5kZWQtbGcgZ3JvdXAgY2FyZC1zaGFkb3cgY3Vyc29yLXBvaW50ZXIgb3ZlcmZsb3ctaGlkZGVuIGhvdmVyOmJnLWdyYXktNTBcIlxuICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaG91bGRTaG93VGh1bWJuYWlsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgIGNsYXNzPVwibXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICA+XG4gICAgICA8Z24tdWktdGh1bWJuYWlsXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgICAgW2ZpdF09XCInY292ZXInXCJcbiAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC0xIHJlbGF0aXZlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2p1c3RpZnktYmV0d2Vlbic6IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSAmJiBzaXplICE9PSAnWFMnLFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiZ2V0S2luZEluZm8oKS50ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LXdoaXRlIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnkgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC13aGl0ZSBtci0xXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImdldEtpbmRJbmZvKCkuaWNvblwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtd2hpdGUgdGV4dC14c1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIHt7IGdldEtpbmRJbmZvKCkudGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNHZW9kYXRhXCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LWJsYWNrIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnktd2hpdGUgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwic2l6ZSA9PT0gJ0wnID8gJ3ctWzE2NHB4XScgOiAndy04J1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC1wcmltYXJ5LWRhcmtlc3RcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZSA9PT0gJ0wnXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeS1kYXJrZXN0IHRleHQteHMgbWwtMVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICByZWNvcmQubWV0YWRhdGEudHlwZVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5XG4gICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttZXRhZGF0YV09XCJyZWNvcmRcIlxuICAgICAgICAgICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gICAgICAgICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwic2l6ZSAhPT0gJ1hTJ1wiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeSBvdmVyZmxvdy1oaWRkZW4gYnJlYWstd29yZHNcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRUaXRsZUNsYXNzKClcIlxuICAgICAgPlxuICAgICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgIGNsYXNzPVwibXQtMSBtYi0yIGZvbnQtbm9ybWFsIHRleHQteHMgdGV4dC1ncmF5LTkwMCBsaW5lLWNsYW1wLTIgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgW3doaXRvdXRTdHlsZXNdPVwidHJ1ZVwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgIT09ICdYUycgJiYgcmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgaC1bNTNweF0gcHgtMlwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgbWluLXctMFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidy1bNDVweF0gaC1bNDVweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAgbXItM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgICAgICBbdGh1bWJuYWlsVXJsXT1cIlxuICAgICAgICAgICAgICAgIHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubG9nb1VybD8udG9TdHJpbmcoKSB8fCAnJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZml0XT1cIidjb250YWluJ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCByb3VuZGVkLWxnXCJcbiAgICAgICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy5uYW1lXCIgY2xhc3M9XCJmbGV4LTEgdy0wIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ibGFjayBmb250LW5vcm1hbCBsZWFkaW5nLXRpZ2h0IHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHJlY29yZC5jYXJkLm1ldGFkYXRhLmNvbnRhY3RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteGwgdGV4dC1wcmltYXJ5LWJsYWNrIGZvbnQtbWVkaXVtIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaXplID09PSAnTCdcIiBjbGFzcz1cIm1sLTIgZmxleCBzcGFjZS14LTJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy53ZWJzaXRlXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJvcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lySW50ZXJuZXRcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1haWx0bygkZXZlbnQsIGNvbnRhY3RzWzBdLmVtYWlsKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5waG9uZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0UGhvbmVPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRMb2NhdGlvbk9uT3V0bGluZVwiPjwvbmctaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUE7QUFDckgsT0FB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TyxJQUFJO3NCQUFoQixLQUFLO2dCQVFJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgR2VvRGF0YUJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLWRhdGEtYmFkZ2UvZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgS2luZEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4va2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyByZW1vdmVXaGl0ZXNwYWNlLCBzdHJpcEh0bWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHsgSW50ZXJuYWxMaW5rQ2FyZENvbnRhY3RDb21wb25lbnQgfSBmcm9tICcuLi9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcblxudHlwZSBDYXJkU2l6ZSA9ICdMJyB8ICdNJyB8ICdTJyB8ICdYUydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJuYWwtbGluay1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBHZW9EYXRhQmFkZ2VDb21wb25lbnQsXG4gICAgS2luZEJhZGdlQ29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIEludGVybmFsTGlua0NhcmRDb250YWN0Q29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS4yZW0nLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlY29yZDogQ2F0YWxvZ1JlY29yZFxuICBASW5wdXQoKSBsaW5rVGFyZ2V0ID0gJ19ibGFuaydcbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuICBASW5wdXQoKSBmYXZvcml0ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogQ2F0YWxvZ1JlY29yZCB9PlxuICBASW5wdXQoKSBzZXQgc2l6ZSh2YWx1ZTogQ2FyZFNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWVcbiAgICB0aGlzLmNhcmRDbGFzcyA9IHRoaXMuc2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnJ1xuICAgIHRoaXMudGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSB0aGlzLnRodW1ibmFpbFNpemVDbGFzc01hcFt2YWx1ZV0gfHwgJ2hpZGRlbidcbiAgfVxuICBnZXQgc2l6ZSgpOiBDYXJkU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemVcbiAgfVxuICBAT3V0cHV0KCkgbWRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmQ+KClcbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgYWJzdHJhY3Q6IHN0cmluZ1xuXG4gIGNhcmRDbGFzcyA9ICcnXG4gIHRodW1ibmFpbENvbnRhaW5lckNsYXNzID0gJydcblxuICBwcml2YXRlIF9zaXplOiBDYXJkU2l6ZSA9ICdNJ1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ21pbi1oLVsxOTBweF0gdy1mdWxsIHB5LTMgcHgtMyBmbGV4IGl0ZW1zLXN0YXJ0IGdhcC01JyxcbiAgICBNOiAnbWluLWgtWzE0MHB4XSBweS0zIHB4LTMgZmxleCBpdGVtcy1zdGFydCBnYXAtNCcsXG4gICAgUzogJ21pbi1oLVsyMjBweF0gcHktMyBweC0zIGZsZXggZ2FwLTQnLFxuICAgIFhTOiAnbWluLWgtWzEwOHB4XSBweS0zIHB4LTMgZmxleCBnYXAtNCcsXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRodW1ibmFpbFNpemVDbGFzc01hcDogUmVjb3JkPENhcmRTaXplLCBzdHJpbmc+ID0ge1xuICAgIEw6ICd3LWZ1bGwgbWQ6dy1bMTkwcHhdIGgtWzE4MHB4XSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaHJpbmstMCcsXG4gICAgTTogJ3ctWzExMHB4XSBoLVsxNDBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAnLFxuICAgIFM6ICdoaWRkZW4nLFxuICAgIFhTOiAnaGlkZGVuJyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVDbGFzc01hcDogUmVjb3JkPENhcmRTaXplLCBzdHJpbmc+ID0ge1xuICAgIEw6ICd0ZXh0LXhsIGxpbmUtY2xhbXAtMScsXG4gICAgTTogJ3RleHQtYmFzZSBsaW5lLWNsYW1wLTInLFxuICAgIFM6ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0zIG1sLTInLFxuICAgIFhTOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMSBtbC0yJyxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWJzdHJhY3QgPSByZW1vdmVXaGl0ZXNwYWNlKHN0cmlwSHRtbCh0aGlzLnJlY29yZD8uYWJzdHJhY3QpKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMubWRTZWxlY3QuZW1pdCh0aGlzLnJlY29yZClcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXRUaXRsZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQ2xhc3NNYXBbdGhpcy5fc2l6ZV1cbiAgfVxuICBnZXRBYnN0cmFjdENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFyZ2luQ2xhc3MgPSBbJ1MnLCAnWFMnXS5pbmNsdWRlcyh0aGlzLnNpemUpID8gJ21sLTInIDogJydcbiAgICBjb25zdCBjbGFtcENsYXNzID1cbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ0wnICYmICF0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZVxuICAgICAgICA/ICdsaW5lLWNsYW1wLTYnXG4gICAgICAgIDogJ2xpbmUtY2xhbXAtMidcbiAgICByZXR1cm4gYCR7Y2xhbXBDbGFzc30gJHttYXJnaW5DbGFzc31gLnRyaW0oKVxuICB9XG4gIGRpc3BsYXlBYnN0cmFjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zaXplID09PSAnTCcgfHxcbiAgICAgIChbJ00nLCAnUyddLmluY2x1ZGVzKHRoaXMuc2l6ZSkgJiYgIXRoaXMucmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lKVxuICAgIClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG59XG4iLCI8YSBbYXR0ci5ocmVmXT1cImxpbmtIcmVmXCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdyb3VwIHJvdW5kZWQtbWQgYmctd2hpdGUgaG92ZXI6Y3Vyc29yLXBvaW50ZXIgaG92ZXI6Ymctc2xhdGUtNTAgb3ZlcmZsb3ctaGlkZGVuIHctZnVsbFwiXG4gICAgW25nQ2xhc3NdPVwiY2FyZENsYXNzXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpnYXAtMCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZsZXgtd3JhcCBtZDpmbGV4LW5vd3JhcCBnYXAtMyc6IHNpemUgPT09ICdMJyB9XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvdWxkU2hvd1RodW1ibmFpbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgICAgY2xhc3M9XCJib3JkZXIgbXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgIFt0aHVtYm5haWxVcmxdPVwicmVjb3JkLm92ZXJ2aWV3cz8uWzBdPy51cmw/LnRvU3RyaW5nKCkgfHwgJydcIlxuICAgICAgICAgIFtmaXRdPVwiJ2NvdmVyJ1wiXG4gICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LWNvbCBnYXAtMyB3LTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8Z24tdWkta2luZC1iYWRnZVxuICAgICAgICAgICAgICBbc3R5bGluZ109XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgICBba2luZF09XCJyZWNvcmQ/LmtpbmRcIlxuICAgICAgICAgICAgPjwvZ24tdWkta2luZC1iYWRnZT5cbiAgICAgICAgICAgIDxnbi11aS1nZW8tZGF0YS1iYWRnZVxuICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgICAgICAgIFtzdHlsaW5nXT1cIidsaWdodCdcIlxuICAgICAgICAgICAgICBbcmVjb3JkXT1cInJlY29yZFwiXG4gICAgICAgICAgICA+PC9nbi11aS1nZW8tZGF0YS1iYWRnZT5cbiAgICAgICAgICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW21ldGFkYXRhXT1cInJlY29yZFwiXG4gICAgICAgICAgICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2l6ZSAhPT0gJ1hTJ1wiIGRhdGEtY3k9XCJyZWNvcmRGYXZcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmF2b3JpdGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicmVjb3JkLnRpdGxlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgY2xhc3M9XCJtci02IG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFRpdGxlQ2xhc3MoKVwiXG4gICAgICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRUaXRsZVwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJyZWNvcmQudGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5QWJzdHJhY3QoKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTYgdGV4dC14cyB0ZXh0LWdyYXktOTAwIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRBYnN0cmFjdENsYXNzKClcIlxuICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZEFic3RyYWN0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgICAgIFt3aGl0b3V0U3R5bGVzXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8Z24tdWktaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3RcbiAgICAgICAgICAqbmdJZj1cInNpemUgIT09ICdYUycgJiYgcmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgICBbcmVjb3JkXT1cInJlY29yZFwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgID48L2duLXVpLWludGVybmFsLWxpbmstY2FyZC1jb250YWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19
@@ -0,0 +1,58 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NgIf } from '@angular/common';
3
+ import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
4
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
5
+ import { matEmailOutline, matLocationOnOutline, matPhoneOutline, } from '@ng-icons/material-icons/outline';
6
+ import { iconoirInternet } from '@ng-icons/iconoir';
7
+ import { TranslateDirective } from '@ngx-translate/core';
8
+ import * as i0 from "@angular/core";
9
+ export class InternalLinkCardContactComponent {
10
+ constructor() {
11
+ this.size = 'M';
12
+ }
13
+ get organization() {
14
+ return this.record.ownerOrganization;
15
+ }
16
+ get contacts() {
17
+ return ((this.record.kind === 'dataset'
18
+ ? this.record.contactsForResource
19
+ : this.record.contacts) || []);
20
+ }
21
+ openExternalUrl(event, url) {
22
+ event.stopPropagation();
23
+ window.open(url, '_blank');
24
+ }
25
+ openMailto(event, email) {
26
+ event.stopPropagation();
27
+ window.open(`mailto:${email}`, '_blank');
28
+ }
29
+ copyToClipboard(event, text) {
30
+ event.stopPropagation();
31
+ navigator.clipboard.writeText(text);
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardContactComponent, isStandalone: true, selector: "gn-ui-internal-link-card-contact", inputs: { record: "record", size: "size" }, providers: [
35
+ provideIcons({
36
+ iconoirInternet,
37
+ matEmailOutline,
38
+ matPhoneOutline,
39
+ matLocationOnOutline,
40
+ }),
41
+ ], ngImport: i0, template: "<div\n data-cy=\"recordOrg\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n>\n <div class=\"flex items-center flex-1 min-w-0\">\n <div class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\">\n <gn-ui-thumbnail\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString() || ''\"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardContactComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'gn-ui-internal-link-card-contact', standalone: true, imports: [NgIf, ThumbnailComponent, NgIconComponent, TranslateDirective], providers: [
46
+ provideIcons({
47
+ iconoirInternet,
48
+ matEmailOutline,
49
+ matPhoneOutline,
50
+ matLocationOnOutline,
51
+ }),
52
+ ], template: "<div\n data-cy=\"recordOrg\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n>\n <div class=\"flex items-center flex-1 min-w-0\">\n <div class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\">\n <gn-ui-thumbnail\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString() || ''\"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n</div>\n" }]
53
+ }], propDecorators: { record: [{
54
+ type: Input
55
+ }], size: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0L2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFLdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixlQUFlLEdBQ2hCLE1BQU0sa0NBQWtDLENBQUE7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOztBQWdCeEQsTUFBTSxPQUFPLGdDQUFnQztJQWQ3QztRQWdCVyxTQUFJLEdBQTJCLEdBQUcsQ0FBQTtLQTRCNUM7SUExQkMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0lBQ3RDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQ2hDLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVksRUFBRSxHQUFRO1FBQ3BDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVksRUFBRSxLQUFhO1FBQ3BDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZLEVBQUUsSUFBWTtRQUN4QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckMsQ0FBQzsrR0E3QlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsMkhBVmhDO1lBQ1QsWUFBWSxDQUFDO2dCQUNYLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZixlQUFlO2dCQUNmLG9CQUFvQjthQUNyQixDQUFDO1NBQ0gsMEJDM0JILG91RkFxRUEsNENEbERZLElBQUksNkZBQUUsa0JBQWtCLDRIQUFFLGVBQWUsNkdBQUUsa0JBQWtCOzs0RkFXNUQsZ0NBQWdDO2tCQWQ1QyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLGFBQzdEO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxlQUFlOzRCQUNmLGVBQWU7NEJBQ2YsZUFBZTs0QkFDZixvQkFBb0I7eUJBQ3JCLENBQUM7cUJBQ0g7OEJBSVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHtcbiAgbWF0RW1haWxPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxufSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IGljb25vaXJJbnRlcm5ldCB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgVGh1bWJuYWlsQ29tcG9uZW50LCBOZ0ljb25Db21wb25lbnQsIFRyYW5zbGF0ZURpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lySW50ZXJuZXQsXG4gICAgICBtYXRFbWFpbE91dGxpbmUsXG4gICAgICBtYXRQaG9uZU91dGxpbmUsXG4gICAgICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxMaW5rQ2FyZENvbnRhY3RDb21wb25lbnQge1xuICBASW5wdXQoKSByZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgQElucHV0KCkgc2l6ZTogJ0wnIHwgJ00nIHwgJ1MnIHwgJ1hTJyA9ICdNJ1xuXG4gIGdldCBvcmdhbml6YXRpb24oKTogT3JnYW5pemF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmQub3duZXJPcmdhbml6YXRpb25cbiAgfVxuXG4gIGdldCBjb250YWN0cygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMucmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICA/IHRoaXMucmVjb3JkLmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgOiB0aGlzLnJlY29yZC5jb250YWN0cykgfHwgW11cbiAgICApXG4gIH1cblxuICBvcGVuRXh0ZXJuYWxVcmwoZXZlbnQ6IEV2ZW50LCB1cmw6IFVSTCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIG9wZW5NYWlsdG8oZXZlbnQ6IEV2ZW50LCBlbWFpbDogc3RyaW5nKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3BlbihgbWFpbHRvOiR7ZW1haWx9YCwgJ19ibGFuaycpXG4gIH1cblxuICBjb3B5VG9DbGlwYm9hcmQoZXZlbnQ6IEV2ZW50LCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpXG4gIH1cbn1cbiIsIjxkaXZcbiAgZGF0YS1jeT1cInJlY29yZE9yZ1wiXG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1ldmVubHkgYmctZ3JheS01MCByb3VuZGVkLWxnIGgtWzUzcHhdIHB4LTJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC0xIG1pbi13LTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwidy1bNDVweF0gaC1bNDVweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAgbXItM1wiPlxuICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubG9nb1VybD8udG9TdHJpbmcoKSB8fCAnJ1wiXG4gICAgICAgIFtmaXRdPVwiJ2NvbnRhaW4nXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIHJvdW5kZWQtbGdcIlxuICAgICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJvcmdhbml6YXRpb24/Lm5hbWVcIiBjbGFzcz1cImZsZXgtMSB3LTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWJsYWNrIGZvbnQtbm9ybWFsIGxlYWRpbmctdGlnaHQgdHJ1bmNhdGVcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgcmVjb3JkLmNhcmQubWV0YWRhdGEuY29udGFjdFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGRhdGEtY3k9XCJyZWNvcmRPcmdOYW1lXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXhsIHRleHQtcHJpbWFyeS1ibGFjayBmb250LW1lZGl1bSB0cnVuY2F0ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaXplID09PSAnTCdcIiBjbGFzcz1cIm1sLTIgZmxleCBzcGFjZS14LTJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy53ZWJzaXRlXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJvcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lySW50ZXJuZXRcIj48L25nLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAoY2xpY2spPVwib3Blbk1haWx0bygkZXZlbnQsIGNvbnRhY3RzWzBdLmVtYWlsKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5waG9uZSlcIlxuICAgICAgPlxuICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0UGhvbmVPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRMb2NhdGlvbk9uT3V0bGluZVwiPjwvbmctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,65 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, TemplateRef, } from '@angular/core';
3
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
4
+ import { iconoirAppleShortcuts, iconoirAppleWallet, iconoirCode, iconoirCreditCard, } from '@ng-icons/iconoir';
5
+ import { TranslatePipe } from '@ngx-translate/core';
6
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ marker('record.kind.dataset');
10
+ marker('record.kind.reuse');
11
+ marker('record.kind.service');
12
+ var KindConfig;
13
+ (function (KindConfig) {
14
+ KindConfig["all"] = "iconoirAppleWallet";
15
+ KindConfig["dataset"] = "iconoirAppleShortcuts";
16
+ KindConfig["service"] = "iconoirCode";
17
+ KindConfig["reuse"] = "iconoirCreditCard";
18
+ })(KindConfig || (KindConfig = {}));
19
+ export class KindBadgeComponent {
20
+ constructor() {
21
+ this.styling = 'default';
22
+ this.hasProjectedContent = false;
23
+ }
24
+ get iconKind() {
25
+ return KindConfig[this.kind] || KindConfig.dataset;
26
+ }
27
+ get badgeClasses() {
28
+ const baseClasses = 'badge-btn text-white text-xs px-2 font-bold shrink-0 flex items-center h-6 min-h-6';
29
+ switch (this.styling) {
30
+ case 'outline':
31
+ return `${baseClasses} bg-transparent border border-white py-1.5`;
32
+ case 'default':
33
+ return `${baseClasses} bg-primary py-0.5`;
34
+ default:
35
+ return 'flex items-center';
36
+ }
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KindBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KindBadgeComponent, isStandalone: true, selector: "gn-ui-kind-badge", inputs: { styling: "styling", contentTemplate: "contentTemplate", kind: "kind" }, ngImport: i0, template: "<div [class]=\"badgeClasses\" *ngIf=\"kind\">\n <ng-icon [name]=\"iconKind\" class=\"mr-1 text-[0.85em]\"></ng-icon>\n\n <ng-container *ngIf=\"contentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultContent>\n {{ 'record.kind.' + kind | translate }}\n</ng-template>\n", styles: [":host gn-ui-badge ng-icon{font-size:1.2rem;width:1.2rem;height:1.2rem;transform:translateY(-2px)}\n"], dependencies: [{ kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
40
+ provideIcons({
41
+ iconoirAppleWallet,
42
+ iconoirAppleShortcuts,
43
+ iconoirCode,
44
+ iconoirCreditCard,
45
+ }),
46
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KindBadgeComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'gn-ui-kind-badge', viewProviders: [
51
+ provideIcons({
52
+ iconoirAppleWallet,
53
+ iconoirAppleShortcuts,
54
+ iconoirCode,
55
+ iconoirCreditCard,
56
+ }),
57
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIconComponent, CommonModule, TranslatePipe], template: "<div [class]=\"badgeClasses\" *ngIf=\"kind\">\n <ng-icon [name]=\"iconKind\" class=\"mr-1 text-[0.85em]\"></ng-icon>\n\n <ng-container *ngIf=\"contentTemplate; else defaultContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultContent>\n {{ 'record.kind.' + kind | translate }}\n</ng-template>\n", styles: [":host gn-ui-badge ng-icon{font-size:1.2rem;width:1.2rem;height:1.2rem;transform:translateY(-2px)}\n"] }]
58
+ }], propDecorators: { styling: [{
59
+ type: Input
60
+ }], contentTemplate: [{
61
+ type: Input
62
+ }], kind: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZC1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIva2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9raW5kLWJhZGdlL2tpbmQtYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7O0FBRWhFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBQzdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0FBQzNCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBRTdCLElBQUssVUFLSjtBQUxELFdBQUssVUFBVTtJQUNiLHdDQUEwQixDQUFBO0lBQzFCLCtDQUFpQyxDQUFBO0lBQ2pDLHFDQUF1QixDQUFBO0lBQ3ZCLHlDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFMSSxVQUFVLEtBQVYsVUFBVSxRQUtkO0FBa0JELE1BQU0sT0FBTyxrQkFBa0I7SUFoQi9CO1FBaUJXLFlBQU8sR0FBRyxTQUFTLENBQUE7UUFJNUIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO0tBbUI1QjtJQWpCQyxJQUFJLFFBQVE7UUFDVixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQTtJQUNwRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsTUFBTSxXQUFXLEdBQ2Ysb0ZBQW9GLENBQUE7UUFFdEYsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sR0FBRyxXQUFXLDRDQUE0QyxDQUFBO1lBQ25FLEtBQUssU0FBUztnQkFDWixPQUFPLEdBQUcsV0FBVyxvQkFBb0IsQ0FBQTtZQUMzQztnQkFDRSxPQUFPLG1CQUFtQixDQUFBO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQXZCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4SkM1Qy9CLDRYQVdBLDZKRCtCWSxlQUFlLDRHQUFFLFlBQVkscVNBQUUsYUFBYSx1Q0FWdkM7WUFDYixZQUFZLENBQUM7Z0JBQ1gsa0JBQWtCO2dCQUNsQixxQkFBcUI7Z0JBQ3JCLFdBQVc7Z0JBQ1gsaUJBQWlCO2FBQ2xCLENBQUM7U0FDSDs7NEZBS1Usa0JBQWtCO2tCQWhCOUIsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2I7d0JBQ2IsWUFBWSxDQUFDOzRCQUNYLGtCQUFrQjs0QkFDbEIscUJBQXFCOzRCQUNyQixXQUFXOzRCQUNYLGlCQUFpQjt5QkFDbEIsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQzs4QkFHOUMsT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdJY29uQ29tcG9uZW50LCBwcm92aWRlSWNvbnMgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7XG4gIGljb25vaXJBcHBsZVNob3J0Y3V0cyxcbiAgaWNvbm9pckFwcGxlV2FsbGV0LFxuICBpY29ub2lyQ29kZSxcbiAgaWNvbm9pckNyZWRpdENhcmQsXG59IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5cbm1hcmtlcigncmVjb3JkLmtpbmQuZGF0YXNldCcpXG5tYXJrZXIoJ3JlY29yZC5raW5kLnJldXNlJylcbm1hcmtlcigncmVjb3JkLmtpbmQuc2VydmljZScpXG5cbmVudW0gS2luZENvbmZpZyB7XG4gIGFsbCA9ICdpY29ub2lyQXBwbGVXYWxsZXQnLCAvLyAodGhpcyBvbmUgaXMgZm9yIGZpbHRlcilcbiAgZGF0YXNldCA9ICdpY29ub2lyQXBwbGVTaG9ydGN1dHMnLFxuICBzZXJ2aWNlID0gJ2ljb25vaXJDb2RlJyxcbiAgcmV1c2UgPSAnaWNvbm9pckNyZWRpdENhcmQnLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1raW5kLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2tpbmQtYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9raW5kLWJhZGdlLmNvbXBvbmVudC5jc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lyQXBwbGVXYWxsZXQsXG4gICAgICBpY29ub2lyQXBwbGVTaG9ydGN1dHMsXG4gICAgICBpY29ub2lyQ29kZSxcbiAgICAgIGljb25vaXJDcmVkaXRDYXJkLFxuICAgIH0pLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWNvbkNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgS2luZEJhZGdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3R5bGluZyA9ICdkZWZhdWx0J1xuICBASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+XG4gIEBJbnB1dCgpIGtpbmQ6IHN0cmluZ1xuXG4gIGhhc1Byb2plY3RlZENvbnRlbnQgPSBmYWxzZVxuXG4gIGdldCBpY29uS2luZCgpIHtcbiAgICByZXR1cm4gS2luZENvbmZpZ1t0aGlzLmtpbmRdIHx8IEtpbmRDb25maWcuZGF0YXNldFxuICB9XG5cbiAgZ2V0IGJhZGdlQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzID1cbiAgICAgICdiYWRnZS1idG4gdGV4dC13aGl0ZSB0ZXh0LXhzIHB4LTIgZm9udC1ib2xkIHNocmluay0wIGZsZXggaXRlbXMtY2VudGVyIGgtNiBtaW4taC02J1xuXG4gICAgc3dpdGNoICh0aGlzLnN0eWxpbmcpIHtcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9IGJnLXRyYW5zcGFyZW50IGJvcmRlciBib3JkZXItd2hpdGUgcHktMS41YFxuICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgIHJldHVybiBgJHtiYXNlQ2xhc3Nlc30gYmctcHJpbWFyeSBweS0wLjVgXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2ZsZXggaXRlbXMtY2VudGVyJ1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmFkZ2VDbGFzc2VzXCIgKm5nSWY9XCJraW5kXCI+XG4gIDxuZy1pY29uIFtuYW1lXT1cImljb25LaW5kXCIgY2xhc3M9XCJtci0xIHRleHQtWzAuODVlbV1cIj48L25nLWljb24+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0Q29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29udGVudD5cbiAge3sgJ3JlY29yZC5raW5kLicgKyBraW5kIHwgdHJhbnNsYXRlIH19XG48L25nLXRlbXBsYXRlPlxuIl19