geonetwork-ui 2.6.0-dev.3a78a5eaa → 2.6.0-dev.492bf4497

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 (441) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +9 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  8. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
  9. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +5 -2
  10. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  11. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  12. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +49 -9
  13. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  14. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +33 -2
  15. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +29 -6
  16. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  17. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +18 -0
  18. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  19. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  21. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
  22. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +2 -4
  23. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  24. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  25. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  26. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  27. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  28. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  29. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +75 -18
  30. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  32. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +11 -15
  33. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  34. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  35. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  36. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  37. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  38. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  39. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  40. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  41. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  42. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  43. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  44. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  45. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  46. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  47. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  48. package/esm2022/libs/ui/elements/src/index.mjs +5 -1
  49. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  50. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  51. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  52. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  54. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
  55. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  56. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  57. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  58. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  59. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  60. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  61. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +51 -0
  62. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  63. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -4
  64. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  65. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  66. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  67. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  68. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  69. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  70. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  71. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  72. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  73. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  74. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  75. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  76. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  77. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  78. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  79. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  80. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  81. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +107 -0
  82. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  83. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  84. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  85. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +14 -3
  86. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +5 -1
  87. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  88. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  89. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  90. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  91. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  92. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  93. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  94. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  95. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  96. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  97. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +6 -2
  98. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +4 -1
  99. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +30 -2
  100. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  101. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  102. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  103. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +36 -24
  104. package/esm2022/translations/de.json +50 -4
  105. package/esm2022/translations/en.json +53 -5
  106. package/esm2022/translations/es.json +50 -4
  107. package/esm2022/translations/fr.json +53 -5
  108. package/esm2022/translations/it.json +50 -5
  109. package/esm2022/translations/nl.json +50 -4
  110. package/esm2022/translations/pt.json +50 -4
  111. package/fesm2022/geonetwork-ui.mjs +2259 -665
  112. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  113. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  114. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  115. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  116. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  117. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  118. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  119. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  120. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  121. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  122. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  123. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +10 -3
  124. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  125. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  126. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  127. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  128. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  129. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +6 -3
  130. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  131. package/libs/feature/editor/src/index.d.ts +1 -0
  132. package/libs/feature/editor/src/index.d.ts.map +1 -1
  133. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +7 -0
  134. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  135. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  136. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  137. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  138. 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
  139. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  140. package/libs/feature/record/src/index.d.ts +0 -1
  141. package/libs/feature/record/src/index.d.ts.map +1 -1
  142. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  143. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  144. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  145. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  146. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  147. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  148. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  149. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  150. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -2
  151. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  152. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  153. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  154. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  155. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +26 -21
  156. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  157. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  158. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  159. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  160. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  161. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  162. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  163. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  164. package/libs/feature/search/src/index.d.ts +1 -1
  165. package/libs/feature/search/src/index.d.ts.map +1 -1
  166. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  167. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  168. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  169. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  170. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  171. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  172. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  173. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  174. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  175. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  176. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  177. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  178. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  179. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  180. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  181. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  182. package/libs/ui/elements/src/index.d.ts +4 -0
  183. package/libs/ui/elements/src/index.d.ts.map +1 -1
  184. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  185. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  186. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  187. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  188. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  189. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  190. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  191. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  192. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -0
  193. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  194. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  195. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  196. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  197. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  198. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  199. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +16 -0
  200. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  201. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  202. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  203. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +4 -1
  204. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  205. package/libs/ui/inputs/src/index.d.ts +2 -1
  206. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  207. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  208. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  209. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  210. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  211. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  212. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  213. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  214. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  215. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  216. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  217. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  218. package/libs/ui/layout/src/index.d.ts +1 -0
  219. package/libs/ui/layout/src/index.d.ts.map +1 -1
  220. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  221. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  222. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  223. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  224. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  225. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  226. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  227. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  228. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +27 -0
  229. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  230. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  231. package/libs/ui/map/src/index.d.ts +1 -0
  232. package/libs/ui/map/src/index.d.ts.map +1 -1
  233. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  234. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  235. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +4 -2
  236. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
  237. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -1
  238. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  239. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  240. package/libs/ui/search/src/index.d.ts +1 -0
  241. package/libs/ui/search/src/index.d.ts.map +1 -1
  242. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  243. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  244. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  245. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  246. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  247. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  248. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  249. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  250. package/libs/util/data-fetcher/src/lib/model.d.ts +3 -2
  251. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  252. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +1 -0
  253. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  254. package/libs/util/shared/src/index.d.ts +1 -0
  255. package/libs/util/shared/src/index.d.ts.map +1 -1
  256. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  257. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  258. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  259. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  260. package/libs/util/shared/src/lib/links/link-utils.d.ts +30 -23
  261. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  262. package/package.json +2 -2
  263. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  264. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  265. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  266. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  267. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  268. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  269. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  270. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  271. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +9 -2
  272. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  273. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  274. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  275. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +4 -1
  276. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  277. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +15 -4
  278. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
  279. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
  280. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  281. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +13 -9
  282. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +58 -10
  283. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +38 -0
  284. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +11 -8
  285. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +31 -1
  286. package/src/libs/feature/editor/src/index.ts +1 -0
  287. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +14 -0
  288. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +15 -0
  289. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  290. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  291. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  292. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  293. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -3
  294. package/src/libs/feature/record/src/index.ts +0 -1
  295. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
  296. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  297. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  298. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  299. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  300. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  301. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +26 -16
  302. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +76 -11
  303. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  304. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  305. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +17 -17
  306. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  307. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  308. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  309. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  310. package/src/libs/feature/search/src/index.ts +1 -1
  311. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  312. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  313. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  314. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  315. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  316. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  317. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  318. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  319. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  320. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  321. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  322. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  323. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  324. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  325. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  326. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  327. package/src/libs/ui/elements/src/index.ts +4 -0
  328. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  329. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  330. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +21 -18
  331. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  332. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +42 -10
  333. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  334. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  335. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  336. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  337. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  338. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  339. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +9 -0
  340. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
  341. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +30 -29
  342. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +28 -2
  343. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  344. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  345. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  346. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  347. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  348. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +3 -2
  349. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  350. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +48 -0
  351. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +52 -0
  352. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  353. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  354. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  355. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +9 -1
  356. package/src/libs/ui/inputs/src/index.ts +2 -1
  357. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  358. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  359. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  360. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  361. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  362. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  363. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  364. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  365. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  366. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +6 -6
  367. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  368. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  369. package/src/libs/ui/layout/src/index.ts +1 -0
  370. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  371. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  372. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  373. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  374. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -5
  375. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  376. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  377. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  378. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  379. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  380. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  381. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  382. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  383. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +44 -0
  384. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +130 -0
  385. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
  386. package/src/libs/ui/map/src/index.ts +1 -0
  387. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  388. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  389. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +14 -0
  390. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +3 -0
  391. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  392. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  393. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
  394. package/src/libs/ui/search/src/index.ts +1 -0
  395. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  396. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +24 -0
  397. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  398. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  399. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  400. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  401. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  402. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
  403. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  404. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  405. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +3 -1
  406. package/src/libs/util/data-fetcher/src/lib/model.ts +11 -1
  407. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +29 -3
  408. package/src/libs/util/shared/src/index.ts +1 -0
  409. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  410. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
  411. package/src/libs/util/shared/src/lib/links/link-utils.ts +53 -30
  412. package/tailwind.base.config.js +3 -0
  413. package/tailwind.base.css +39 -13
  414. package/translations/de.json +50 -4
  415. package/translations/en.json +53 -5
  416. package/translations/es.json +50 -4
  417. package/translations/fr.json +53 -5
  418. package/translations/it.json +50 -5
  419. package/translations/nl.json +50 -4
  420. package/translations/pt.json +50 -4
  421. package/translations/sk.json +50 -4
  422. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  423. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  424. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  425. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  426. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  427. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  428. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  429. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  430. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  431. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  432. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  433. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  434. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  435. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  436. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  437. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  438. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  439. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  440. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  441. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
@@ -4,18 +4,43 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  const geometryKeys = ['geometry', 'the_geom'];
6
6
  export class FeatureDetailComponent {
7
+ constructor() {
8
+ this._featureAttributes = [];
9
+ }
10
+ set featureCatalog(value) {
11
+ if (value)
12
+ this._featureAttributes = value.featureTypes[0].attributes;
13
+ }
7
14
  get properties() {
8
15
  if (!this.feature)
9
16
  return [];
10
- return Object.keys(this.feature.properties).filter((prop) => !geometryKeys.includes(prop));
17
+ return this.setProperties();
18
+ }
19
+ setProperties() {
20
+ const properties = Object.keys(this.feature.properties)
21
+ .filter((p) => !geometryKeys.includes(p))
22
+ .reduce((acc, p) => {
23
+ let key = p;
24
+ if (this._featureAttributes.length) {
25
+ const matchingAttribute = this._featureAttributes.find((attr) => attr.name === p);
26
+ if (matchingAttribute && matchingAttribute.code) {
27
+ key = matchingAttribute.code;
28
+ }
29
+ }
30
+ acc[key] = this.feature.properties[p];
31
+ return acc;
32
+ }, {});
33
+ return properties;
11
34
  }
12
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureDetailComponent, isStandalone: true, selector: "gn-ui-feature-detail", inputs: { feature: "feature" }, ngImport: i0, template: "<div *ngIf=\"feature\" class=\"root\">\n <div class=\"property\" *ngFor=\"let propName of properties\">\n <div>{{ propName }}</div>\n <div class=\"font-bold\">{{ feature.properties[propName] }}</div>\n </div>\n</div>\n", styles: [".property{border-bottom:1px solid #f2f2f2;padding-bottom:.625rem;margin-bottom:.625rem;font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureDetailComponent, isStandalone: true, selector: "gn-ui-feature-detail", inputs: { feature: "feature", featureCatalog: "featureCatalog" }, ngImport: i0, template: "<div *ngIf=\"feature\" class=\"root\">\n <div class=\"property\" *ngFor=\"let prop of properties | keyvalue\">\n <div>{{ prop.key }}</div>\n <div class=\"font-bold\">{{ prop.value }}</div>\n </div>\n</div>\n", styles: [".property{border-bottom:1px solid #f2f2f2;padding-bottom:.625rem;margin-bottom:.625rem;font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
37
  }
15
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureDetailComponent, decorators: [{
16
39
  type: Component,
17
- args: [{ selector: 'gn-ui-feature-detail', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div *ngIf=\"feature\" class=\"root\">\n <div class=\"property\" *ngFor=\"let propName of properties\">\n <div>{{ propName }}</div>\n <div class=\"font-bold\">{{ feature.properties[propName] }}</div>\n </div>\n</div>\n", styles: [".property{border-bottom:1px solid #f2f2f2;padding-bottom:.625rem;margin-bottom:.625rem;font-size:.75rem}\n"] }]
40
+ args: [{ selector: 'gn-ui-feature-detail', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div *ngIf=\"feature\" class=\"root\">\n <div class=\"property\" *ngFor=\"let prop of properties | keyvalue\">\n <div>{{ prop.key }}</div>\n <div class=\"font-bold\">{{ prop.value }}</div>\n </div>\n</div>\n", styles: [".property{border-bottom:1px solid #f2f2f2;padding-bottom:.625rem;margin-bottom:.625rem;font-size:.75rem}\n"] }]
18
41
  }], propDecorators: { feature: [{
19
42
  type: Input
43
+ }], featureCatalog: [{
44
+ type: Input
20
45
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjL2xpYi9jb21wb25lbnRzL2ZlYXR1cmUtZGV0YWlsL2ZlYXR1cmUtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9mZWF0dXJlLWRldGFpbC9mZWF0dXJlLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQUc5QyxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQVU3QyxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLElBQUksVUFBVTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFBO1FBQzVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FBQTtJQUNILENBQUM7K0dBUlUsc0JBQXNCO21HQUF0QixzQkFBc0IsZ0hDZG5DLG9PQU1BLG1LRE1ZLFlBQVk7OzRGQUVYLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBR2QsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcblxuY29uc3QgZ2VvbWV0cnlLZXlzID0gWydnZW9tZXRyeScsICd0aGVfZ2VvbSddXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZlYXR1cmUtZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlYXR1cmUtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1kZXRhaWwuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxDb21wb25lbnQge1xuICBASW5wdXQoKSBmZWF0dXJlOiBGZWF0dXJlXG5cbiAgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHJldHVybiBbXVxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmZlYXR1cmUucHJvcGVydGllcykuZmlsdGVyKFxuICAgICAgKHByb3ApID0+ICFnZW9tZXRyeUtleXMuaW5jbHVkZXMocHJvcClcbiAgICApXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJmZWF0dXJlXCIgY2xhc3M9XCJyb290XCI+XG4gIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eVwiICpuZ0Zvcj1cImxldCBwcm9wTmFtZSBvZiBwcm9wZXJ0aWVzXCI+XG4gICAgPGRpdj57eyBwcm9wTmFtZSB9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBmZWF0dXJlLnByb3BlcnRpZXNbcHJvcE5hbWVdIH19PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjL2xpYi9jb21wb25lbnRzL2ZlYXR1cmUtZGV0YWlsL2ZlYXR1cmUtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9mZWF0dXJlLWRldGFpbC9mZWF0dXJlLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQUk5QyxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQVU3QyxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBVUUsdUJBQWtCLEdBQUcsRUFBRSxDQUFBO0tBOEJ4QjtJQTdCQyxJQUFhLGNBQWMsQ0FBQyxLQUE0QjtRQUN0RCxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDdkUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFBO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzthQUNwRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFBO1lBQ1gsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25DLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDcEQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUMxQixDQUFBO2dCQUVELElBQUksaUJBQWlCLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2hELEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUE7Z0JBQzlCLENBQUM7WUFDSCxDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3JDLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRVIsT0FBTyxVQUFVLENBQUE7SUFDbkIsQ0FBQzsrR0EvQlUsc0JBQXNCO21HQUF0QixzQkFBc0Isa0pDZm5DLHlOQU1BLG1LRE9ZLFlBQVk7OzRGQUVYLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBR2QsT0FBTztzQkFBZixLQUFLO2dCQUVPLGNBQWM7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmUgfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgRGF0YXNldEZlYXR1cmVDYXRhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5jb25zdCBnZW9tZXRyeUtleXMgPSBbJ2dlb21ldHJ5JywgJ3RoZV9nZW9tJ11cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZmVhdHVyZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWRldGFpbC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZURldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZlYXR1cmU6IEZlYXR1cmVcbiAgX2ZlYXR1cmVBdHRyaWJ1dGVzID0gW11cbiAgQElucHV0KCkgc2V0IGZlYXR1cmVDYXRhbG9nKHZhbHVlOiBEYXRhc2V0RmVhdHVyZUNhdGFsb2cpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuX2ZlYXR1cmVBdHRyaWJ1dGVzID0gdmFsdWUuZmVhdHVyZVR5cGVzWzBdLmF0dHJpYnV0ZXNcbiAgfVxuXG4gIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIGlmICghdGhpcy5mZWF0dXJlKSByZXR1cm4gW11cbiAgICByZXR1cm4gdGhpcy5zZXRQcm9wZXJ0aWVzKClcbiAgfVxuXG4gIHNldFByb3BlcnRpZXMoKSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5rZXlzKHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKVxuICAgICAgLmZpbHRlcigocCkgPT4gIWdlb21ldHJ5S2V5cy5pbmNsdWRlcyhwKSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgcCkgPT4ge1xuICAgICAgICBsZXQga2V5ID0gcFxuICAgICAgICBpZiAodGhpcy5fZmVhdHVyZUF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hpbmdBdHRyaWJ1dGUgPSB0aGlzLl9mZWF0dXJlQXR0cmlidXRlcy5maW5kKFxuICAgICAgICAgICAgKGF0dHIpID0+IGF0dHIubmFtZSA9PT0gcFxuICAgICAgICAgIClcblxuICAgICAgICAgIGlmIChtYXRjaGluZ0F0dHJpYnV0ZSAmJiBtYXRjaGluZ0F0dHJpYnV0ZS5jb2RlKSB7XG4gICAgICAgICAgICBrZXkgPSBtYXRjaGluZ0F0dHJpYnV0ZS5jb2RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFjY1trZXldID0gdGhpcy5mZWF0dXJlLnByb3BlcnRpZXNbcF1cbiAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgfSwge30pXG5cbiAgICByZXR1cm4gcHJvcGVydGllc1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZmVhdHVyZVwiIGNsYXNzPVwicm9vdFwiPlxuICA8ZGl2IGNsYXNzPVwicHJvcGVydHlcIiAqbmdGb3I9XCJsZXQgcHJvcCBvZiBwcm9wZXJ0aWVzIHwga2V5dmFsdWVcIj5cbiAgICA8ZGl2Pnt7IHByb3Aua2V5IH19PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb3AudmFsdWUgfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -3,7 +3,7 @@ import { fromEvent, merge, of, timer } from 'rxjs';
3
3
  import { delay, map, startWith, switchMap } from 'rxjs/operators';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { TranslateModule } from '@ngx-translate/core';
6
- import { computeMapContextDiff, FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, } from '@geospatial-sdk/core';
6
+ import { computeMapContextDiff, FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, SourceLoadErrorType, } from '@geospatial-sdk/core';
7
7
  import { applyContextDiffToMap, createMapFromContext, listen, } from '@geospatial-sdk/openlayers';
8
8
  import { BASEMAP_LAYERS, DO_NOT_USE_DEFAULT_BASEMAP, MAP_VIEW_CONSTRAINTS, } from './map-settings.token';
9
9
  import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
@@ -48,6 +48,15 @@ export class MapContainerComponent {
48
48
  }
49
49
  return this._mapClick;
50
50
  }
51
+ get sourceLoadError() {
52
+ if (!this._sourceLoadError) {
53
+ this.openlayersMap.then((olMap) => {
54
+ listen(olMap, SourceLoadErrorType, (error) => this._sourceLoadError.emit(error));
55
+ });
56
+ this._sourceLoadError = new EventEmitter();
57
+ }
58
+ return this._sourceLoadError;
59
+ }
51
60
  constructor(doNotUseDefaultBasemap, basemapLayers, mapViewConstraints) {
52
61
  this.doNotUseDefaultBasemap = doNotUseDefaultBasemap;
53
62
  this.basemapLayers = basemapLayers;
@@ -108,7 +117,7 @@ export class MapContainerComponent {
108
117
  return processed;
109
118
  }
110
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapContainerComponent, deps: [{ token: DO_NOT_USE_DEFAULT_BASEMAP }, { token: BASEMAP_LAYERS }, { token: MAP_VIEW_CONSTRAINTS }], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapContainerComponent, isStandalone: true, selector: "gn-ui-map-container", inputs: { context: "context" }, outputs: { featuresClick: "featuresClick", featuresHover: "featuresHover", mapClick: "mapClick" }, providers: [
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapContainerComponent, isStandalone: true, selector: "gn-ui-map-container", inputs: { context: "context" }, outputs: { featuresClick: "featuresClick", featuresHover: "featuresHover", mapClick: "mapClick", sourceLoadError: "sourceLoadError" }, providers: [
112
121
  provideIcons({ matSwipeOutline }),
113
122
  provideNgIconsConfig({
114
123
  size: '1.5em',
@@ -140,8 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
140
149
  type: Output
141
150
  }], mapClick: [{
142
151
  type: Output
152
+ }], sourceLoadError: [{
153
+ type: Output
143
154
  }], container: [{
144
155
  type: ViewChild,
145
156
  args: ['map']
146
157
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWNvbnRhaW5lci9tYXAtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtY29udGFpbmVyL21hcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBR3JCLHNCQUFzQixFQUV0QixzQkFBc0IsRUFFdEIsaUJBQWlCLEdBS2xCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsTUFBTSxHQUNQLE1BQU0sNEJBQTRCLENBQUE7QUFHbkMsT0FBTyxFQUNMLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsb0JBQW9CLEdBQ3JCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZ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Q0FyRHJCLE9BQU87c0JBQWYsS0FBSztnQkFJUSxhQUFhO3NCQUExQixNQUFNO2dCQWVPLGFBQWE7c0JBQTFCLE1BQU07Z0JBZU8sUUFBUTtzQkFBckIsTUFBTTtnQkFZVyxTQUFTO3NCQUExQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgdGltZXIgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGVsYXksIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBjb21wdXRlTWFwQ29udGV4dERpZmYsXG4gIEV4dGVudCxcbiAgRmVhdHVyZXNDbGlja0V2ZW50LFxuICBGZWF0dXJlc0NsaWNrRXZlbnRUeXBlLFxuICBGZWF0dXJlc0hvdmVyRXZlbnQsXG4gIEZlYXR1cmVzSG92ZXJFdmVudFR5cGUsXG4gIE1hcENsaWNrRXZlbnQsXG4gIE1hcENsaWNrRXZlbnRUeXBlLFxuICBNYXBDb250ZXh0LFxuICBNYXBDb250ZXh0TGF5ZXIsXG4gIE1hcENvbnRleHRMYXllclh5eixcbiAgTWFwQ29udGV4dFZpZXcsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgYXBwbHlDb250ZXh0RGlmZlRvTWFwLFxuICBjcmVhdGVNYXBGcm9tQ29udGV4dCxcbiAgbGlzdGVuLFxufSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvb3BlbmxheWVycydcbmltcG9ydCB0eXBlIE9sTWFwIGZyb20gJ29sL01hcCdcbmltcG9ydCB0eXBlIHsgRmVhdHVyZSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQge1xuICBCQVNFTUFQX0xBWUVSUyxcbiAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVAsXG4gIE1BUF9WSUVXX0NPTlNUUkFJTlRTLFxufSBmcm9tICcuL21hcC1zZXR0aW5ncy50b2tlbidcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRTd2lwZU91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcblxuY29uc3QgREVGQVVMVF9CQVNFTUFQX0xBWUVSOiBNYXBDb250ZXh0TGF5ZXJYeXogPSB7XG4gIHR5cGU6ICd4eXonLFxuICB1cmw6IGBodHRwczovL3thLWN9LmJhc2VtYXBzLmNhcnRvY2RuLmNvbS9yYXN0ZXJ0aWxlcy92b3lhZ2VyL3t6fS97eH0ve3l9LnBuZ2AsXG4gIGF0dHJpYnV0aW9uczogYDxzcGFuPsKpIDxhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgwqkgPGEgaHJlZj1cImh0dHBzOi8vY2FydG8uY29tL1wiPkNhcnRvPC9hPjwvc3Bhbj5gLFxufVxuXG5jb25zdCBERUZBVUxUX1ZJRVc6IE1hcENvbnRleHRWaWV3ID0ge1xuICBjZW50ZXI6IFswLCAxNV0sXG4gIHpvb206IDIsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1jb250YWluZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBOZ0ljb25Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoeyBtYXRTd2lwZU91dGxpbmUgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNWVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29udGV4dDogTWFwQ29udGV4dCB8IG51bGxcblxuICAvLyB0aGVzZSBldmVudHMgb25seSBnZXQgcmVnaXN0ZXJlZCBvbiB0aGUgbWFwIGlmIHRoZXkgYXJlIHVzZWRcbiAgX2ZlYXR1cmVzQ2xpY2s6IEV2ZW50RW1pdHRlcjxGZWF0dXJlW10+XG4gIEBPdXRwdXQoKSBnZXQgZmVhdHVyZXNDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuX2ZlYXR1cmVzQ2xpY2spIHtcbiAgICAgIHRoaXMub3BlbmxheWVyc01hcC50aGVuKChvbE1hcCkgPT4ge1xuICAgICAgICBsaXN0ZW4oXG4gICAgICAgICAgb2xNYXAsXG4gICAgICAgICAgRmVhdHVyZXNDbGlja0V2ZW50VHlwZSxcbiAgICAgICAgICAoeyBmZWF0dXJlcyB9OiBGZWF0dXJlc0NsaWNrRXZlbnQpID0+XG4gICAgICAgICAgICB0aGlzLl9mZWF0dXJlc0NsaWNrLmVtaXQoZmVhdHVyZXMpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9mZWF0dXJlc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlW10+KClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVzQ2xpY2tcbiAgfVxuICBfZmVhdHVyZXNIb3ZlcjogRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT5cbiAgQE91dHB1dCgpIGdldCBmZWF0dXJlc0hvdmVyKCkge1xuICAgIGlmICghdGhpcy5fZmVhdHVyZXNIb3Zlcikge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihcbiAgICAgICAgICBvbE1hcCxcbiAgICAgICAgICBGZWF0dXJlc0hvdmVyRXZlbnRUeXBlLFxuICAgICAgICAgICh7IGZlYXR1cmVzIH06IEZlYXR1cmVzSG92ZXJFdmVudCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2ZlYXR1cmVzSG92ZXIuZW1pdChmZWF0dXJlcylcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX2ZlYXR1cmVzSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZXNIb3ZlclxuICB9XG4gIF9tYXBDbGljazogRXZlbnRFbWl0dGVyPFtudW1iZXIsIG51bWJlcl0+XG4gIEBPdXRwdXQoKSBnZXQgbWFwQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXBDbGljaykge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihvbE1hcCwgTWFwQ2xpY2tFdmVudFR5cGUsICh7IGNvb3JkaW5hdGUgfTogTWFwQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICB0aGlzLl9tYXBDbGljay5lbWl0KGNvb3JkaW5hdGUpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9tYXBDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbWFwQ2xpY2tcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ21hcCcpIGNvbnRhaW5lcjogRWxlbWVudFJlZlxuICBkaXNwbGF5TWVzc2FnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgb2xNYXA6IE9sTWFwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCkgcHJpdmF0ZSBkb05vdFVzZURlZmF1bHRCYXNlbWFwOiBib29sZWFuLFxuICAgIEBJbmplY3QoQkFTRU1BUF9MQVlFUlMpIHByaXZhdGUgYmFzZW1hcExheWVyczogTWFwQ29udGV4dExheWVyW10sXG4gICAgQEluamVjdChNQVBfVklFV19DT05TVFJBSU5UUylcbiAgICBwcml2YXRlIG1hcFZpZXdDb25zdHJhaW50czoge1xuICAgICAgbWF4Wm9vbT86IG51bWJlclxuICAgICAgbWF4RXh0ZW50PzogRXh0ZW50XG4gICAgfVxuICApIHt9XG5cbiAgcHJpdmF0ZSBvbE1hcFJlc29sdmVyXG4gIG9wZW5sYXllcnNNYXAgPSBuZXcgUHJvbWlzZTxPbE1hcD4oKHJlc29sdmUpID0+IHtcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIgPSByZXNvbHZlXG4gIH0pXG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub2xNYXAgPSBhd2FpdCBjcmVhdGVNYXBGcm9tQ29udGV4dChcbiAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQodGhpcy5jb250ZXh0KSxcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICApXG4gICAgdGhpcy5kaXNwbGF5TWVzc2FnZSQgPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh0aGlzLm9sTWFwLCAnbWFwbXV0ZWQnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ21vdmVzdGFydCcpLnBpcGUobWFwKCgpID0+IGZhbHNlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ3NpbmdsZWNsaWNrJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKVxuICAgICkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobXV0ZWQpID0+XG4gICAgICAgIG11dGVkXG4gICAgICAgICAgPyB0aW1lcigyMDAwKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICAgIGRlbGF5KDQwMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG9mKGZhbHNlKVxuICAgICAgKVxuICAgIClcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIodGhpcy5vbE1hcClcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMgJiYgIWNoYW5nZXNbJ2NvbnRleHQnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBjb21wdXRlTWFwQ29udGV4dERpZmYoXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLmN1cnJlbnRWYWx1ZSksXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLnByZXZpb3VzVmFsdWUpXG4gICAgICApXG4gICAgICBhd2FpdCBhcHBseUNvbnRleHREaWZmVG9NYXAodGhpcy5vbE1hcCwgZGlmZilcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgYXBwbHkgYmFzZW1hcCBsYXllcnMgJiB2aWV3IGNvbnN0cmFpbnRzXG4gIHByb2Nlc3NDb250ZXh0KGNvbnRleHQ6IE1hcENvbnRleHQpOiBNYXBDb250ZXh0IHtcbiAgICBjb25zdCBwcm9jZXNzZWQgPSBjb250ZXh0XG4gICAgICA/IHsgLi4uY29udGV4dCwgdmlldzogY29udGV4dC52aWV3ID8/IERFRkFVTFRfVklFVyB9XG4gICAgICA6IHsgbGF5ZXJzOiBbXSwgdmlldzogREVGQVVMVF9WSUVXIH1cbiAgICBpZiAodGhpcy5iYXNlbWFwTGF5ZXJzLmxlbmd0aCkge1xuICAgICAgcHJvY2Vzc2VkLmxheWVycyA9IFsuLi50aGlzLmJhc2VtYXBMYXllcnMsIC4uLnByb2Nlc3NlZC5sYXllcnNdXG4gICAgfVxuICAgIGlmICghdGhpcy5kb05vdFVzZURlZmF1bHRCYXNlbWFwKSB7XG4gICAgICBwcm9jZXNzZWQubGF5ZXJzID0gW0RFRkFVTFRfQkFTRU1BUF9MQVlFUiwgLi4ucHJvY2Vzc2VkLmxheWVyc11cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heFpvb20pIHtcbiAgICAgIHByb2Nlc3NlZC52aWV3ID0ge1xuICAgICAgICBtYXhab29tOiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhab29tLFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heEV4dGVudCkge1xuICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgIG1heEV4dGVudDogdGhpcy5tYXBWaWV3Q29uc3RyYWludHMubWF4RXh0ZW50LFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzc2VkLnZpZXcgJiZcbiAgICAgICEoJ3pvb20nIGluIHByb2Nlc3NlZC52aWV3KSAmJlxuICAgICAgISgnY2VudGVyJyBpbiBwcm9jZXNzZWQudmlldylcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQpIHtcbiAgICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgICAgZXh0ZW50OiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQsXG4gICAgICAgICAgLi4ucHJvY2Vzc2VkLnZpZXcsXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3NlZC52aWV3ID0geyAuLi5ERUZBVUxUX1ZJRVcsIC4uLnByb2Nlc3NlZC52aWV3IH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NlZFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbFwiICNtYXA+PC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBwLTIgcm91bmRlZCB6LTQwIHRyYW5zaXRpb24tYWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHRleHQtcHJpbWFyeSBmb250LXNhbnMgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIChkaXNwbGF5TWVzc2FnZSQgfCBhc3luYykgPyAndmlzaWJsZSBvcGFjaXR5LTEwMCcgOiAnaW52aXNpYmxlIG9wYWNpdHktMCdcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgei1bLTFdIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXByaW1hcnktbGlnaHRlc3Qgb3BhY2l0eS02MFwiXG4gID48L2Rpdj5cbiAgPG5nLWljb25cbiAgICBjbGFzcz1cIiF3LTE2ICFoLTE2IHRleHQtWzY0cHhdIG1iLTRcIlxuICAgIG5hbWU9XCJtYXRTd2lwZU91dGxpbmVcIlxuICA+PC9uZy1pY29uPlxuICA8cCB0cmFuc2xhdGU+bWFwLm5hdmlnYXRpb24ubWVzc2FnZTwvcD5cbjwvZGl2PlxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWNvbnRhaW5lci9tYXAtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtY29udGFpbmVyL21hcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBR3JCLHNCQUFzQixFQUV0QixzQkFBc0IsRUFFdEIsaUJBQWlCLEVBTWpCLG1CQUFtQixHQUNwQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLE1BQU0sR0FDUCxNQUFNLDRCQUE0QixDQUFBO0FBR25DLE9BQU8sRUFDTCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCxl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QUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNILGlKQzNFSCwwakJBZ0JBLHlERHFEWSxZQUFZLGlMQUFFLGVBQWUsc0tBQUUsZUFBZTs7NEZBUTdDLHFCQUFxQjtrQkFkakMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxhQUM5Qzt3QkFDVCxZQUFZLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQzt3QkFDakMsb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7OzBCQWtFRSxNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsb0JBQW9CO3lDQWpFckIsT0FBTztzQkFBZixLQUFLO2dCQUlRLGFBQWE7c0JBQTFCLE1BQU07Z0JBZU8sYUFBYTtzQkFBMUIsTUFBTTtnQkFlTyxRQUFRO3NCQUFyQixNQUFNO2dCQVlPLGVBQWU7c0JBQTVCLE1BQU07Z0JBWVcsU0FBUztzQkFBMUIsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgY29tcHV0ZU1hcENvbnRleHREaWZmLFxuICBFeHRlbnQsXG4gIEZlYXR1cmVzQ2xpY2tFdmVudCxcbiAgRmVhdHVyZXNDbGlja0V2ZW50VHlwZSxcbiAgRmVhdHVyZXNIb3ZlckV2ZW50LFxuICBGZWF0dXJlc0hvdmVyRXZlbnRUeXBlLFxuICBNYXBDbGlja0V2ZW50LFxuICBNYXBDbGlja0V2ZW50VHlwZSxcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxuICBNYXBDb250ZXh0TGF5ZXJYeXosXG4gIE1hcENvbnRleHRWaWV3LFxuICBTb3VyY2VMb2FkRXJyb3JFdmVudCxcbiAgU291cmNlTG9hZEVycm9yVHlwZSxcbn0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBhcHBseUNvbnRleHREaWZmVG9NYXAsXG4gIGNyZWF0ZU1hcEZyb21Db250ZXh0LFxuICBsaXN0ZW4sXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9vcGVubGF5ZXJzJ1xuaW1wb3J0IHR5cGUgT2xNYXAgZnJvbSAnb2wvTWFwJ1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7XG4gIEJBU0VNQVBfTEFZRVJTLFxuICBET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCxcbiAgTUFQX1ZJRVdfQ09OU1RSQUlOVFMsXG59IGZyb20gJy4vbWFwLXNldHRpbmdzLnRva2VuJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdFN3aXBlT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuXG5jb25zdCBERUZBVUxUX0JBU0VNQVBfTEFZRVI6IE1hcENvbnRleHRMYXllclh5eiA9IHtcbiAgdHlwZTogJ3h5eicsXG4gIHVybDogYGh0dHBzOi8ve2EtY30uYmFzZW1hcHMuY2FydG9jZG4uY29tL3Jhc3RlcnRpbGVzL3ZveWFnZXIve3p9L3t4fS97eX0ucG5nYCxcbiAgYXR0cmlidXRpb25zOiBgPHNwYW4+wqkgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCDCqSA8YSBocmVmPVwiaHR0cHM6Ly9jYXJ0by5jb20vXCI+Q2FydG88L2E+PC9zcGFuPmAsXG59XG5cbmNvbnN0IERFRkFVTFRfVklFVzogTWFwQ29udGV4dFZpZXcgPSB7XG4gIGNlbnRlcjogWzAsIDE1XSxcbiAgem9vbTogMixcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLWNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE5nSWNvbkNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IG1hdFN3aXBlT3V0bGluZSB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb250ZXh0OiBNYXBDb250ZXh0IHwgbnVsbFxuXG4gIC8vIHRoZXNlIGV2ZW50cyBvbmx5IGdldCByZWdpc3RlcmVkIG9uIHRoZSBtYXAgaWYgdGhleSBhcmUgdXNlZFxuICBfZmVhdHVyZXNDbGljazogRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT5cbiAgQE91dHB1dCgpIGdldCBmZWF0dXJlc0NsaWNrKCkge1xuICAgIGlmICghdGhpcy5fZmVhdHVyZXNDbGljaykge1xuICAgICAgdGhpcy5vcGVubGF5ZXJzTWFwLnRoZW4oKG9sTWFwKSA9PiB7XG4gICAgICAgIGxpc3RlbihcbiAgICAgICAgICBvbE1hcCxcbiAgICAgICAgICBGZWF0dXJlc0NsaWNrRXZlbnRUeXBlLFxuICAgICAgICAgICh7IGZlYXR1cmVzIH06IEZlYXR1cmVzQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2ZlYXR1cmVzQ2xpY2suZW1pdChmZWF0dXJlcylcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX2ZlYXR1cmVzQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT4oKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZXNDbGlja1xuICB9XG4gIF9mZWF0dXJlc0hvdmVyOiBFdmVudEVtaXR0ZXI8RmVhdHVyZVtdPlxuICBAT3V0cHV0KCkgZ2V0IGZlYXR1cmVzSG92ZXIoKSB7XG4gICAgaWYgKCF0aGlzLl9mZWF0dXJlc0hvdmVyKSB7XG4gICAgICB0aGlzLm9wZW5sYXllcnNNYXAudGhlbigob2xNYXApID0+IHtcbiAgICAgICAgbGlzdGVuKFxuICAgICAgICAgIG9sTWFwLFxuICAgICAgICAgIEZlYXR1cmVzSG92ZXJFdmVudFR5cGUsXG4gICAgICAgICAgKHsgZmVhdHVyZXMgfTogRmVhdHVyZXNIb3ZlckV2ZW50KSA9PlxuICAgICAgICAgICAgdGhpcy5fZmVhdHVyZXNIb3Zlci5lbWl0KGZlYXR1cmVzKVxuICAgICAgICApXG4gICAgICB9KVxuICAgICAgdGhpcy5fZmVhdHVyZXNIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZVtdPigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlc0hvdmVyXG4gIH1cbiAgX21hcENsaWNrOiBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT5cbiAgQE91dHB1dCgpIGdldCBtYXBDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuX21hcENsaWNrKSB7XG4gICAgICB0aGlzLm9wZW5sYXllcnNNYXAudGhlbigob2xNYXApID0+IHtcbiAgICAgICAgbGlzdGVuKG9sTWFwLCBNYXBDbGlja0V2ZW50VHlwZSwgKHsgY29vcmRpbmF0ZSB9OiBNYXBDbGlja0V2ZW50KSA9PlxuICAgICAgICAgIHRoaXMuX21hcENsaWNrLmVtaXQoY29vcmRpbmF0ZSlcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX21hcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxbbnVtYmVyLCBudW1iZXJdPigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tYXBDbGlja1xuICB9XG4gIF9zb3VyY2VMb2FkRXJyb3I6IEV2ZW50RW1pdHRlcjxTb3VyY2VMb2FkRXJyb3JFdmVudD5cbiAgQE91dHB1dCgpIGdldCBzb3VyY2VMb2FkRXJyb3IoKSB7XG4gICAgaWYgKCF0aGlzLl9zb3VyY2VMb2FkRXJyb3IpIHtcbiAgICAgIHRoaXMub3BlbmxheWVyc01hcC50aGVuKChvbE1hcCkgPT4ge1xuICAgICAgICBsaXN0ZW4ob2xNYXAsIFNvdXJjZUxvYWRFcnJvclR5cGUsIChlcnJvcjogU291cmNlTG9hZEVycm9yRXZlbnQpID0+XG4gICAgICAgICAgdGhpcy5fc291cmNlTG9hZEVycm9yLmVtaXQoZXJyb3IpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9zb3VyY2VMb2FkRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPFNvdXJjZUxvYWRFcnJvckV2ZW50PigpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zb3VyY2VMb2FkRXJyb3JcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ21hcCcpIGNvbnRhaW5lcjogRWxlbWVudFJlZlxuICBkaXNwbGF5TWVzc2FnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgb2xNYXA6IE9sTWFwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUCkgcHJpdmF0ZSBkb05vdFVzZURlZmF1bHRCYXNlbWFwOiBib29sZWFuLFxuICAgIEBJbmplY3QoQkFTRU1BUF9MQVlFUlMpIHByaXZhdGUgYmFzZW1hcExheWVyczogTWFwQ29udGV4dExheWVyW10sXG4gICAgQEluamVjdChNQVBfVklFV19DT05TVFJBSU5UUylcbiAgICBwcml2YXRlIG1hcFZpZXdDb25zdHJhaW50czoge1xuICAgICAgbWF4Wm9vbT86IG51bWJlclxuICAgICAgbWF4RXh0ZW50PzogRXh0ZW50XG4gICAgfVxuICApIHt9XG5cbiAgcHJpdmF0ZSBvbE1hcFJlc29sdmVyXG4gIG9wZW5sYXllcnNNYXAgPSBuZXcgUHJvbWlzZTxPbE1hcD4oKHJlc29sdmUpID0+IHtcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIgPSByZXNvbHZlXG4gIH0pXG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub2xNYXAgPSBhd2FpdCBjcmVhdGVNYXBGcm9tQ29udGV4dChcbiAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQodGhpcy5jb250ZXh0KSxcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICApXG4gICAgdGhpcy5kaXNwbGF5TWVzc2FnZSQgPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh0aGlzLm9sTWFwLCAnbWFwbXV0ZWQnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ21vdmVzdGFydCcpLnBpcGUobWFwKCgpID0+IGZhbHNlKSksXG4gICAgICBmcm9tRXZlbnQodGhpcy5vbE1hcCwgJ3NpbmdsZWNsaWNrJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKVxuICAgICkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobXV0ZWQpID0+XG4gICAgICAgIG11dGVkXG4gICAgICAgICAgPyB0aW1lcigyMDAwKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICAgIGRlbGF5KDQwMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG9mKGZhbHNlKVxuICAgICAgKVxuICAgIClcbiAgICB0aGlzLm9sTWFwUmVzb2x2ZXIodGhpcy5vbE1hcClcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMgJiYgIWNoYW5nZXNbJ2NvbnRleHQnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBjb21wdXRlTWFwQ29udGV4dERpZmYoXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLmN1cnJlbnRWYWx1ZSksXG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbnRleHQoY2hhbmdlc1snY29udGV4dCddLnByZXZpb3VzVmFsdWUpXG4gICAgICApXG4gICAgICBhd2FpdCBhcHBseUNvbnRleHREaWZmVG9NYXAodGhpcy5vbE1hcCwgZGlmZilcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgYXBwbHkgYmFzZW1hcCBsYXllcnMgJiB2aWV3IGNvbnN0cmFpbnRzXG4gIHByb2Nlc3NDb250ZXh0KGNvbnRleHQ6IE1hcENvbnRleHQpOiBNYXBDb250ZXh0IHtcbiAgICBjb25zdCBwcm9jZXNzZWQgPSBjb250ZXh0XG4gICAgICA/IHsgLi4uY29udGV4dCwgdmlldzogY29udGV4dC52aWV3ID8/IERFRkFVTFRfVklFVyB9XG4gICAgICA6IHsgbGF5ZXJzOiBbXSwgdmlldzogREVGQVVMVF9WSUVXIH1cbiAgICBpZiAodGhpcy5iYXNlbWFwTGF5ZXJzLmxlbmd0aCkge1xuICAgICAgcHJvY2Vzc2VkLmxheWVycyA9IFsuLi50aGlzLmJhc2VtYXBMYXllcnMsIC4uLnByb2Nlc3NlZC5sYXllcnNdXG4gICAgfVxuICAgIGlmICghdGhpcy5kb05vdFVzZURlZmF1bHRCYXNlbWFwKSB7XG4gICAgICBwcm9jZXNzZWQubGF5ZXJzID0gW0RFRkFVTFRfQkFTRU1BUF9MQVlFUiwgLi4ucHJvY2Vzc2VkLmxheWVyc11cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heFpvb20pIHtcbiAgICAgIHByb2Nlc3NlZC52aWV3ID0ge1xuICAgICAgICBtYXhab29tOiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhab29tLFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWFwVmlld0NvbnN0cmFpbnRzLm1heEV4dGVudCkge1xuICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgIG1heEV4dGVudDogdGhpcy5tYXBWaWV3Q29uc3RyYWludHMubWF4RXh0ZW50LFxuICAgICAgICAuLi5wcm9jZXNzZWQudmlldyxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzc2VkLnZpZXcgJiZcbiAgICAgICEoJ3pvb20nIGluIHByb2Nlc3NlZC52aWV3KSAmJlxuICAgICAgISgnY2VudGVyJyBpbiBwcm9jZXNzZWQudmlldylcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQpIHtcbiAgICAgICAgcHJvY2Vzc2VkLnZpZXcgPSB7XG4gICAgICAgICAgZXh0ZW50OiB0aGlzLm1hcFZpZXdDb25zdHJhaW50cy5tYXhFeHRlbnQsXG4gICAgICAgICAgLi4ucHJvY2Vzc2VkLnZpZXcsXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3NlZC52aWV3ID0geyAuLi5ERUZBVUxUX1ZJRVcsIC4uLnByb2Nlc3NlZC52aWV3IH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NlZFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbFwiICNtYXA+PC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBwLTIgcm91bmRlZCB6LTQwIHRyYW5zaXRpb24tYWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHRleHQtcHJpbWFyeSBmb250LXNhbnMgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIChkaXNwbGF5TWVzc2FnZSQgfCBhc3luYykgPyAndmlzaWJsZSBvcGFjaXR5LTEwMCcgOiAnaW52aXNpYmxlIG9wYWNpdHktMCdcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgei1bLTFdIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXByaW1hcnktbGlnaHRlc3Qgb3BhY2l0eS02MFwiXG4gID48L2Rpdj5cbiAgPG5nLWljb25cbiAgICBjbGFzcz1cIiF3LTE2ICFoLTE2IHRleHQtWzY0cHhdIG1iLTRcIlxuICAgIG5hbWU9XCJtYXRTd2lwZU91dGxpbmVcIlxuICA+PC9uZy1pY29uPlxuICA8cCB0cmFuc2xhdGU+bWFwLm5hdmlnYXRpb24ubWVzc2FnZTwvcD5cbjwvZGl2PlxuIl19
@@ -16,6 +16,10 @@ export class MapLegendComponent {
16
16
  this.legendStatusChange.emit(true);
17
17
  }
18
18
  }
19
+ else {
20
+ this.legendHTML = false;
21
+ this.legendStatusChange.emit(false);
22
+ }
19
23
  }
20
24
  }
21
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -29,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29
33
  }], legendStatusChange: [{
30
34
  type: Output
31
35
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQVV0QyxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBVVksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWUzRDtJQVpDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBc0I7UUFDdEMsSUFBSSxTQUFTLElBQUksT0FBTyxFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQTtZQUNsRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtnQkFDOUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3BDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBaEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHdMQ3JCL0IseUVBQ0EsNElEa0JZLElBQUk7OzRGQUVILGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxrQkFBa0IsY0FFaEIsSUFBSSxpQkFFRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsSUFBSSxDQUFDOzhCQUdOLE9BQU87c0JBQWYsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcENvbnRleHQgfSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7IGNyZWF0ZUxlZ2VuZEZyb21MYXllciB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9sZWdlbmQnXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tYXAtbGVnZW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtbGVnZW5kLmNvbXBvbmVudC5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW05nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBMZWdlbmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb250ZXh0OiBNYXBDb250ZXh0IHwgbnVsbFxuICBAT3V0cHV0KCkgbGVnZW5kU3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gIGxlZ2VuZEhUTUw6IEhUTUxFbGVtZW50IHwgZmFsc2VcblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCdjb250ZXh0JyBpbiBjaGFuZ2VzKSB7XG4gICAgICBjb25zdCBtYXBDb250ZXh0ID0gY2hhbmdlc1snY29udGV4dCddLmN1cnJlbnRWYWx1ZVxuICAgICAgaWYgKG1hcENvbnRleHQubGF5ZXJzICYmIG1hcENvbnRleHQubGF5ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgbWFwQ29udGV4dExheWVyID0gbWFwQ29udGV4dC5sYXllcnNbMF1cbiAgICAgICAgdGhpcy5sZWdlbmRIVE1MID0gYXdhaXQgY3JlYXRlTGVnZW5kRnJvbUxheWVyKG1hcENvbnRleHRMYXllcilcbiAgICAgICAgaWYgKHRoaXMubGVnZW5kSFRNTCkge1xuICAgICAgICAgIHRoaXMubGVnZW5kU3RhdHVzQ2hhbmdlLmVtaXQodHJ1ZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxlZ2VuZEhUTUxcIiBbaW5uZXJIVE1MXT1cImxlZ2VuZEhUTUwub3V0ZXJIVE1MXCI+PC9kaXY+XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMvbGliL2NvbXBvbmVudHMvbWFwLWxlZ2VuZC9tYXAtbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9tYXAtbGVnZW5kL21hcC1sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQVV0QyxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBVVksdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWtCM0Q7SUFmQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDbEQsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQzlELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0xDckIvQix5RUFDQSw0SURrQlksSUFBSTs7NEZBRUgsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxJQUFJLENBQUM7OEJBR04sT0FBTztzQkFBZixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29udGV4dCB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgY3JlYXRlTGVnZW5kRnJvbUxheWVyIH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2xlZ2VuZCdcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IE1hcENvbnRleHQgfCBudWxsXG4gIEBPdXRwdXQoKSBsZWdlbmRTdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgbGVnZW5kSFRNTDogSFRNTEVsZW1lbnQgfCBmYWxzZVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoJ2NvbnRleHQnIGluIGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBjaGFuZ2VzWydjb250ZXh0J10uY3VycmVudFZhbHVlXG4gICAgICBpZiAobWFwQ29udGV4dC5sYXllcnMgJiYgbWFwQ29udGV4dC5sYXllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtYXBDb250ZXh0TGF5ZXIgPSBtYXBDb250ZXh0LmxheWVyc1swXVxuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBhd2FpdCBjcmVhdGVMZWdlbmRGcm9tTGF5ZXIobWFwQ29udGV4dExheWVyKVxuICAgICAgICBpZiAodGhpcy5sZWdlbmRIVE1MKSB7XG4gICAgICAgICAgdGhpcy5sZWdlbmRTdGF0dXNDaGFuZ2UuZW1pdCh0cnVlKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxlZ2VuZEhUTUwgPSBmYWxzZVxuICAgICAgICB0aGlzLmxlZ2VuZFN0YXR1c0NoYW5nZS5lbWl0KGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxlZ2VuZEhUTUxcIiBbaW5uZXJIVE1MXT1cImxlZ2VuZEhUTUwub3V0ZXJIVE1MXCI+PC9kaXY+XG4iXX0=
@@ -0,0 +1,80 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import GeoJSON from 'ol/format/GeoJSON';
4
+ import { Polygon } from 'ol/geom';
5
+ import { createViewFromLayer, } from '@geospatial-sdk/core';
6
+ import { MapContainerComponent } from '../map-container/map-container.component';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import { switchMap } from 'rxjs/operators';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ export class SpatialExtentComponent {
12
+ constructor() {
13
+ this.spatialExtents$ = new BehaviorSubject([]);
14
+ this.mapContext$ = this.spatialExtents$.pipe(switchMap(async (extents) => {
15
+ if (extents.length === 0) {
16
+ return null; // null extent means default view
17
+ }
18
+ const featureCollection = {
19
+ type: 'FeatureCollection',
20
+ features: [],
21
+ };
22
+ extents.forEach((extent) => {
23
+ if (extent.geometry) {
24
+ featureCollection.features.push({
25
+ type: 'Feature',
26
+ properties: {},
27
+ geometry: extent.geometry,
28
+ });
29
+ }
30
+ else if (extent.bbox?.length >= 0) {
31
+ featureCollection.features.push({
32
+ type: 'Feature',
33
+ properties: {},
34
+ geometry: this.bboxCoordsToGeometry(extent.bbox),
35
+ });
36
+ }
37
+ });
38
+ const layer = {
39
+ type: 'geojson',
40
+ data: featureCollection,
41
+ label: 'Spatial extents',
42
+ style: {
43
+ 'stroke-color': 'black',
44
+ 'stroke-width': 2,
45
+ 'fill-color': 'rgba(153, 153, 153, 0.3)',
46
+ },
47
+ };
48
+ const view = await createViewFromLayer(layer);
49
+ return {
50
+ view,
51
+ layers: [layer],
52
+ };
53
+ }));
54
+ this.error = '';
55
+ }
56
+ set spatialExtents(value) {
57
+ this.spatialExtents$.next(value);
58
+ }
59
+ bboxCoordsToGeometry(bbox) {
60
+ const geometry = new Polygon([
61
+ [
62
+ [bbox[0], bbox[1]],
63
+ [bbox[0], bbox[3]],
64
+ [bbox[2], bbox[3]],
65
+ [bbox[2], bbox[1]],
66
+ [bbox[0], bbox[1]],
67
+ ],
68
+ ]);
69
+ return new GeoJSON().writeGeometryObject(geometry);
70
+ }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpatialExtentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpatialExtentComponent, isStandalone: true, selector: "gn-ui-spatial-extent", inputs: { spatialExtents: "spatialExtents" }, ngImport: i0, template: "<gn-ui-map-container\n class=\"h-full w-full\"\n [context]=\"mapContext$ | async\"\n></gn-ui-map-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick", "sourceLoadError"] }] }); }
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpatialExtentComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ selector: 'gn-ui-spatial-extent', standalone: true, imports: [CommonModule, MapContainerComponent], template: "<gn-ui-map-container\n class=\"h-full w-full\"\n [context]=\"mapContext$ | async\"\n></gn-ui-map-container>\n" }]
77
+ }], propDecorators: { spatialExtents: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1leHRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjL2xpYi9jb21wb25lbnRzL3NwYXRpYWwtZXh0ZW50L3NwYXRpYWwtZXh0ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYy9saWIvY29tcG9uZW50cy9zcGF0aWFsLWV4dGVudC9zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxPQUFxQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUNMLG1CQUFtQixHQUdwQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFVMUMsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVdFLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQXlCLEVBQUUsQ0FBQyxDQUFBO1FBQ2pFLGdCQUFXLEdBQTJCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM3RCxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzFCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUEsQ0FBQyxpQ0FBaUM7WUFDL0MsQ0FBQztZQUNELE1BQU0saUJBQWlCLEdBQTZCO2dCQUNsRCxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixRQUFRLEVBQUUsRUFBRTthQUNiLENBQUE7WUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNwQixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO3dCQUM5QixJQUFJLEVBQUUsU0FBUzt3QkFDZixVQUFVLEVBQUUsRUFBRTt3QkFDZCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7cUJBQzFCLENBQUMsQ0FBQTtnQkFDSixDQUFDO3FCQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7d0JBQzlCLElBQUksRUFBRSxTQUFTO3dCQUNmLFVBQVUsRUFBRSxFQUFFO3dCQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztxQkFDakQsQ0FBQyxDQUFBO2dCQUNKLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUVGLE1BQU0sS0FBSyxHQUFvQjtnQkFDN0IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsS0FBSyxFQUFFO29CQUNMLGNBQWMsRUFBRSxPQUFPO29CQUN2QixjQUFjLEVBQUUsQ0FBQztvQkFDakIsWUFBWSxFQUFFLDBCQUEwQjtpQkFDekM7YUFDRixDQUFBO1lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QyxPQUFPO2dCQUNMLElBQUk7Z0JBQ0osTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQ2hCLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQsVUFBSyxHQUFHLEVBQUUsQ0FBQTtLQWVYO0lBOURDLElBQWEsY0FBYyxDQUFDLEtBQTZCO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUErQ0Qsb0JBQW9CLENBQUMsSUFBc0M7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUM7WUFDM0I7Z0JBQ0UsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkI7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDcEQsQ0FBQzsrR0E5RFUsc0JBQXNCO21HQUF0QixzQkFBc0IsOEhDdEJuQyxpSEFJQSx5RERjWSxZQUFZLG9GQUFFLHFCQUFxQjs7NEZBSWxDLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDOzhCQUtqQyxjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgR2VvSlNPTiwgeyBHZW9KU09ORmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTidcbmltcG9ydCB7IFBvbHlnb24gfSBmcm9tICdvbC9nZW9tJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVmlld0Zyb21MYXllcixcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxufSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7IE1hcENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL21hcC1jb250YWluZXIvbWFwLWNvbnRhaW5lci5jb21wb25lbnQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBEYXRhc2V0U3BhdGlhbEV4dGVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc3BhdGlhbC1leHRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXBDb250YWluZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BhdGlhbC1leHRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3BhdGlhbC1leHRlbnQuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNwYXRpYWxFeHRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgc3BhdGlhbEV4dGVudHModmFsdWU6IERhdGFzZXRTcGF0aWFsRXh0ZW50W10pIHtcbiAgICB0aGlzLnNwYXRpYWxFeHRlbnRzJC5uZXh0KHZhbHVlKVxuICB9XG4gIHNwYXRpYWxFeHRlbnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXNldFNwYXRpYWxFeHRlbnRbXT4oW10pXG4gIG1hcENvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5zcGF0aWFsRXh0ZW50cyQucGlwZShcbiAgICBzd2l0Y2hNYXAoYXN5bmMgKGV4dGVudHMpID0+IHtcbiAgICAgIGlmIChleHRlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbCAvLyBudWxsIGV4dGVudCBtZWFucyBkZWZhdWx0IHZpZXdcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZlYXR1cmVDb2xsZWN0aW9uOiBHZW9KU09ORmVhdHVyZUNvbGxlY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICAgIGZlYXR1cmVzOiBbXSxcbiAgICAgIH1cbiAgICAgIGV4dGVudHMuZm9yRWFjaCgoZXh0ZW50KSA9PiB7XG4gICAgICAgIGlmIChleHRlbnQuZ2VvbWV0cnkpIHtcbiAgICAgICAgICBmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlcy5wdXNoKHtcbiAgICAgICAgICAgIHR5cGU6ICdGZWF0dXJlJyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgICAgZ2VvbWV0cnk6IGV4dGVudC5nZW9tZXRyeSxcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYgKGV4dGVudC5iYm94Py5sZW5ndGggPj0gMCkge1xuICAgICAgICAgIGZlYXR1cmVDb2xsZWN0aW9uLmZlYXR1cmVzLnB1c2goe1xuICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgICAgICBnZW9tZXRyeTogdGhpcy5iYm94Q29vcmRzVG9HZW9tZXRyeShleHRlbnQuYmJveCksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgY29uc3QgbGF5ZXI6IE1hcENvbnRleHRMYXllciA9IHtcbiAgICAgICAgdHlwZTogJ2dlb2pzb24nLFxuICAgICAgICBkYXRhOiBmZWF0dXJlQ29sbGVjdGlvbixcbiAgICAgICAgbGFiZWw6ICdTcGF0aWFsIGV4dGVudHMnLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgICdzdHJva2UtY29sb3InOiAnYmxhY2snLFxuICAgICAgICAgICdzdHJva2Utd2lkdGgnOiAyLFxuICAgICAgICAgICdmaWxsLWNvbG9yJzogJ3JnYmEoMTUzLCAxNTMsIDE1MywgMC4zKScsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgICBjb25zdCB2aWV3ID0gYXdhaXQgY3JlYXRlVmlld0Zyb21MYXllcihsYXllcilcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZpZXcsXG4gICAgICAgIGxheWVyczogW2xheWVyXSxcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgZXJyb3IgPSAnJ1xuXG4gIGJib3hDb29yZHNUb0dlb21ldHJ5KGJib3g6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdKTogR2VvbWV0cnkge1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IFBvbHlnb24oW1xuICAgICAgW1xuICAgICAgICBbYmJveFswXSwgYmJveFsxXV0sXG4gICAgICAgIFtiYm94WzBdLCBiYm94WzNdXSxcbiAgICAgICAgW2Jib3hbMl0sIGJib3hbM11dLFxuICAgICAgICBbYmJveFsyXSwgYmJveFsxXV0sXG4gICAgICAgIFtiYm94WzBdLCBiYm94WzFdXSxcbiAgICAgIF0sXG4gICAgXSlcblxuICAgIHJldHVybiBuZXcgR2VvSlNPTigpLndyaXRlR2VvbWV0cnlPYmplY3QoZ2VvbWV0cnkpXG4gIH1cbn1cbiIsIjxnbi11aS1tYXAtY29udGFpbmVyXG4gIGNsYXNzPVwiaC1mdWxsIHctZnVsbFwiXG4gIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuPjwvZ24tdWktbWFwLWNvbnRhaW5lcj5cbiJdfQ==
@@ -16,6 +16,7 @@ export * from './lib/record-preview-text/record-preview-text.component';
16
16
  export * from './lib/record-preview-title/record-preview-title.component';
17
17
  export * from './lib/record-metric/record-metric.component';
18
18
  export * from './lib/results-list-item/results-list-item.component';
19
+ export * from './lib/results-hits-search-kind/results-hits-search-kind.component';
19
20
  export * from './lib/results-hits-number/results-hits-number.component';
20
21
  export * from './lib/results-table/results-table.component';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmFjZXRzTW9kdWxlIGFzIFVpRmFjZXRzTW9kdWxlIH0gZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXRzLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZpeHR1cmVzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWJsb2NrL2ZhY2V0LWJsb2NrLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1saXN0L2ZhY2V0LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWl0ZW0vZmFjZXQtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zZWFyY2gubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGF5b3V0LmNvbmZpZydcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXcvcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctZmVlZC9yZWNvcmQtcHJldmlldy1mZWVkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXJvdy9yZWNvcmQtcHJldmlldy1yb3cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctY2FyZC9yZWNvcmQtcHJldmlldy1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWxpc3QvcmVjb3JkLXByZXZpZXctbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy10ZXh0L3JlY29yZC1wcmV2aWV3LXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGl0bGUvcmVjb3JkLXByZXZpZXctdGl0bGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLW1ldHJpYy9yZWNvcmQtbWV0cmljLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC1pdGVtL3Jlc3VsdHMtbGlzdC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLXRhYmxlL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50J1xuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsNkNBQTZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGYWNldHNNb2R1bGUgYXMgVWlGYWNldHNNb2R1bGUgfSBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZml4dHVyZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtYmxvY2svZmFjZXQtYmxvY2suY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWxpc3QvZmFjZXQtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtaXRlbS9mYWNldC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNlYXJjaC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1sYXlvdXQuY29uZmlnJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy9yZWNvcmQtcHJldmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1mZWVkL3JlY29yZC1wcmV2aWV3LWZlZWQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctcm93L3JlY29yZC1wcmV2aWV3LXJvdy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1jYXJkL3JlY29yZC1wcmV2aWV3LWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctbGlzdC9yZWNvcmQtcHJldmlldy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRleHQvcmVjb3JkLXByZXZpZXctdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy10aXRsZS9yZWNvcmQtcHJldmlldy10aXRsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtbWV0cmljL3JlY29yZC1tZXRyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0LWl0ZW0vcmVzdWx0cy1saXN0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kL3Jlc3VsdHMtaGl0cy1zZWFyY2gta2luZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy10YWJsZS9yZXN1bHRzLXRhYmxlLmNvbXBvbmVudCdcbiJdfQ==
@@ -4,14 +4,14 @@ import * as i1 from "@angular/common";
4
4
  import * as i2 from "@ngx-translate/core";
5
5
  export class ResultsHitsNumberComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsHitsNumberComponent, selector: "gn-ui-results-hits-number", inputs: { hits: "hits", loading: "loading" }, ngImport: i0, template: "<div *ngIf=\"!loading\" class=\"w-full\">\n <span translate [translateParams]=\"{ hits: hits }\"\n >results.records.hits.found</span\n >\n <p\n *ngIf=\"hits === 0\"\n class=\"mt-4\"\n [innerHtml]=\"'results.records.hits.empty.help.html' | translate\"\n ></p>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsHitsNumberComponent, selector: "gn-ui-results-hits-number", inputs: { hits: "hits", loading: "loading" }, ngImport: i0, template: "<div *ngIf=\"!loading\" class=\"w-full\">\n <span data-cy=\"resultsHitsFound\" translate [translateParams]=\"{ hits: hits }\"\n >results.records.hits.found</span\n >\n <p\n *ngIf=\"hits === 0\"\n class=\"mt-4\"\n [innerHtml]=\"'results.records.hits.empty.help.html' | translate\"\n ></p>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsNumberComponent, decorators: [{
10
10
  type: Component,
11
- args: [{ selector: 'gn-ui-results-hits-number', template: "<div *ngIf=\"!loading\" class=\"w-full\">\n <span translate [translateParams]=\"{ hits: hits }\"\n >results.records.hits.found</span\n >\n <p\n *ngIf=\"hits === 0\"\n class=\"mt-4\"\n [innerHtml]=\"'results.records.hits.empty.help.html' | translate\"\n ></p>\n</div>\n" }]
11
+ args: [{ selector: 'gn-ui-results-hits-number', template: "<div *ngIf=\"!loading\" class=\"w-full\">\n <span data-cy=\"resultsHitsFound\" translate [translateParams]=\"{ hits: hits }\"\n >results.records.hits.found</span\n >\n <p\n *ngIf=\"hits === 0\"\n class=\"mt-4\"\n [innerHtml]=\"'results.records.hits.empty.help.html' | translate\"\n ></p>\n</div>\n" }]
12
12
  }], propDecorators: { hits: [{
13
13
  type: Input
14
14
  }], loading: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQU1oRCxNQUFNLE9BQU8sMEJBQTBCOytHQUExQiwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrR0NOdkMsOFJBVUE7OzRGREphLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBSTVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1oaXRzLW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN1bHRzLWhpdHMtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c0hpdHNOdW1iZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBoaXRzOiBudW1iZXJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhblxufVxuIiwiPGRpdiAqbmdJZj1cIiFsb2FkaW5nXCIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgPHNwYW4gdHJhbnNsYXRlIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBoaXRzOiBoaXRzIH1cIlxuICAgID5yZXN1bHRzLnJlY29yZHMuaGl0cy5mb3VuZDwvc3BhblxuICA+XG4gIDxwXG4gICAgKm5nSWY9XCJoaXRzID09PSAwXCJcbiAgICBjbGFzcz1cIm10LTRcIlxuICAgIFtpbm5lckh0bWxdPVwiJ3Jlc3VsdHMucmVjb3Jkcy5oaXRzLmVtcHR5LmhlbHAuaHRtbCcgfCB0cmFuc2xhdGVcIlxuICA+PC9wPlxuPC9kaXY+XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQU1oRCxNQUFNLE9BQU8sMEJBQTBCOytHQUExQiwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrR0NOdkMsMlRBVUE7OzRGREphLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBSTVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1oaXRzLW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN1bHRzLWhpdHMtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c0hpdHNOdW1iZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBoaXRzOiBudW1iZXJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhblxufVxuIiwiPGRpdiAqbmdJZj1cIiFsb2FkaW5nXCIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgPHNwYW4gZGF0YS1jeT1cInJlc3VsdHNIaXRzRm91bmRcIiB0cmFuc2xhdGUgW3RyYW5zbGF0ZVBhcmFtc109XCJ7IGhpdHM6IGhpdHMgfVwiXG4gICAgPnJlc3VsdHMucmVjb3Jkcy5oaXRzLmZvdW5kPC9zcGFuXG4gID5cbiAgPHBcbiAgICAqbmdJZj1cImhpdHMgPT09IDBcIlxuICAgIGNsYXNzPVwibXQtNFwiXG4gICAgW2lubmVySHRtbF09XCIncmVzdWx0cy5yZWNvcmRzLmhpdHMuZW1wdHkuaGVscC5odG1sJyB8IHRyYW5zbGF0ZVwiXG4gID48L3A+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../../../inputs/src/lib/inline-filter/inline-filter.component";
5
+ import * as i3 from "../../../../elements/src/lib/kind-badge/kind-badge.component";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class ResultsHitsSearchKindComponent {
8
+ constructor() {
9
+ this.selected = [];
10
+ this.choices = [];
11
+ this.selectionChanged = new EventEmitter();
12
+ this.availableChoices = [];
13
+ }
14
+ ngOnChanges(changes) {
15
+ if (changes.choices && changes.choices.currentValue) {
16
+ this.availableChoices = this.buildFilterChoices(this.choices);
17
+ }
18
+ }
19
+ buildFilterChoices(availableValues) {
20
+ return [
21
+ ...[
22
+ {
23
+ label: 'all',
24
+ value: 'all',
25
+ },
26
+ ],
27
+ ...availableValues,
28
+ ];
29
+ }
30
+ onSelectedValues(values) {
31
+ const selectedValues = values.includes('all') ? [] : values;
32
+ this.selectionChanged.emit(selectedValues);
33
+ }
34
+ isSelectedChoice(choiceValue) {
35
+ return this.selected.includes(choiceValue);
36
+ }
37
+ isAllChoice(choiceValue) {
38
+ return this.selected.length === 0 && choiceValue === 'all';
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsSearchKindComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsHitsSearchKindComponent, selector: "gn-ui-results-hits-search-kind", inputs: { selected: "selected", choices: "choices" }, outputs: { selectionChanged: "selectionChanged" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate\n }}<span class=\"ml-1\" *ngIf=\"isSelectedChoice(choice.value)\"\n >({{ choice.count }})</span\n >\n </ng-template>\n </gn-ui-kind-badge>\n </ng-template>\n</gn-ui-inline-filter>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InlineFilterComponent, selector: "gn-ui-inline-filter", inputs: ["choices", "selected"], outputs: ["selectValues"] }, { kind: "component", type: i3.KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["contentTemplate", "kind"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsSearchKindComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'gn-ui-results-hits-search-kind', template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate\n }}<span class=\"ml-1\" *ngIf=\"isSelectedChoice(choice.value)\"\n >({{ choice.count }})</span\n >\n </ng-template>\n </gn-ui-kind-badge>\n </ng-template>\n</gn-ui-inline-filter>\n" }]
46
+ }], propDecorators: { selected: [{
47
+ type: Input
48
+ }], choices: [{
49
+ type: Input
50
+ }], selectionChanged: [{
51
+ type: Output
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kL3Jlc3VsdHMtaGl0cy1zZWFyY2gta2luZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtaGl0cy1zZWFyY2gta2luZC9yZXN1bHRzLWhpdHMtc2VhcmNoLWtpbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTs7Ozs7O0FBT3RCLE1BQU0sT0FBTyw4QkFBOEI7SUFKM0M7UUFLVyxhQUFRLEdBQWEsRUFBRSxDQUFBO1FBQ3ZCLFlBQU8sR0FBYSxFQUFFLENBQUE7UUFDckIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQTtRQUV6RCxxQkFBZ0IsR0FBYSxFQUFFLENBQUE7S0FpQ2hDO0lBL0JDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQXlCO1FBQzFDLE9BQU87WUFDTCxHQUFHO2dCQUNEO29CQUNFLEtBQUssRUFBRSxLQUFLO29CQUNaLEtBQUssRUFBRSxLQUFLO2lCQUNiO2FBQ0Y7WUFDRCxHQUFHLGVBQWU7U0FDbkIsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFnQjtRQUMvQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUUzRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUFtQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsV0FBbUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksV0FBVyxLQUFLLEtBQUssQ0FBQTtJQUM1RCxDQUFDOytHQXJDVSw4QkFBOEI7bUdBQTlCLDhCQUE4QixvTUNkM0MsNCtCQXdCQTs7NEZEVmEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNFLGdDQUFnQzs4QkFJakMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENob2ljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3VsdHMtaGl0cy1zZWFyY2gta2luZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc3VsdHNIaXRzU2VhcmNoS2luZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdXG4gIEBJbnB1dCgpIGNob2ljZXM6IENob2ljZVtdID0gW11cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpXG5cbiAgYXZhaWxhYmxlQ2hvaWNlczogQ2hvaWNlW10gPSBbXVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5jaG9pY2VzICYmIGNoYW5nZXMuY2hvaWNlcy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlQ2hvaWNlcyA9IHRoaXMuYnVpbGRGaWx0ZXJDaG9pY2VzKHRoaXMuY2hvaWNlcylcbiAgICB9XG4gIH1cblxuICBidWlsZEZpbHRlckNob2ljZXMoYXZhaWxhYmxlVmFsdWVzOiBDaG9pY2VbXSkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5bXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ2FsbCcsXG4gICAgICAgICAgdmFsdWU6ICdhbGwnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIC4uLmF2YWlsYWJsZVZhbHVlcyxcbiAgICBdXG4gIH1cblxuICBvblNlbGVjdGVkVmFsdWVzKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IHZhbHVlcy5pbmNsdWRlcygnYWxsJykgPyBbXSA6IHZhbHVlc1xuXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkLmVtaXQoc2VsZWN0ZWRWYWx1ZXMpXG4gIH1cblxuICBpc1NlbGVjdGVkQ2hvaWNlKGNob2ljZVZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyhjaG9pY2VWYWx1ZSlcbiAgfVxuXG4gIGlzQWxsQ2hvaWNlKGNob2ljZVZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZC5sZW5ndGggPT09IDAgJiYgY2hvaWNlVmFsdWUgPT09ICdhbGwnXG4gIH1cbn1cbiIsIjxnbi11aS1pbmxpbmUtZmlsdGVyXG4gIFtjaG9pY2VzXT1cImF2YWlsYWJsZUNob2ljZXNcIlxuICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAoc2VsZWN0VmFsdWVzKT1cIm9uU2VsZWN0ZWRWYWx1ZXMoJGV2ZW50KVwiXG4+XG4gIDxuZy10ZW1wbGF0ZSBsZXQtY2hvaWNlPlxuICAgIDxnbi11aS1raW5kLWJhZGdlXG4gICAgICBba2luZF09XCJjaG9pY2UudmFsdWVcIlxuICAgICAgW2NvbnRlbnRUZW1wbGF0ZV09XCJjdXN0b21UZW1wbGF0ZVwiXG4gICAgICBjbGFzcz1cImduLXVpLWJ0bi1vdXRsaW5lIHJvdW5kZWQtbWQgcHktMiBweC0yIGJvcmRlci1ncmF5LTQwMCBjdXJzb3ItcG9pbnRlciBmb2N1cy13aXRoaW46dGV4dC1wcmltYXJ5LWRhcmtlc3QgZm9jdXMtd2l0aGluOmJnLWdyYXktNTAgdHJhbnNpdGlvbi1jb2xvcnMgYmctdHJhbnNwYXJlbnQgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlciBmb2N1czp0ZXh0LXByaW1hcnktZGFya2VyIGFjdGl2ZTp0ZXh0LXByaW1hcnktYmxhY2tcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnIWJnLXByaW1hcnktbGlnaHRlc3QgaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdCc6XG4gICAgICAgICAgaXNTZWxlY3RlZENob2ljZShjaG9pY2UudmFsdWUpIHx8IGlzQWxsQ2hvaWNlKGNob2ljZS52YWx1ZSksXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVRlbXBsYXRlPlxuICAgICAgICB7eyAnc2VhcmNoLmZpbHRlcnMucmVjb3JkS2luZC4nICsgY2hvaWNlLnZhbHVlIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PHNwYW4gY2xhc3M9XCJtbC0xXCIgKm5nSWY9XCJpc1NlbGVjdGVkQ2hvaWNlKGNob2ljZS52YWx1ZSlcIlxuICAgICAgICAgID4oe3sgY2hvaWNlLmNvdW50IH19KTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZ24tdWkta2luZC1iYWRnZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZ24tdWktaW5saW5lLWZpbHRlcj5cbiJdfQ==
@@ -9,11 +9,11 @@ export class ResultsListComponent {
9
9
  this.mdSelect = new EventEmitter();
10
10
  }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsListComponent, selector: "gn-ui-results-list", inputs: { records: "records", layoutConfig: "layoutConfig", favoriteTemplate: "favoriteTemplate", recordUrlGetter: "recordUrlGetter", metadataQualityDisplay: "metadataQualityDisplay" }, outputs: { mdSelect: "mdSelect" }, ngImport: i0, template: "<ng-container>\n <div [ngClass]=\"layoutConfig.containerClass\">\n <div\n [ngClass]=\"layoutConfig.itemClass\"\n [style]=\"layoutConfig.itemStyle\"\n *ngFor=\"let record of records\"\n >\n <gn-ui-results-list-item\n [record]=\"record\"\n [layoutConfig]=\"layoutConfig\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n (mdSelect)=\"mdSelect.emit($event)\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [linkHref]=\"recordUrlGetter(record)\"\n ></gn-ui-results-list-item>\n </div>\n </div>\n</ng-container>\n\n<!--\n<ng-template #block>\n <div class=\"grid md:grid-cols-2 lg:grid-cols-4 gap-4 p-4\">\n <gn-ui-record-preview-card\n *ngFor=\"let record of records\"\n [record]=\"record\"\n (mdSelect)=\"mdSelect.emit($event)\"\n linkTarget=\"_blank\"\n style=\"height: 24em\"\n ></gn-ui-record-preview-card>\n </div>\n</ng-template>\n-->\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ResultsListItemComponent, selector: "gn-ui-results-list-item", inputs: ["layoutConfig", "record", "favoriteTemplate", "metadataQualityDisplay", "linkHref"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsListComponent, selector: "gn-ui-results-list", inputs: { records: "records", layoutConfig: "layoutConfig", favoriteTemplate: "favoriteTemplate", recordUrlGetter: "recordUrlGetter", metadataQualityDisplay: "metadataQualityDisplay" }, outputs: { mdSelect: "mdSelect" }, ngImport: i0, template: "<ng-container>\n <div [ngClass]=\"layoutConfig.containerClass\">\n <div\n [ngClass]=\"layoutConfig.itemClass\"\n [style]=\"layoutConfig.itemStyle\"\n *ngFor=\"let record of records\"\n >\n <gn-ui-results-list-item\n [record]=\"record\"\n [layoutConfig]=\"layoutConfig\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n (mdSelect)=\"mdSelect.emit($event)\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [linkHref]=\"recordUrlGetter(record)\"\n [attr.data-cy]=\"record.uniqueIdentifier\"\n ></gn-ui-results-list-item>\n </div>\n </div>\n</ng-container>\n\n<!--\n<ng-template #block>\n <div class=\"grid md:grid-cols-2 lg:grid-cols-4 gap-4 p-4\">\n <gn-ui-record-preview-card\n *ngFor=\"let record of records\"\n [record]=\"record\"\n (mdSelect)=\"mdSelect.emit($event)\"\n linkTarget=\"_blank\"\n style=\"height: 24em\"\n ></gn-ui-record-preview-card>\n </div>\n</ng-template>\n-->\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ResultsListItemComponent, selector: "gn-ui-results-list-item", inputs: ["layoutConfig", "record", "favoriteTemplate", "metadataQualityDisplay", "linkHref"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsListComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'gn-ui-results-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div [ngClass]=\"layoutConfig.containerClass\">\n <div\n [ngClass]=\"layoutConfig.itemClass\"\n [style]=\"layoutConfig.itemStyle\"\n *ngFor=\"let record of records\"\n >\n <gn-ui-results-list-item\n [record]=\"record\"\n [layoutConfig]=\"layoutConfig\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n (mdSelect)=\"mdSelect.emit($event)\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [linkHref]=\"recordUrlGetter(record)\"\n ></gn-ui-results-list-item>\n </div>\n </div>\n</ng-container>\n\n<!--\n<ng-template #block>\n <div class=\"grid md:grid-cols-2 lg:grid-cols-4 gap-4 p-4\">\n <gn-ui-record-preview-card\n *ngFor=\"let record of records\"\n [record]=\"record\"\n (mdSelect)=\"mdSelect.emit($event)\"\n linkTarget=\"_blank\"\n style=\"height: 24em\"\n ></gn-ui-record-preview-card>\n </div>\n</ng-template>\n-->\n" }]
16
+ args: [{ selector: 'gn-ui-results-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div [ngClass]=\"layoutConfig.containerClass\">\n <div\n [ngClass]=\"layoutConfig.itemClass\"\n [style]=\"layoutConfig.itemStyle\"\n *ngFor=\"let record of records\"\n >\n <gn-ui-results-list-item\n [record]=\"record\"\n [layoutConfig]=\"layoutConfig\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n (mdSelect)=\"mdSelect.emit($event)\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [linkHref]=\"recordUrlGetter(record)\"\n [attr.data-cy]=\"record.uniqueIdentifier\"\n ></gn-ui-results-list-item>\n </div>\n </div>\n</ng-container>\n\n<!--\n<ng-template #block>\n <div class=\"grid md:grid-cols-2 lg:grid-cols-4 gap-4 p-4\">\n <gn-ui-record-preview-card\n *ngFor=\"let record of records\"\n [record]=\"record\"\n (mdSelect)=\"mdSelect.emit($event)\"\n linkTarget=\"_blank\"\n style=\"height: 24em\"\n ></gn-ui-record-preview-card>\n </div>\n</ng-template>\n-->\n" }]
17
17
  }], propDecorators: { records: [{
18
18
  type: Input
19
19
  }], layoutConfig: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
27
27
  }], mdSelect: [{
28
28
  type: Output
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsdUJBQXVCLEdBQ3hCLE1BQU0seUJBQXlCLENBQUE7Ozs7QUFTaEMsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQVFXLGlCQUFZLEdBQ25CLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBSTdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtLQUN2RDsrR0FSWSxvQkFBb0I7bUdBQXBCLG9CQUFvQix1UkNyQmpDLDA3QkFnQ0E7OzRGRFhhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbiAgUmVzdWx0c0xheW91dENvbmZpZ0l0ZW0sXG59IGZyb20gJy4vcmVzdWx0cy1sYXlvdXQuY29uZmlnJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3VsdHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtbGlzdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJlY29yZHM6IENhdGFsb2dSZWNvcmRbXVxuICBASW5wdXQoKSBsYXlvdXRDb25maWc6IFJlc3VsdHNMYXlvdXRDb25maWdJdGVtID1cbiAgICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJR1snQ0FSRCddXG4gIEBJbnB1dCgpIGZhdm9yaXRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBDYXRhbG9nUmVjb3JkIH0+XG4gIEBJbnB1dCgpIHJlY29yZFVybEdldHRlcjogKHJlY29yZDogQ2F0YWxvZ1JlY29yZCkgPT4gc3RyaW5nXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQE91dHB1dCgpIG1kU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IFtuZ0NsYXNzXT1cImxheW91dENvbmZpZy5jb250YWluZXJDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cImxheW91dENvbmZpZy5pdGVtQ2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImxheW91dENvbmZpZy5pdGVtU3R5bGVcIlxuICAgICAgKm5nRm9yPVwibGV0IHJlY29yZCBvZiByZWNvcmRzXCJcbiAgICA+XG4gICAgICA8Z24tdWktcmVzdWx0cy1saXN0LWl0ZW1cbiAgICAgICAgW3JlY29yZF09XCJyZWNvcmRcIlxuICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImxheW91dENvbmZpZ1wiXG4gICAgICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAobWRTZWxlY3QpPVwibWRTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgW2Zhdm9yaXRlVGVtcGxhdGVdPVwiZmF2b3JpdGVUZW1wbGF0ZVwiXG4gICAgICAgIFtsaW5rSHJlZl09XCJyZWNvcmRVcmxHZXR0ZXIocmVjb3JkKVwiXG4gICAgICA+PC9nbi11aS1yZXN1bHRzLWxpc3QtaXRlbT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLVxuPG5nLXRlbXBsYXRlICNibG9jaz5cbiAgPGRpdiBjbGFzcz1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTQgcC00XCI+XG4gICAgPGduLXVpLXJlY29yZC1wcmV2aWV3LWNhcmRcbiAgICAgICpuZ0Zvcj1cImxldCByZWNvcmQgb2YgcmVjb3Jkc1wiXG4gICAgICBbcmVjb3JkXT1cInJlY29yZFwiXG4gICAgICAobWRTZWxlY3QpPVwibWRTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAgIGxpbmtUYXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgc3R5bGU9XCJoZWlnaHQ6IDI0ZW1cIlxuICAgID48L2duLXVpLXJlY29yZC1wcmV2aWV3LWNhcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbi0tPlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsdUJBQXVCLEdBQ3hCLE1BQU0seUJBQXlCLENBQUE7Ozs7QUFTaEMsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQVFXLGlCQUFZLEdBQ25CLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBSTdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtLQUN2RDsrR0FSWSxvQkFBb0I7bUdBQXBCLG9CQUFvQix1UkNyQmpDLDgrQkFpQ0E7OzRGRFphLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbiAgUmVzdWx0c0xheW91dENvbmZpZ0l0ZW0sXG59IGZyb20gJy4vcmVzdWx0cy1sYXlvdXQuY29uZmlnJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3VsdHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtbGlzdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJlY29yZHM6IENhdGFsb2dSZWNvcmRbXVxuICBASW5wdXQoKSBsYXlvdXRDb25maWc6IFJlc3VsdHNMYXlvdXRDb25maWdJdGVtID1cbiAgICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJR1snQ0FSRCddXG4gIEBJbnB1dCgpIGZhdm9yaXRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBDYXRhbG9nUmVjb3JkIH0+XG4gIEBJbnB1dCgpIHJlY29yZFVybEdldHRlcjogKHJlY29yZDogQ2F0YWxvZ1JlY29yZCkgPT4gc3RyaW5nXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQE91dHB1dCgpIG1kU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IFtuZ0NsYXNzXT1cImxheW91dENvbmZpZy5jb250YWluZXJDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cImxheW91dENvbmZpZy5pdGVtQ2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImxheW91dENvbmZpZy5pdGVtU3R5bGVcIlxuICAgICAgKm5nRm9yPVwibGV0IHJlY29yZCBvZiByZWNvcmRzXCJcbiAgICA+XG4gICAgICA8Z24tdWktcmVzdWx0cy1saXN0LWl0ZW1cbiAgICAgICAgW3JlY29yZF09XCJyZWNvcmRcIlxuICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImxheW91dENvbmZpZ1wiXG4gICAgICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAobWRTZWxlY3QpPVwibWRTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgW2Zhdm9yaXRlVGVtcGxhdGVdPVwiZmF2b3JpdGVUZW1wbGF0ZVwiXG4gICAgICAgIFtsaW5rSHJlZl09XCJyZWNvcmRVcmxHZXR0ZXIocmVjb3JkKVwiXG4gICAgICAgIFthdHRyLmRhdGEtY3ldPVwicmVjb3JkLnVuaXF1ZUlkZW50aWZpZXJcIlxuICAgICAgPjwvZ24tdWktcmVzdWx0cy1saXN0LWl0ZW0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS1cbjxuZy10ZW1wbGF0ZSAjYmxvY2s+XG4gIDxkaXYgY2xhc3M9XCJncmlkIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy00IGdhcC00IHAtNFwiPlxuICAgIDxnbi11aS1yZWNvcmQtcHJldmlldy1jYXJkXG4gICAgICAqbmdGb3I9XCJsZXQgcmVjb3JkIG9mIHJlY29yZHNcIlxuICAgICAgW3JlY29yZF09XCJyZWNvcmRcIlxuICAgICAgKG1kU2VsZWN0KT1cIm1kU2VsZWN0LmVtaXQoJGV2ZW50KVwiXG4gICAgICBsaW5rVGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHN0eWxlPVwiaGVpZ2h0OiAyNGVtXCJcbiAgICA+PC9nbi11aS1yZWNvcmQtcHJldmlldy1jYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4tLT5cbiJdfQ==