geonetwork-ui 2.2.0-dev.f866474c → 2.3.0-dev.179fba83

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 (596) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +5 -5
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +14 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +15 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +29 -2
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +52 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +102 -61
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/index.mjs +4 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/index.mjs +2 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +123 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +116 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +138 -0
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/index.mjs +2 -0
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +242 -0
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +102 -74
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.mjs +18 -0
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +14 -0
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +48 -0
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +18 -0
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +64 -0
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +116 -79
  22. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +76 -14
  23. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -2
  24. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +4 -4
  25. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  26. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
  27. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
  28. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
  29. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  30. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  31. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  32. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  33. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  34. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  35. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  36. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  37. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  38. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +35 -7
  39. package/esm2022/libs/data-access/gn4/src/openapi/model/models.mjs +1 -2
  40. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  41. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +6 -5
  42. package/esm2022/libs/feature/editor/src/index.mjs +6 -1
  43. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +8 -0
  44. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +26 -0
  45. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +30 -0
  46. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +2 -0
  47. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +42 -0
  48. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +13 -0
  49. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +13 -0
  50. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +16 -4
  51. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -0
  52. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +2 -0
  53. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +17 -11
  54. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +24 -46
  55. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  56. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -3
  57. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  58. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +72 -0
  59. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  60. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  61. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  62. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +29 -5
  63. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  64. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  65. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +12 -5
  66. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +2 -1
  67. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +61 -24
  68. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  69. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +63 -69
  70. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -13
  71. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +34 -21
  72. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  73. package/esm2022/libs/feature/router/src/lib/default/index.mjs +2 -1
  74. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +1 -1
  75. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  76. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
  77. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  78. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  79. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  80. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  81. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  82. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
  83. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  84. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  85. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  86. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
  87. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
  88. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  89. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
  90. package/esm2022/libs/ui/elements/src/index.mjs +4 -1
  91. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  92. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  93. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
  94. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -3
  95. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  96. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +47 -16
  97. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
  98. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  99. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  100. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +9 -4
  101. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +20 -7
  102. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  103. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  104. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +10 -9
  105. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  106. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  107. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  108. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  109. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +59 -0
  110. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +4 -2
  111. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +1 -1
  112. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +183 -0
  113. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  114. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
  115. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  116. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -8
  117. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  118. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  119. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  120. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  121. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  122. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  123. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  124. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  125. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  126. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  127. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  128. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +3 -3
  129. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  130. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
  131. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  132. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -0
  133. package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +60 -0
  134. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +8 -5
  135. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
  136. package/esm2022/translations/de.json +143 -109
  137. package/esm2022/translations/en.json +75 -41
  138. package/esm2022/translations/es.json +53 -19
  139. package/esm2022/translations/fr.json +69 -35
  140. package/esm2022/translations/it.json +70 -36
  141. package/esm2022/translations/nl.json +54 -20
  142. package/esm2022/translations/pt.json +53 -19
  143. package/fesm2022/geonetwork-ui.mjs +5799 -3893
  144. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  145. package/libs/api/metadata-converter/src/index.d.ts +4 -4
  146. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  147. package/libs/api/metadata-converter/src/lib/{metadata-base.mapper.d.ts → base.converter.d.ts} +3 -3
  148. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -0
  149. package/libs/api/metadata-converter/src/lib/find-converter.d.ts +3 -0
  150. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -0
  151. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
  152. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  153. package/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.d.ts → gn4.converter.d.ts} +5 -5
  154. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -0
  155. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
  156. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  157. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts +4 -0
  158. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts.map +1 -0
  159. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +4 -5
  160. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  161. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts +2 -0
  162. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts.map +1 -0
  163. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +9 -0
  164. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -0
  165. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +20 -0
  166. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -0
  167. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +21 -0
  168. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -0
  169. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts +2 -0
  170. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts.map +1 -0
  171. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +11 -0
  172. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -0
  173. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +39 -10
  174. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  175. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts +8 -0
  176. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts.map +1 -0
  177. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +3 -0
  178. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -0
  179. package/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.d.ts.map +1 -0
  180. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -0
  181. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -0
  182. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +43 -6
  183. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  184. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +14 -1
  185. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  186. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  187. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -2
  188. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  189. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  190. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  191. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  192. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
  193. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  194. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
  195. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  196. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  197. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  198. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +36 -20
  199. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  200. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  201. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  202. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  203. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  204. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  205. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  206. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  207. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  208. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  209. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  210. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
  211. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  212. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  213. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  214. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +9 -5
  215. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  216. package/libs/data-access/gn4/src/openapi/model/models.d.ts +0 -1
  217. package/libs/data-access/gn4/src/openapi/model/models.d.ts.map +1 -1
  218. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  219. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  220. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  221. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  222. package/libs/feature/editor/src/index.d.ts +5 -0
  223. package/libs/feature/editor/src/index.d.ts.map +1 -1
  224. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +23 -0
  225. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -0
  226. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +15 -0
  227. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -0
  228. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +19 -0
  229. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -0
  230. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +2 -0
  231. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -0
  232. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +18 -0
  233. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -0
  234. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +15 -0
  235. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -0
  236. package/libs/feature/editor/src/lib/expressions.d.ts +4 -0
  237. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -0
  238. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +3 -1
  239. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  240. package/libs/feature/editor/src/lib/fields.config.d.ts +3 -0
  241. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -0
  242. package/libs/feature/editor/src/lib/models/fields.model.d.ts +15 -0
  243. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +1 -0
  244. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts +10 -5
  245. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  246. package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -13
  247. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  248. package/libs/feature/map/src/index.d.ts +1 -0
  249. package/libs/feature/map/src/index.d.ts.map +1 -1
  250. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  251. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  252. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  253. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +23 -0
  254. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -0
  255. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  256. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  257. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  258. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  259. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  260. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
  261. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  262. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  263. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  264. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  265. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  266. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +2 -0
  267. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  268. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +10 -5
  269. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  270. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
  271. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  272. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  273. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  274. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -12
  275. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  276. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  277. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  278. package/libs/feature/router/src/lib/default/index.d.ts +1 -0
  279. package/libs/feature/router/src/lib/default/index.d.ts.map +1 -1
  280. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -1
  281. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  282. package/libs/feature/search/src/index.d.ts +3 -0
  283. package/libs/feature/search/src/index.d.ts.map +1 -1
  284. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
  285. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  286. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  287. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  288. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  289. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  290. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  291. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  292. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  293. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  294. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  295. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  296. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  297. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  298. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  299. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  300. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  301. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
  302. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  303. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  304. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  305. package/libs/ui/elements/src/index.d.ts +3 -0
  306. package/libs/ui/elements/src/index.d.ts.map +1 -1
  307. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  308. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  309. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  310. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
  311. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
  312. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
  313. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +16 -5
  314. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  315. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  316. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  317. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  318. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  319. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  320. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +10 -8
  321. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  322. package/libs/ui/inputs/src/index.d.ts +1 -0
  323. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  324. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  325. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  326. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  327. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  328. package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts +14 -0
  329. package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts.map +1 -0
  330. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +1 -1
  331. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts +0 -1
  332. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +1 -1
  333. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +44 -0
  334. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -0
  335. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
  336. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  337. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +41 -39
  338. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  339. package/libs/ui/layout/src/index.d.ts +2 -0
  340. package/libs/ui/layout/src/index.d.ts.map +1 -1
  341. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  342. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  343. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  344. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  345. package/libs/ui/search/src/index.d.ts +0 -1
  346. package/libs/ui/search/src/index.d.ts.map +1 -1
  347. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  348. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  349. package/libs/util/i18n/src/index.d.ts +0 -1
  350. package/libs/util/i18n/src/index.d.ts.map +1 -1
  351. package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
  352. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  353. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  354. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  355. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -0
  356. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -0
  357. package/libs/util/shared/src/lib/utils/image-resize.d.ts +3 -0
  358. package/libs/util/shared/src/lib/utils/image-resize.d.ts.map +1 -0
  359. package/libs/util/shared/src/lib/utils/index.d.ts +7 -4
  360. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  361. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
  362. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
  363. package/package.json +5 -2
  364. package/src/libs/api/metadata-converter/src/index.ts +4 -4
  365. package/src/libs/api/metadata-converter/src/lib/{metadata-base.mapper.ts → base.converter.ts} +2 -2
  366. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +16 -0
  367. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +94 -12
  368. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +67 -12
  369. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +260 -29
  370. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +580 -0
  371. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +33 -1
  372. package/src/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.ts → gn4.converter.ts} +9 -5
  373. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +148 -76
  374. package/src/libs/api/metadata-converter/src/lib/gn4/index.ts +3 -0
  375. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -5
  376. package/src/libs/api/metadata-converter/src/lib/iso19115-3/index.ts +1 -0
  377. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +176 -0
  378. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +329 -0
  379. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +513 -0
  380. package/src/libs/api/metadata-converter/src/lib/iso19139/index.ts +1 -0
  381. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +327 -0
  382. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +230 -134
  383. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.ts +20 -0
  384. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +16 -0
  385. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +338 -178
  386. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +84 -16
  387. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -1
  388. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  389. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  390. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
  391. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
  392. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
  393. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  394. package/src/libs/common/domain/src/lib/index.ts +2 -0
  395. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +45 -24
  396. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  397. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  398. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  399. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  400. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  401. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
  402. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  403. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
  404. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
  405. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
  406. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -10
  407. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +43 -12
  408. package/src/libs/data-access/gn4/src/openapi/model/models.ts +0 -1
  409. package/src/libs/data-access/gn4/src/spec.yaml +1 -1
  410. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  411. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +9 -6
  412. package/src/libs/feature/editor/src/index.ts +5 -0
  413. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +24 -0
  414. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +49 -0
  415. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +30 -0
  416. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -0
  417. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +68 -0
  418. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +39 -0
  419. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.css +0 -0
  420. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +8 -0
  421. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +70 -0
  422. package/src/libs/feature/editor/src/lib/expressions.ts +16 -0
  423. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +11 -0
  424. package/src/libs/feature/editor/src/lib/fields.config.ts +35 -0
  425. package/src/libs/feature/editor/src/lib/models/fields.model.ts +29 -0
  426. package/src/libs/feature/editor/src/lib/record-form/record-form.component.html +9 -7
  427. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +13 -6
  428. package/src/libs/feature/editor/src/lib/services/editor.service.ts +39 -67
  429. package/src/libs/feature/map/src/index.ts +1 -0
  430. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +5 -1
  431. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  432. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  433. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  434. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +0 -0
  435. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +36 -0
  436. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +80 -0
  437. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  438. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  439. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  440. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  441. package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
  442. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  443. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  444. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  445. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  446. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +14 -2
  447. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +5 -0
  448. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +10 -3
  449. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +72 -28
  450. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  451. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +87 -96
  452. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +12 -12
  453. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +23 -4
  454. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  455. package/src/libs/feature/router/src/lib/default/index.ts +1 -0
  456. package/src/libs/feature/router/src/lib/default/router.service.ts +1 -1
  457. package/src/libs/feature/search/src/index.ts +3 -0
  458. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +13 -4
  459. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
  460. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  461. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  462. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  463. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  464. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  465. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  466. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  467. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  468. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  469. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  470. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  471. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
  472. package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
  473. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
  474. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
  475. package/src/libs/ui/elements/src/index.ts +3 -0
  476. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  477. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  478. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  479. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  480. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
  481. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
  482. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
  483. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
  484. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
  485. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
  486. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
  487. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
  488. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +3 -3
  489. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  490. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +212 -68
  491. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +51 -10
  492. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
  493. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  494. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  495. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  496. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
  497. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +9 -3
  498. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +8 -1
  499. package/src/libs/ui/inputs/src/index.ts +1 -0
  500. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  501. package/src/libs/ui/inputs/src/lib/button/button.component.css +0 -5
  502. package/src/libs/ui/inputs/src/lib/button/button.component.html +0 -1
  503. package/src/libs/ui/inputs/src/lib/button/button.component.ts +8 -7
  504. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  505. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +2 -2
  506. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
  507. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  508. package/src/libs/ui/inputs/src/lib/files-drop/files-drop.directive.ts +45 -0
  509. package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +3 -1
  510. package/src/libs/ui/inputs/src/lib/form-field/form-field.model.ts +0 -1
  511. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +0 -0
  512. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +146 -0
  513. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +193 -0
  514. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  515. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
  516. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
  517. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
  518. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +8 -2
  519. package/src/libs/ui/layout/src/index.ts +2 -0
  520. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  521. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
  522. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  523. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  524. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  525. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  526. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  527. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  528. package/src/libs/ui/search/src/index.ts +0 -1
  529. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  530. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +3 -1
  531. package/src/libs/util/i18n/src/index.ts +0 -1
  532. package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
  533. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  534. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +3 -0
  535. package/src/libs/util/shared/src/lib/utils/image-resize.ts +72 -0
  536. package/src/libs/util/shared/src/lib/utils/index.ts +7 -4
  537. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
  538. package/tailwind.base.css +44 -15
  539. package/translations/de.json +143 -109
  540. package/translations/en.json +75 -41
  541. package/translations/es.json +53 -19
  542. package/translations/fr.json +69 -35
  543. package/translations/it.json +70 -36
  544. package/translations/nl.json +54 -20
  545. package/translations/pt.json +53 -19
  546. package/translations/sk.json +131 -97
  547. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +0 -48
  548. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.mjs +0 -48
  549. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.mjs +0 -18
  550. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.mjs +0 -64
  551. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +0 -122
  552. package/esm2022/libs/api/metadata-converter/src/lib/metadata-base.mapper.mjs +0 -14
  553. package/esm2022/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.mjs +0 -13
  554. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  555. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  556. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  557. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  558. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  559. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  560. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +0 -1
  561. package/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.d.ts.map +0 -1
  562. package/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.d.ts.map +0 -1
  563. package/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.d.ts.map +0 -1
  564. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts +0 -4
  565. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +0 -1
  566. package/libs/api/metadata-converter/src/lib/metadata-base.mapper.d.ts.map +0 -1
  567. package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts +0 -18
  568. package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts.map +0 -1
  569. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  570. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  571. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  572. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  573. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  574. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  575. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  576. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  577. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  578. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  579. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  580. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +0 -187
  581. package/src/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts +0 -18
  582. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  583. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  584. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  585. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  586. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  587. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  588. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  589. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.d.ts +0 -0
  590. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.d.ts +0 -0
  591. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.d.ts +0 -0
  592. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  593. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.ts +0 -0
  594. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.ts +0 -0
  595. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.ts +0 -0
  596. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -28,11 +28,11 @@ export class CarouselComponent {
28
28
  this.emblaApi.scrollTo(stepIndex);
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container /deep/ > *{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container /deep/ > *{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"] }]
35
+ args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"] }]
36
36
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { containerClass: [{
37
37
  type: Input
38
38
  }], stepsContainerClass: [{
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
41
41
  type: ViewChild,
42
42
  args: ['carouselOverflowContainer']
43
43
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLGFBQW9DLE1BQU0sZ0JBQWdCLENBQUE7OztBQVFqRSxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVI1QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQix3QkFBbUIsR0FBRyxFQUFFLENBQUE7UUFHakMsVUFBSyxHQUFhLEVBQUUsQ0FBQTtRQUNwQixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBR3VDLENBQUM7SUFFekQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUMzQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUM1QztZQUNFLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FDRixDQUFBO1FBQ0QsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRO2FBQ1YsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7YUFDeEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDMUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7OEdBL0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdSQ2pCOUIsdWlCQWdCQTs7MkZEQ2EsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFTix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwgeyBFbWJsYUNhcm91c2VsVHlwZSB9IGZyb20gJ2VtYmxhLWNhcm91c2VsJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRhaW5lckNsYXNzID0gJydcbiAgQElucHV0KCkgc3RlcHNDb250YWluZXJDbGFzcyA9ICcnXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsT3ZlcmZsb3dDb250YWluZXInKVxuICBjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyOiBFbGVtZW50UmVmXG4gIHN0ZXBzOiBudW1iZXJbXSA9IFtdXG4gIHNlbGVjdGVkU3RlcCA9IC0xXG4gIGVtYmxhQXBpOiBFbWJsYUNhcm91c2VsVHlwZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmVtYmxhQXBpID0gRW1ibGFDYXJvdXNlbChcbiAgICAgIHRoaXMuY2Fyb3VzZWxPdmVyZmxvd0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMTUsXG4gICAgICB9XG4gICAgKVxuICAgIGNvbnN0IHJlZnJlc2hTdGVwcyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLmVtYmxhQXBpLnNjcm9sbFNuYXBMaXN0KClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gdGhpcy5lbWJsYUFwaS5zZWxlY3RlZFNjcm9sbFNuYXAoKVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gICAgdGhpcy5lbWJsYUFwaVxuICAgICAgLm9uKCdpbml0JywgcmVmcmVzaFN0ZXBzKVxuICAgICAgLm9uKCdyZUluaXQnLCByZWZyZXNoU3RlcHMpXG4gICAgICAub24oJ3NlbGVjdCcsIHJlZnJlc2hTdGVwcylcbiAgfVxuXG4gIHNjcm9sbFRvU3RlcChzdGVwSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZW1ibGFBcGkuc2Nyb2xsVG8oc3RlcEluZGV4KVxuICB9XG59XG4iLCI8ZGl2ICNjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIGgtZnVsbCB3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lciBmbGV4IGZsZXgtcm93XCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtMCBmbGV4IGZsZXgtcm93IGp1c3RpZnktY2VudGVyIGdhcC1bMTBweF0gcC0xXCJcbiAgW25nQ2xhc3NdPVwic3RlcHNDb250YWluZXJDbGFzc1wiXG4+XG4gIDxidXR0b25cbiAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2xhc3M9XCJjYXJvdXNlbC1zdGVwLWRvdFwiXG4gICAgKGNsaWNrKT1cInNjcm9sbFRvU3RlcChpKVwiXG4gICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRTdGVwID09PSBpID8gJ2JnLXNlY29uZGFyeScgOiAnYmctZ3JheS00MDAnXCJcbiAgPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLGFBQW9DLE1BQU0sZ0JBQWdCLENBQUE7OztBQVFqRSxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVI1QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQix3QkFBbUIsR0FBRyxFQUFFLENBQUE7UUFHakMsVUFBSyxHQUFhLEVBQUUsQ0FBQTtRQUNwQixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBR3VDLENBQUM7SUFFekQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUMzQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUM1QztZQUNFLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FDRixDQUFBO1FBQ0QsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRO2FBQ1YsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7YUFDeEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDMUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7OEdBL0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdSQ2pCOUIscWtCQWlCQTs7MkZEQWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFTix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwgeyBFbWJsYUNhcm91c2VsVHlwZSB9IGZyb20gJ2VtYmxhLWNhcm91c2VsJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRhaW5lckNsYXNzID0gJydcbiAgQElucHV0KCkgc3RlcHNDb250YWluZXJDbGFzcyA9ICcnXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsT3ZlcmZsb3dDb250YWluZXInKVxuICBjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyOiBFbGVtZW50UmVmXG4gIHN0ZXBzOiBudW1iZXJbXSA9IFtdXG4gIHNlbGVjdGVkU3RlcCA9IC0xXG4gIGVtYmxhQXBpOiBFbWJsYUNhcm91c2VsVHlwZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmVtYmxhQXBpID0gRW1ibGFDYXJvdXNlbChcbiAgICAgIHRoaXMuY2Fyb3VzZWxPdmVyZmxvd0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMTUsXG4gICAgICB9XG4gICAgKVxuICAgIGNvbnN0IHJlZnJlc2hTdGVwcyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLmVtYmxhQXBpLnNjcm9sbFNuYXBMaXN0KClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gdGhpcy5lbWJsYUFwaS5zZWxlY3RlZFNjcm9sbFNuYXAoKVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gICAgdGhpcy5lbWJsYUFwaVxuICAgICAgLm9uKCdpbml0JywgcmVmcmVzaFN0ZXBzKVxuICAgICAgLm9uKCdyZUluaXQnLCByZWZyZXNoU3RlcHMpXG4gICAgICAub24oJ3NlbGVjdCcsIHJlZnJlc2hTdGVwcylcbiAgfVxuXG4gIHNjcm9sbFRvU3RlcChzdGVwSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZW1ibGFBcGkuc2Nyb2xsVG8oc3RlcEluZGV4KVxuICB9XG59XG4iLCI8ZGl2ICNjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIGgtZnVsbCB3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lciBmbGV4IGZsZXgtcm93XCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwic3RlcHMubGVuZ3RoID4gMVwiXG4gIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtMCBmbGV4IGZsZXgtcm93IGp1c3RpZnktY2VudGVyIGdhcC1bMTBweF0gcC0xXCJcbiAgW25nQ2xhc3NdPVwic3RlcHNDb250YWluZXJDbGFzc1wiXG4+XG4gIDxidXR0b25cbiAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2xhc3M9XCJjYXJvdXNlbC1zdGVwLWRvdFwiXG4gICAgKGNsaWNrKT1cInNjcm9sbFRvU3RlcChpKVwiXG4gICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRTdGVwID09PSBpID8gJ2JnLXNlY29uZGFyeScgOiAnYmctZ3JheS00MDAnXCJcbiAgPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class InteractiveTableColumnComponent {
5
+ constructor() {
6
+ this.grow = false;
7
+ this.sortable = false;
8
+ this.activeSort = null;
9
+ this.sortChange = new EventEmitter();
10
+ }
11
+ handleSortChange() {
12
+ this.activeSort = this.activeSort === 'asc' ? 'desc' : 'asc';
13
+ this.sortChange.emit(this.activeSort);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: InteractiveTableColumnComponent, isStandalone: true, selector: "gn-ui-interactive-table-column", inputs: { grow: "grow", sortable: "sortable", activeSort: "activeSort" }, outputs: { sortChange: "sortChange" }, queries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "cell", first: true, predicate: ["cell"], descendants: true }], ngImport: i0, template: "<span>empty</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableColumnComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'gn-ui-interactive-table-column', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>empty</span>\n" }]
21
+ }], propDecorators: { header: [{
22
+ type: ContentChild,
23
+ args: ['header']
24
+ }], cell: [{
25
+ type: ContentChild,
26
+ args: ['cell']
27
+ }], grow: [{
28
+ type: Input
29
+ }], sortable: [{
30
+ type: Input
31
+ }], activeSort: [{
32
+ type: Input
33
+ }], sortChange: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYy9saWIvaW50ZXJhY3RpdmUtdGFibGUvaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7O0FBVTlDLE1BQU0sT0FBTywrQkFBK0I7SUFSNUM7UUFZVyxTQUFJLEdBQUcsS0FBSyxDQUFBO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixlQUFVLEdBQTBCLElBQUksQ0FBQTtRQUN2QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUE7S0FNMUQ7SUFKQyxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdkMsQ0FBQzs4R0FaVSwrQkFBK0I7a0dBQS9CLCtCQUErQix3WENuQjVDLHNCQUNBLHlERGFZLFlBQVk7OzJGQUtYLCtCQUErQjtrQkFSM0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3ZCLE1BQU07c0JBQTdCLFlBQVk7dUJBQUMsUUFBUTtnQkFDQSxJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBRVgsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJykgaGVhZGVyOiBUZW1wbGF0ZVJlZjx1bmtub3duPlxuICBAQ29udGVudENoaWxkKCdjZWxsJykgY2VsbDogVGVtcGxhdGVSZWY8dW5rbm93bj5cblxuICBASW5wdXQoKSBncm93ID0gZmFsc2VcbiAgQElucHV0KCkgc29ydGFibGUgPSBmYWxzZVxuICBASW5wdXQoKSBhY3RpdmVTb3J0OiAnYXNjJyB8ICdkZXNjJyB8IG51bGwgPSBudWxsXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjwnYXNjJyB8ICdkZXNjJz4oKVxuXG4gIGhhbmRsZVNvcnRDaGFuZ2UoKSB7XG4gICAgdGhpcy5hY3RpdmVTb3J0ID0gdGhpcy5hY3RpdmVTb3J0ID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQodGhpcy5hY3RpdmVTb3J0KVxuICB9XG59XG4iLCI8c3Bhbj5lbXB0eTwvc3Bhbj5cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
2
+ import { InteractiveTableColumnComponent } from './interactive-table-column/interactive-table-column.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/material/icon";
8
+ export class InteractiveTableComponent {
9
+ constructor() {
10
+ this.items = [];
11
+ this.itemClick = new EventEmitter();
12
+ }
13
+ get gridStyle() {
14
+ return {
15
+ 'grid-template-columns': this.columns
16
+ .map((column) => column.grow ? `minmax(0px,1fr)` : `minmax(0px,max-content)`)
17
+ .join(' '),
18
+ };
19
+ }
20
+ handleRowClick(item) {
21
+ this.itemClick.emit(item);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: InteractiveTableComponent, isStandalone: true, selector: "gn-ui-interactive-table", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, queries: [{ propertyName: "columns", predicate: InteractiveTableColumnComponent }], ngImport: i0, template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n >expand_less</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n >expand_more</mat-icon\n >\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".sort-button mat-icon{padding:0;margin:0;height:8px;line-height:8px;font-size:18px}.table-header-cell{@apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'gn-ui-interactive-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, InteractiveTableColumnComponent, MatIconModule], template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n >expand_less</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n >expand_more</mat-icon\n >\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".sort-button mat-icon{padding:0;margin:0;height:8px;line-height:8px;font-size:18px}.table-header-cell{@apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}\n"] }]
29
+ }], propDecorators: { columns: [{
30
+ type: ContentChildren,
31
+ args: [InteractiveTableColumnComponent]
32
+ }], items: [{
33
+ type: Input
34
+ }], itemClick: [{
35
+ type: Output
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQVV0RCxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBWVcsVUFBSyxHQUFjLEVBQUUsQ0FBQTtRQUNwQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWVsRDtJQWJDLElBQUksU0FBUztRQUNYLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDbEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQzVEO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDYixDQUFBO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7OEdBbkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLDRLQUNuQiwrQkFBK0IsNkJDdEJsRCxnK0RBc0RBLHNXRG5DWSxZQUFZLHlsQkFBbUMsYUFBYTs7MkZBRTNELHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLCtCQUErQixFQUFFLGFBQWEsQ0FBQzs4QkFJdkUsT0FBTztzQkFETixlQUFlO3VCQUFDLCtCQUErQjtnQkFHdkMsS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJhY3RpdmUtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50LCBNYXRJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVUYWJsZUNvbXBvbmVudCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudClcbiAgY29sdW1uczogUXVlcnlMaXN0PEludGVyYWN0aXZlVGFibGVDb2x1bW5Db21wb25lbnQ+XG5cbiAgQElucHV0KCkgaXRlbXM6IHVua25vd25bXSA9IFtdXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KClcblxuICBnZXQgZ3JpZFN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogdGhpcy5jb2x1bW5zXG4gICAgICAgIC5tYXAoKGNvbHVtbikgPT5cbiAgICAgICAgICBjb2x1bW4uZ3JvdyA/IGBtaW5tYXgoMHB4LDFmcilgIDogYG1pbm1heCgwcHgsbWF4LWNvbnRlbnQpYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlUm93Q2xpY2soaXRlbTogdW5rbm93bikge1xuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQgdy1mdWxsXCIgW25nU3R5bGVdPVwiZ3JpZFN0eWxlXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGxcIlxuICAgICAgICAoY2xpY2spPVwiY29sdW1uLnNvcnRhYmxlICYmIGNvbHVtbi5oYW5kbGVTb3J0Q2hhbmdlKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1idXR0b24gZmxleCBmbGV4LWNvbFwiICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCI+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1ncmF5LTYwMFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LW1haW4nOiBjb2x1bW4uYWN0aXZlU29ydCA9PT0gJ2FzYycgfVwiXG4gICAgICAgICAgICA+ZXhwYW5kX2xlc3M8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtZ3JheS02MDBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAndGV4dC1tYWluJzogY29sdW1uLmFjdGl2ZVNvcnQgPT09ICdkZXNjJyB9XCJcbiAgICAgICAgICAgID5leHBhbmRfbW9yZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWNvbHVtbi5zb3J0YWJsZVwiIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5oZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29udGVudHMgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBncm91cFwiXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhpdGVtKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlIGgtMFwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICdncmlkLWNvbHVtbic6ICdzcGFuICcgKyB0aGlzLmNvbHVtbnMubGVuZ3RoIH1cIlxuICAgID5cbiAgICAgIDwhLS0gdGhpcyBlbGVtZW50IGlzIG9ubHkgdXNlZCBpbiBrZXlib2FyZCBuYXZpZ2F0aW9uIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgaC1bNTBweF0gYmctdHJhbnNwYXJlbnQgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3ctY2VsbCBweC00IHB5LTMgZmxleCBpdGVtcy1jZW50ZXIgYmctd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNzUgdHJ1bmNhdGUgZ3JvdXAtaG92ZXI6dGV4dC1tYWluIGdyb3VwLWhvdmVyOmJnLWdyYXktNTAgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmNlbGw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -14,8 +14,7 @@ export * from './lib/record-preview-card/record-preview-card.component';
14
14
  export * from './lib/record-preview-list/record-preview-list.component';
15
15
  export * from './lib/record-preview-text/record-preview-text.component';
16
16
  export * from './lib/record-preview-title/record-preview-title.component';
17
- export * from './lib/record-table/record-table.component';
18
17
  export * from './lib/record-metric/record-metric.component';
19
18
  export * from './lib/results-list-item/results-list-item.component';
20
19
  export * from './lib/results-hits-number/results-hits-number.component';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLHlEQUF5RCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmFjZXRzTW9kdWxlIGFzIFVpRmFjZXRzTW9kdWxlIH0gZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXRzLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZpeHR1cmVzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWJsb2NrL2ZhY2V0LWJsb2NrLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1saXN0L2ZhY2V0LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWl0ZW0vZmFjZXQtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zZWFyY2gubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGF5b3V0LmNvbmZpZydcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXcvcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctZmVlZC9yZWNvcmQtcHJldmlldy1mZWVkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXJvdy9yZWNvcmQtcHJldmlldy1yb3cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctY2FyZC9yZWNvcmQtcHJldmlldy1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWxpc3QvcmVjb3JkLXByZXZpZXctbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy10ZXh0L3JlY29yZC1wcmV2aWV3LXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGl0bGUvcmVjb3JkLXByZXZpZXctdGl0bGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXRhYmxlL3JlY29yZC10YWJsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtbWV0cmljL3JlY29yZC1tZXRyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0LWl0ZW0vcmVzdWx0cy1saXN0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1oaXRzLW51bWJlci9yZXN1bHRzLWhpdHMtbnVtYmVyLmNvbXBvbmVudCdcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZhY2V0c01vZHVsZSBhcyBVaUZhY2V0c01vZHVsZSB9IGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9maXh0dXJlcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1ibG9jay9mYWNldC1ibG9jay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1pdGVtL2ZhY2V0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2VhcmNoLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3L3JlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWZlZWQvcmVjb3JkLXByZXZpZXctZmVlZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1yb3cvcmVjb3JkLXByZXZpZXctcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWNhcmQvcmVjb3JkLXByZXZpZXctY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRpdGxlL3JlY29yZC1wcmV2aWV3LXRpdGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QtaXRlbS9yZXN1bHRzLWxpc3QtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuIl19
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
5
5
  export class RecordPreviewCardComponent extends RecordPreviewComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, decorators: [{
10
10
  type: Component,
@@ -27,7 +27,7 @@ export class RecordPreviewFeedComponent extends RecordPreviewComponent {
27
27
  return this.timeFormat.format(this.record.recordCreated, Date.now());
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, decorators: [{
33
33
  type: Component,
@@ -6,7 +6,7 @@ import * as i2 from "@ngx-translate/core";
6
6
  import * as i3 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
7
7
  export class RecordPreviewListComponent extends RecordPreviewComponent {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">,&nbsp;</span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\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: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">,&nbsp;</span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\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: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, decorators: [{
12
12
  type: Component,
@@ -11,7 +11,7 @@ export class RecordPreviewRowComponent extends RecordPreviewComponent {
11
11
  this.elementRef = elementRef;
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, decorators: [{
17
17
  type: Component,
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
5
5
  export class RecordPreviewTitleComponent extends RecordPreviewComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, decorators: [{
10
10
  type: Component,
@@ -21,10 +21,10 @@ import { ResultsListItemComponent } from './results-list-item/results-list-item.
21
21
  import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
22
22
  import { UiElementsModule } from '../../../../../libs/ui/elements/src';
23
23
  import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component';
24
- import { RecordTableComponent } from './record-table/record-table.component';
25
24
  import { CommonModule } from '@angular/common';
26
25
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
27
26
  import { MatCheckboxModule } from '@angular/material/checkbox';
27
+ import { InteractiveTableComponent } from '../../../../../libs/ui/layout/src';
28
28
  import * as i0 from "@angular/core";
29
29
  import * as i1 from "@ngx-translate/core";
30
30
  export class UiSearchModule {
@@ -39,8 +39,7 @@ export class UiSearchModule {
39
39
  ResultsHitsNumberComponent,
40
40
  ResultsListItemComponent,
41
41
  RecordPreviewFeedComponent,
42
- RecordPreviewRowComponent,
43
- RecordTableComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
42
+ RecordPreviewRowComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
44
43
  FacetsModule,
45
44
  FormsModule,
46
45
  ReactiveFormsModule,
@@ -51,7 +50,8 @@ export class UiSearchModule {
51
50
  UiElementsModule,
52
51
  MatIconModule,
53
52
  MatCheckboxModule,
54
- RouterLink], exports: [RecordPreviewListComponent,
53
+ RouterLink,
54
+ InteractiveTableComponent], exports: [RecordPreviewListComponent,
55
55
  RecordPreviewCardComponent,
56
56
  RecordPreviewTextComponent,
57
57
  RecordPreviewTitleComponent,
@@ -61,8 +61,7 @@ export class UiSearchModule {
61
61
  RecordPreviewComponent,
62
62
  ResultsHitsNumberComponent,
63
63
  RecordPreviewFeedComponent,
64
- RecordPreviewRowComponent,
65
- RecordTableComponent] }); }
64
+ RecordPreviewRowComponent] }); }
66
65
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiSearchModule, providers: [
67
66
  { provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
68
67
  ], imports: [CommonModule,
@@ -77,7 +76,8 @@ export class UiSearchModule {
77
76
  UiInputsModule,
78
77
  UiElementsModule,
79
78
  MatIconModule,
80
- MatCheckboxModule, FacetsModule] }); }
79
+ MatCheckboxModule,
80
+ InteractiveTableComponent, FacetsModule] }); }
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiSearchModule, decorators: [{
83
83
  type: NgModule,
@@ -94,7 +94,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
94
94
  ResultsListItemComponent,
95
95
  RecordPreviewFeedComponent,
96
96
  RecordPreviewRowComponent,
97
- RecordTableComponent,
98
97
  ],
99
98
  imports: [
100
99
  CommonModule,
@@ -111,6 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
111
110
  MatIconModule,
112
111
  MatCheckboxModule,
113
112
  RouterLink,
113
+ InteractiveTableComponent,
114
114
  ],
115
115
  exports: [
116
116
  RecordPreviewListComponent,
@@ -124,11 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
124
124
  ResultsHitsNumberComponent,
125
125
  RecordPreviewFeedComponent,
126
126
  RecordPreviewRowComponent,
127
- RecordTableComponent,
128
127
  ],
129
128
  providers: [
130
129
  { provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
131
130
  ],
132
131
  }]
133
132
  }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvdWktc2VhcmNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixxQkFBcUIsR0FDdEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7O0FBbUQ5RCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBL0N2QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIseUJBQXlCO1lBQ3pCLG9CQUFvQixhQUdwQixZQUFZLHNCQUVaLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsVUFBVSxhQUdWLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQix5QkFBeUI7WUFDekIsb0JBQW9COytHQU1YLGNBQWMsYUFKZDtZQUNULEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtTQUM1RSxZQS9CQyxZQUFZO1lBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMxQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCLEVBVWpCLFlBQVk7OzJGQVdILGNBQWM7a0JBakQxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsVUFBVTtxQkFDWDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtxQkFDNUU7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBGYWNldHNNb2R1bGUgfSBmcm9tICcuL2ZhY2V0cy9mYWNldHMubW9kdWxlJ1xuaW1wb3J0IHsgUmVjb3JkTWV0cmljQ29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtbWV0cmljL3JlY29yZC1tZXRyaWMuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1wcmV2aWV3LWNhcmQvcmVjb3JkLXByZXZpZXctY2FyZC5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3TGlzdENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctbGlzdC9yZWNvcmQtcHJldmlldy1saXN0LmNvbXBvbmVudCdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdSb3dDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1wcmV2aWV3LXJvdy9yZWNvcmQtcHJldmlldy1yb3cuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1wcmV2aWV3LXRleHQvcmVjb3JkLXByZXZpZXctdGV4dC5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3VGl0bGVDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1wcmV2aWV3LXRpdGxlL3JlY29yZC1wcmV2aWV3LXRpdGxlLmNvbXBvbmVudCdcbmltcG9ydCB7IFJlc3VsdHNIaXRzTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9SRVNVTFRTX0xBWU9VVF9DT05GSUcsXG4gIFJFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbn0gZnJvbSAnLi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1sYXlvdXQuY29uZmlnJ1xuaW1wb3J0IHsgUmVzdWx0c0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXcvcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHsgVGFnSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtY2hpcHMnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUmVzdWx0c0xpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN1bHRzLWxpc3QtaXRlbS9yZXN1bHRzLWxpc3QtaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgVWlFbGVtZW50c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld0ZlZWRDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1wcmV2aWV3LWZlZWQvcmVjb3JkLXByZXZpZXctZmVlZC5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXRhYmxlL3JlY29yZC10YWJsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlY29yZFByZXZpZXdDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RpdGxlQ29tcG9uZW50LFxuICAgIFJlY29yZE1ldHJpY0NvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdENvbXBvbmVudCxcbiAgICBSZXN1bHRzSGl0c051bWJlckNvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0ZlZWRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCxcbiAgICBSZWNvcmRUYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGYWNldHNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJlY29yZFByZXZpZXdMaXN0Q29tcG9uZW50LFxuICAgIFJlY29yZFByZXZpZXdDYXJkQ29tcG9uZW50LFxuICAgIFJlY29yZFByZXZpZXdUZXh0Q29tcG9uZW50LFxuICAgIFJlY29yZFByZXZpZXdUaXRsZUNvbXBvbmVudCxcbiAgICBSZWNvcmRNZXRyaWNDb21wb25lbnQsXG4gICAgUmVzdWx0c0xpc3RDb21wb25lbnQsXG4gICAgRmFjZXRzTW9kdWxlLFxuICAgIFJlY29yZFByZXZpZXdDb21wb25lbnQsXG4gICAgUmVzdWx0c0hpdHNOdW1iZXJDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0ZlZWRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCxcbiAgICBSZWNvcmRUYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBSRVNVTFRTX0xBWU9VVF9DT05GSUcsIHVzZVZhbHVlOiBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJRyB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaVNlYXJjaE1vZHVsZSB7fVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvdWktc2VhcmNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixxQkFBcUIsR0FDdEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7O0FBa0Q3RSxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBOUN2QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIseUJBQXlCLGFBR3pCLFlBQVksc0JBRVosaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixVQUFVO1lBQ1YseUJBQXlCLGFBR3pCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQix5QkFBeUI7K0dBTWhCLGNBQWMsYUFKZDtZQUNULEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtTQUM1RSxZQS9CQyxZQUFZO1lBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMxQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBRWpCLHlCQUF5QixFQVN6QixZQUFZOzsyRkFVSCxjQUFjO2tCQWhEMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFO3FCQUM1RTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ3hEcm9wem9uZU1vZHVsZSB9IGZyb20gJ25neC1kcm9wem9uZSdcbmltcG9ydCB7IEZhY2V0c01vZHVsZSB9IGZyb20gJy4vZmFjZXRzL2ZhY2V0cy5tb2R1bGUnXG5pbXBvcnQgeyBSZWNvcmRNZXRyaWNDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctY2FyZC9yZWNvcmQtcHJldmlldy1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctcm93L3JlY29yZC1wcmV2aWV3LXJvdy5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3VGV4dENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctdGl0bGUvcmVjb3JkLXByZXZpZXctdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVzdWx0c0hpdHNOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQnXG5pbXBvcnQge1xuICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbiAgUkVTVUxUU19MQVlPVVRfQ09ORklHLFxufSBmcm9tICcuL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5pbXBvcnQgeyBSZXN1bHRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtcHJldmlldy9yZWNvcmQtcHJldmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBSZXN1bHRzTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Jlc3VsdHMtbGlzdC1pdGVtL3Jlc3VsdHMtbGlzdC1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3RmVlZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctZmVlZC9yZWNvcmQtcHJldmlldy1mZWVkLmNvbXBvbmVudCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFVpSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IEludGVyYWN0aXZlVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlY29yZFByZXZpZXdDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RpdGxlQ29tcG9uZW50LFxuICAgIFJlY29yZE1ldHJpY0NvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdENvbXBvbmVudCxcbiAgICBSZXN1bHRzSGl0c051bWJlckNvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0ZlZWRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGYWNldHNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBJbnRlcmFjdGl2ZVRhYmxlQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmVjb3JkUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RpdGxlQ29tcG9uZW50LFxuICAgIFJlY29yZE1ldHJpY0NvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdENvbXBvbmVudCxcbiAgICBGYWNldHNNb2R1bGUsXG4gICAgUmVjb3JkUHJldmlld0NvbXBvbmVudCxcbiAgICBSZXN1bHRzSGl0c051bWJlckNvbXBvbmVudCxcbiAgICBSZWNvcmRQcmV2aWV3RmVlZENvbXBvbmVudCxcbiAgICBSZWNvcmRQcmV2aWV3Um93Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IFJFU1VMVFNfTEFZT1VUX0NPTkZJRywgdXNlVmFsdWU6IERFRkFVTFRfUkVTVUxUU19MQVlPVVRfQ09ORklHIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpU2VhcmNoTW9kdWxlIHt9XG4iXX0=
@@ -6,12 +6,12 @@ export class BadgeComponent {
6
6
  this.clickable = false;
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BadgeComponent, selector: "gn-ui-badge", inputs: { clickable: "clickable" }, ngImport: i0, template: "<div\n class=\"inline-block bg-black opacity-70 py-1.5 px-3 rounded font-medium text-gray-50 text-sm leading-none\"\n [ngClass]=\"\n clickable ? 'hover:bg-gray-800 cursor-pointer transition-colors' : ''\n \"\n>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BadgeComponent, selector: "gn-ui-badge", inputs: { clickable: "clickable" }, ngImport: i0, template: "<div\n class=\"inline-block bg-black opacity-70 py-1.5 px-3 rounded font-medium text-gray-50 text-sm leading-none\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BadgeComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'gn-ui-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"inline-block bg-black opacity-70 py-1.5 px-3 rounded font-medium text-gray-50 text-sm leading-none\"\n [ngClass]=\"\n clickable ? 'hover:bg-gray-800 cursor-pointer transition-colors' : ''\n \"\n>\n <ng-content></ng-content>\n</div>\n" }]
13
+ args: [{ selector: 'gn-ui-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"inline-block bg-black opacity-70 py-1.5 px-3 rounded font-medium text-gray-50 text-sm leading-none\"\n [ngClass]=\"\n clickable\n ? 'hover:bg-primary cursor-pointer transition-colors duration-100'\n : ''\n \"\n>\n <ng-content></ng-content>\n</div>\n" }]
14
14
  }], propDecorators: { clickable: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQVF6RSxNQUFNLE9BQU8sY0FBYztJQU4zQjtRQU9XLGNBQVMsR0FBSSxLQUFLLENBQUE7S0FDNUI7OEdBRlksY0FBYztrR0FBZCxjQUFjLHVGQ1IzQixpUUFRQTs7MkZEQWEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFkZ2UuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGlja2FibGU/ID0gZmFsc2Vcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgYmctYmxhY2sgb3BhY2l0eS03MCBweS0xLjUgcHgtMyByb3VuZGVkIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MCB0ZXh0LXNtIGxlYWRpbmctbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGNsaWNrYWJsZSA/ICdob3ZlcjpiZy1ncmF5LTgwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycycgOiAnJ1xuICBcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQVF6RSxNQUFNLE9BQU8sY0FBYztJQU4zQjtRQU9XLGNBQVMsR0FBSSxLQUFLLENBQUE7S0FDNUI7OEdBRlksY0FBYztrR0FBZCxjQUFjLHVGQ1IzQiwyUkFVQTs7MkZERmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFkZ2UuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGlja2FibGU/ID0gZmFsc2Vcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgYmctYmxhY2sgb3BhY2l0eS03MCBweS0xLjUgcHgtMyByb3VuZGVkIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MCB0ZXh0LXNtIGxlYWRpbmctbm9uZVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGNsaWNrYWJsZVxuICAgICAgPyAnaG92ZXI6YmctcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xMDAnXG4gICAgICA6ICcnXG4gIFwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -3,7 +3,6 @@ export * from './lib/i18n.constants';
3
3
  export * from './lib/i18n.interceptor';
4
4
  export * from './lib/lang.service';
5
5
  export * from './lib/file.translate.loader';
6
- export * from './lib/testing/test.translate.module';
7
6
  export * from './lib/embedded.translate.loader';
8
7
  export * from './lib/translate.loader.utils';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLDhCQUE4QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC1pMThuLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uY29uc3RhbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi5pbnRlcmNlcHRvcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmcuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rlc3RpbmcvdGVzdC50cmFuc2xhdGUubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZS5sb2FkZXIudXRpbHMnXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwtaTE4bi5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLmNvbnN0YW50cydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uaW50ZXJjZXB0b3InXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW5nLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLnRyYW5zbGF0ZS5sb2FkZXInXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWJlZGRlZC50cmFuc2xhdGUubG9hZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRlLmxvYWRlci51dGlscydcbiJdfQ==
@@ -36,6 +36,23 @@ export const LANG_3_TO_2_MAPPER = {
36
36
  chi: 'zh',
37
37
  slo: 'sk',
38
38
  };
39
+ export const LANGUAGE_NAMES = {
40
+ en: 'English',
41
+ nl: 'Nederlands',
42
+ fr: 'Français',
43
+ de: 'Deutsch',
44
+ ko: '한국어',
45
+ es: 'Español',
46
+ cs: 'Čeština',
47
+ ca: 'Català',
48
+ fi: 'Suomi',
49
+ is: 'Íslenska',
50
+ it: 'Italiano',
51
+ pt: 'Português',
52
+ ru: 'Русский',
53
+ zh: '中文',
54
+ sk: 'Slovenčina',
55
+ };
39
56
  // Caution: changing this can break language selection from third parties!
40
57
  export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language';
41
58
  export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce((mapperObject, langEntry) => {
@@ -61,4 +78,4 @@ export const TRANSLATE_DEFAULT_CONFIG = {
61
78
  deps: [HttpClient],
62
79
  },
63
80
  };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2kxOG4uY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUE7QUFFaEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0NBQ1YsQ0FBQTtBQUVELDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyx3QkFBd0IsQ0FBQTtBQUU1RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUN6RSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUMxQixPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUMxRCxDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUE7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBZ0I7SUFDaEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hELENBQUM7QUFDRCxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBQ0QsTUFBTSxlQUFlLEdBQUc7SUFDdEIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsOEJBQThCO0NBQ3pDLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxRQUFRLEVBQUUsZUFBZTtJQUN6QixNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gJ25neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlcidcbmltcG9ydCB7IEZpbGVUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2ZpbGUudHJhbnNsYXRlLmxvYWRlcidcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcblxubWFya2VyKCdsYW5ndWFnZS5lbicpXG5tYXJrZXIoJ2xhbmd1YWdlLm5sJylcbm1hcmtlcignbGFuZ3VhZ2UuZnInKVxubWFya2VyKCdsYW5ndWFnZS5kZScpXG5tYXJrZXIoJ2xhbmd1YWdlLmtvJylcbm1hcmtlcignbGFuZ3VhZ2UuZXMnKVxubWFya2VyKCdsYW5ndWFnZS5jcycpXG5tYXJrZXIoJ2xhbmd1YWdlLmNhJylcbm1hcmtlcignbGFuZ3VhZ2UuZmknKVxubWFya2VyKCdsYW5ndWFnZS5pcycpXG5tYXJrZXIoJ2xhbmd1YWdlLml0Jylcbm1hcmtlcignbGFuZ3VhZ2UucHQnKVxubWFya2VyKCdsYW5ndWFnZS5ydScpXG5tYXJrZXIoJ2xhbmd1YWdlLnpoJylcbm1hcmtlcignbGFuZ3VhZ2Uuc2snKVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HID0gJ2VuJ1xuXG5leHBvcnQgY29uc3QgTEFOR18zX1RPXzJfTUFQUEVSID0ge1xuICBlbmc6ICdlbicsXG4gIGR1dDogJ25sJyxcbiAgZnJlOiAnZnInLFxuICBnZXI6ICdkZScsXG4gIGtvcjogJ2tvJyxcbiAgc3BhOiAnZXMnLFxuICBjemU6ICdjcycsXG4gIGNhdDogJ2NhJyxcbiAgZmluOiAnZmknLFxuICBpY2U6ICdpcycsXG4gIGl0YTogJ2l0JyxcbiAgcG9yOiAncHQnLFxuICBydXM6ICdydScsXG4gIGNoaTogJ3poJyxcbiAgc2xvOiAnc2snLFxufVxuXG4vLyBDYXV0aW9uOiBjaGFuZ2luZyB0aGlzIGNhbiBicmVhayBsYW5ndWFnZSBzZWxlY3Rpb24gZnJvbSB0aGlyZCBwYXJ0aWVzIVxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX1NUT1JBR0VfS0VZID0gJ2dlb25ldHdvcmstdWktbGFuZ3VhZ2UnXG5cbmV4cG9ydCBjb25zdCBMQU5HXzJfVE9fM19NQVBQRVIgPSBPYmplY3QuZW50cmllcyhMQU5HXzNfVE9fMl9NQVBQRVIpLnJlZHVjZShcbiAgKG1hcHBlck9iamVjdCwgbGFuZ0VudHJ5KSA9PiB7XG4gICAgcmV0dXJuIHsgLi4ubWFwcGVyT2JqZWN0LCBbbGFuZ0VudHJ5WzFdXTogbGFuZ0VudHJ5WzBdIH1cbiAgfSxcbiAge31cbilcblxuZXhwb3J0IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBGaWxlVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG59XG4vL0RlcHJlY2F0ZWQsIGJ1dCBjdXJyZW50bHkgc3RpbGwgdXNlZCBpbiBkYXRhZmVlZGVyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFuZ0Zyb21Ccm93c2VyKCkge1xuICByZXR1cm4gbmF2aWdhdG9yLmxhbmd1YWdlLnN1YnN0cigwLCAyKVxufVxuY29uc3QgQ09NUElMRVJfQ09ORklHID0ge1xuICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbn1cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfREVGQVVMVF9DT05GSUcgPSB7XG4gIGNvbXBpbGVyOiBDT01QSUxFUl9DT05GSUcsXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IERFRkFVTFRfTEFORyxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2kxOG4uY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUE7QUFFaEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0NBQ1YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsS0FBSztJQUNULEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxPQUFPO0lBQ1gsRUFBRSxFQUFFLFVBQVU7SUFDZCxFQUFFLEVBQUUsVUFBVTtJQUNkLEVBQUUsRUFBRSxXQUFXO0lBQ2YsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxZQUFZO0NBQ2pCLENBQUE7QUFFRCwwRUFBMEU7QUFDMUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsd0JBQXdCLENBQUE7QUFFNUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FDekUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDMUIsT0FBTyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDMUQsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFBO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQWdCO0lBQ2hELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBQ0Qsb0RBQW9EO0FBQ3BELE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUNELE1BQU0sZUFBZSxHQUFHO0lBQ3RCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLDhCQUE4QjtDQUN6QyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsUUFBUSxFQUFFLGVBQWU7SUFDekIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixlQUFlLEVBQUUsWUFBWTtRQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDbkI7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29tcGlsZXIsIFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIgfSBmcm9tICduZ3gtdHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtY29tcGlsZXInXG5pbXBvcnQgeyBGaWxlVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnLi9maWxlLnRyYW5zbGF0ZS5sb2FkZXInXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5cbm1hcmtlcignbGFuZ3VhZ2UuZW4nKVxubWFya2VyKCdsYW5ndWFnZS5ubCcpXG5tYXJrZXIoJ2xhbmd1YWdlLmZyJylcbm1hcmtlcignbGFuZ3VhZ2UuZGUnKVxubWFya2VyKCdsYW5ndWFnZS5rbycpXG5tYXJrZXIoJ2xhbmd1YWdlLmVzJylcbm1hcmtlcignbGFuZ3VhZ2UuY3MnKVxubWFya2VyKCdsYW5ndWFnZS5jYScpXG5tYXJrZXIoJ2xhbmd1YWdlLmZpJylcbm1hcmtlcignbGFuZ3VhZ2UuaXMnKVxubWFya2VyKCdsYW5ndWFnZS5pdCcpXG5tYXJrZXIoJ2xhbmd1YWdlLnB0Jylcbm1hcmtlcignbGFuZ3VhZ2UucnUnKVxubWFya2VyKCdsYW5ndWFnZS56aCcpXG5tYXJrZXIoJ2xhbmd1YWdlLnNrJylcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFORyA9ICdlbidcblxuZXhwb3J0IGNvbnN0IExBTkdfM19UT18yX01BUFBFUiA9IHtcbiAgZW5nOiAnZW4nLFxuICBkdXQ6ICdubCcsXG4gIGZyZTogJ2ZyJyxcbiAgZ2VyOiAnZGUnLFxuICBrb3I6ICdrbycsXG4gIHNwYTogJ2VzJyxcbiAgY3plOiAnY3MnLFxuICBjYXQ6ICdjYScsXG4gIGZpbjogJ2ZpJyxcbiAgaWNlOiAnaXMnLFxuICBpdGE6ICdpdCcsXG4gIHBvcjogJ3B0JyxcbiAgcnVzOiAncnUnLFxuICBjaGk6ICd6aCcsXG4gIHNsbzogJ3NrJyxcbn1cblxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX05BTUVTID0ge1xuICBlbjogJ0VuZ2xpc2gnLFxuICBubDogJ05lZGVybGFuZHMnLFxuICBmcjogJ0ZyYW7Dp2FpcycsXG4gIGRlOiAnRGV1dHNjaCcsXG4gIGtvOiAn7ZWc6rWt7Ja0JyxcbiAgZXM6ICdFc3Bhw7FvbCcsXG4gIGNzOiAnxIxlxaF0aW5hJyxcbiAgY2E6ICdDYXRhbMOgJyxcbiAgZmk6ICdTdW9taScsXG4gIGlzOiAnw41zbGVuc2thJyxcbiAgaXQ6ICdJdGFsaWFubycsXG4gIHB0OiAnUG9ydHVndcOqcycsXG4gIHJ1OiAn0KDRg9GB0YHQutC40LknLFxuICB6aDogJ+S4reaWhycsXG4gIHNrOiAnU2xvdmVuxI1pbmEnLFxufVxuXG4vLyBDYXV0aW9uOiBjaGFuZ2luZyB0aGlzIGNhbiBicmVhayBsYW5ndWFnZSBzZWxlY3Rpb24gZnJvbSB0aGlyZCBwYXJ0aWVzIVxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX1NUT1JBR0VfS0VZID0gJ2dlb25ldHdvcmstdWktbGFuZ3VhZ2UnXG5cbmV4cG9ydCBjb25zdCBMQU5HXzJfVE9fM19NQVBQRVIgPSBPYmplY3QuZW50cmllcyhMQU5HXzNfVE9fMl9NQVBQRVIpLnJlZHVjZShcbiAgKG1hcHBlck9iamVjdCwgbGFuZ0VudHJ5KSA9PiB7XG4gICAgcmV0dXJuIHsgLi4ubWFwcGVyT2JqZWN0LCBbbGFuZ0VudHJ5WzFdXTogbGFuZ0VudHJ5WzBdIH1cbiAgfSxcbiAge31cbilcblxuZXhwb3J0IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBGaWxlVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG59XG4vL0RlcHJlY2F0ZWQsIGJ1dCBjdXJyZW50bHkgc3RpbGwgdXNlZCBpbiBkYXRhZmVlZGVyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFuZ0Zyb21Ccm93c2VyKCkge1xuICByZXR1cm4gbmF2aWdhdG9yLmxhbmd1YWdlLnN1YnN0cigwLCAyKVxufVxuY29uc3QgQ09NUElMRVJfQ09ORklHID0ge1xuICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbn1cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfREVGQVVMVF9DT05GSUcgPSB7XG4gIGNvbXBpbGVyOiBDT01QSUxFUl9DT05GSUcsXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IERFRkFVTFRfTEFORyxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=