geonetwork-ui 2.4.0-dev.a2f3bb9f → 2.4.0-dev.a6f221e3

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 (756) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -4
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +4 -4
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +4 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -5
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +30 -2
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +23 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +10 -3
  14. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  15. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +4 -4
  16. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  17. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  18. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +96 -11
  19. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +5 -4
  20. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +6 -4
  21. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +25 -7
  22. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +50 -16
  23. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  24. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  25. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  26. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  27. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  28. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  29. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  30. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  31. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +4 -4
  32. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +4 -4
  33. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +4 -4
  34. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +4 -4
  35. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +4 -4
  36. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +4 -4
  37. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +4 -4
  38. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +4 -4
  39. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +4 -4
  40. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +4 -4
  41. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +4 -4
  42. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +4 -4
  43. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +4 -4
  44. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +4 -4
  45. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +4 -4
  46. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -10
  47. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +4 -4
  48. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +4 -4
  49. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +4 -4
  50. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +4 -4
  51. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +4 -4
  52. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +4 -4
  53. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +4 -4
  54. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +4 -4
  55. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +4 -4
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +4 -4
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +4 -4
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +4 -4
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +4 -4
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +4 -4
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +4 -4
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +4 -4
  63. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +5 -5
  64. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  65. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +5 -5
  66. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  67. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +5 -5
  68. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  69. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +7 -7
  70. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  71. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +7 -9
  72. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +4 -4
  73. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +4 -4
  74. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  75. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -7
  76. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +11 -8
  77. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -4
  78. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  79. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +4 -4
  80. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -4
  81. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
  82. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  83. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +17 -7
  84. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +15 -7
  85. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  86. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +12 -4
  87. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +18 -6
  88. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +29 -0
  89. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +78 -0
  90. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +131 -0
  91. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +4 -4
  92. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +170 -0
  93. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +4 -4
  94. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +35 -0
  95. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +4 -4
  96. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
  97. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +4 -4
  98. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +47 -0
  99. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +21 -0
  100. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +4 -4
  101. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -4
  102. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +4 -4
  103. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +112 -6
  104. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +17 -0
  105. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +17 -0
  106. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +106 -0
  107. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +67 -53
  108. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +52 -48
  109. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +5 -3
  110. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +13 -9
  111. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +4 -4
  112. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +11 -11
  113. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +4 -4
  114. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  115. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -9
  116. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +177 -47
  117. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  118. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  119. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +32 -45
  120. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +4 -4
  121. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +4 -4
  122. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
  123. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +8 -8
  124. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +8 -7
  125. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +10 -7
  126. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +8 -9
  127. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +10 -9
  128. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +9 -8
  129. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +4 -4
  130. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +11 -30
  131. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +4 -4
  132. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +4 -4
  133. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +31 -15
  134. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +4 -4
  135. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +4 -4
  136. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +4 -4
  137. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +4 -4
  138. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +4 -4
  139. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  140. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +13 -8
  141. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +5 -5
  142. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  143. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +4 -4
  144. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -4
  145. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +44 -25
  146. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +15 -7
  147. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +51 -17
  148. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +4 -4
  149. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +11 -8
  150. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -6
  151. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  152. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +11 -15
  153. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  154. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +4 -4
  155. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  156. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  157. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +12 -5
  158. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  159. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +4 -4
  160. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +11 -4
  161. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  162. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  163. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +5 -5
  164. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +4 -4
  165. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  166. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +11 -8
  167. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +4 -4
  168. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -6
  169. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +4 -4
  170. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  171. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +4 -4
  172. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  173. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +88 -0
  174. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +4 -4
  175. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +4 -4
  176. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +4 -4
  177. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +11 -6
  178. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  179. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +10 -6
  180. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  181. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -4
  182. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  183. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +7 -7
  184. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -4
  185. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -4
  186. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +9 -6
  187. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +4 -4
  188. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -10
  189. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +4 -4
  190. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +5 -5
  191. package/esm2022/libs/ui/elements/src/index.mjs +5 -4
  192. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +5 -5
  193. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -4
  194. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  195. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -4
  196. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +4 -4
  197. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  198. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +7 -5
  199. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +4 -4
  200. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +4 -4
  201. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -5
  202. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +5 -5
  203. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -4
  204. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -4
  205. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +4 -4
  206. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -12
  207. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +7 -13
  208. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -5
  209. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +4 -4
  210. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +4 -4
  211. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +4 -4
  212. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -7
  213. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +26 -7
  214. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +47 -0
  215. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -4
  216. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -15
  217. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +4 -4
  218. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -4
  219. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  220. package/esm2022/libs/ui/inputs/src/index.mjs +3 -1
  221. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +78 -31
  222. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +28 -0
  223. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
  224. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -4
  225. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -4
  226. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +4 -4
  227. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +4 -4
  228. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +6 -6
  229. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -13
  230. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +4 -4
  231. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +4 -4
  232. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -4
  233. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +4 -4
  234. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  235. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -16
  236. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +4 -4
  237. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +4 -4
  238. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +4 -4
  239. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -4
  240. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  241. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +8 -23
  242. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +8 -19
  243. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +15 -18
  244. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  245. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +4 -4
  246. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  247. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +4 -4
  248. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +4 -4
  249. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +4 -4
  250. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +4 -4
  251. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +4 -4
  252. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -5
  253. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -4
  254. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +5 -5
  255. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  256. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -4
  257. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +5 -5
  258. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +4 -4
  259. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +4 -4
  260. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +7 -7
  261. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  262. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  263. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +7 -7
  264. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +4 -4
  265. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +5 -5
  266. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +4 -4
  267. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +4 -4
  268. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +4 -4
  269. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +4 -4
  270. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +4 -4
  271. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -4
  272. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +4 -4
  273. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +4 -4
  274. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +4 -4
  275. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +4 -4
  276. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +4 -4
  277. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +67 -0
  278. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +140 -0
  279. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +5 -5
  280. package/esm2022/libs/ui/widgets/src/index.mjs +2 -2
  281. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +4 -4
  282. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +4 -4
  283. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  284. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +7 -5
  285. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +4 -4
  286. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +4 -4
  287. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +4 -4
  288. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -15
  289. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  290. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +4 -4
  291. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +5 -5
  292. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +4 -4
  293. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -4
  294. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +4 -4
  295. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +4 -4
  296. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
  297. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +5 -5
  298. package/esm2022/translations/de.json +133 -29
  299. package/esm2022/translations/en.json +114 -10
  300. package/esm2022/translations/es.json +113 -9
  301. package/esm2022/translations/fr.json +126 -22
  302. package/esm2022/translations/it.json +114 -10
  303. package/esm2022/translations/nl.json +113 -9
  304. package/esm2022/translations/pt.json +113 -9
  305. package/fesm2022/geonetwork-ui.mjs +6880 -4477
  306. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  307. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  308. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  309. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  310. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +27 -0
  311. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  312. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  313. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  314. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  315. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +10 -2
  316. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  317. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  318. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  319. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  320. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  321. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +5 -2
  322. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  323. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +1 -0
  324. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  325. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +23 -4
  326. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  327. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  328. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  329. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  330. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  331. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +10 -5
  332. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  333. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
  334. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  335. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -8
  336. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  337. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  338. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  339. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  340. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  341. package/libs/common/domain/src/lib/platform.service.interface.d.ts +5 -3
  342. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  343. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +43 -1
  344. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  345. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +6 -6
  346. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  347. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  348. package/libs/feature/catalog/src/index.d.ts +1 -0
  349. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  350. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  351. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  352. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  353. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  354. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  355. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  356. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  357. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +10 -0
  358. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  359. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  360. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  361. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +13 -11
  362. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  363. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  364. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  365. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +13 -2
  366. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  367. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +6 -8
  368. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  369. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +12 -0
  370. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  371. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +32 -0
  372. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  373. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +27 -0
  374. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +1 -0
  375. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +47 -0
  376. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
  377. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +13 -0
  378. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  379. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  380. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  381. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +17 -0
  382. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  383. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +11 -0
  384. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  385. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +23 -0
  386. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  387. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +8 -0
  388. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +1 -0
  389. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +8 -0
  390. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +1 -0
  391. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +33 -0
  392. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -0
  393. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  394. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  395. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +17 -13
  396. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  397. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +4 -2
  398. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  399. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
  400. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  401. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  402. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  403. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  404. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  405. package/libs/feature/editor/src/lib/fields.config.d.ts +46 -2
  406. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  407. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
  408. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  409. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  410. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  411. package/libs/feature/editor/src/lib/services/editor.service.d.ts +7 -10
  412. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  413. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  414. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  415. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +1 -1
  416. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  417. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  418. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  419. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
  420. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  421. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  422. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  423. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  424. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  425. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
  426. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  427. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
  428. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  429. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  430. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  431. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  432. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  433. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  434. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  435. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  436. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  437. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  438. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  439. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  440. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  441. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  442. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  443. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  444. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  445. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  446. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  447. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  448. package/libs/feature/search/src/index.d.ts +1 -1
  449. package/libs/feature/search/src/index.d.ts.map +1 -1
  450. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  451. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  452. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  453. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +35 -0
  454. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  455. package/libs/feature/search/src/lib/state/search.facade.d.ts +2 -0
  456. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  457. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  458. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  459. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  460. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  461. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
  462. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  463. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  464. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  465. package/libs/ui/elements/src/index.d.ts +4 -3
  466. package/libs/ui/elements/src/index.d.ts.map +1 -1
  467. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  468. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  469. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  470. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  471. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  472. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  473. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  474. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  475. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  476. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  477. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +22 -0
  478. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  479. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +18 -15
  480. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  481. package/libs/ui/inputs/src/index.d.ts +2 -0
  482. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  483. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +15 -4
  484. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  485. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  486. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  487. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  488. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +4 -4
  489. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  490. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +3 -4
  491. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  492. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +17 -0
  493. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  494. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  495. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  496. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  497. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  498. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
  499. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  500. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  501. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  502. package/libs/ui/layout/src/index.d.ts +1 -0
  503. package/libs/ui/layout/src/index.d.ts.map +1 -1
  504. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  505. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  506. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  507. package/libs/ui/search/src/index.d.ts +1 -0
  508. package/libs/ui/search/src/index.d.ts.map +1 -1
  509. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +20 -0
  510. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  511. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +36 -0
  512. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  513. package/libs/ui/widgets/src/index.d.ts +1 -1
  514. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  515. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  516. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  517. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  518. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  519. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -12
  520. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  521. package/package.json +1 -1
  522. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +6 -1
  523. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -1
  524. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +37 -12
  525. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -1
  526. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  527. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  528. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +27 -0
  529. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  530. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +6 -2
  531. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +73 -3
  532. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  533. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  534. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +71 -2
  535. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +13 -5
  536. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +198 -7
  537. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  538. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  539. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +37 -5
  540. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +120 -29
  541. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
  542. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +7 -10
  543. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  544. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  545. package/src/libs/common/domain/src/lib/platform.service.interface.ts +11 -3
  546. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +61 -3
  547. package/src/libs/common/fixtures/src/index.ts +2 -0
  548. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  549. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  550. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
  551. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +211 -0
  552. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  553. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  554. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +10 -14
  555. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  556. package/src/libs/data-access/gn4/src/spec.yaml +4 -13
  557. package/src/libs/feature/catalog/src/index.ts +1 -0
  558. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
  559. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  560. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  561. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  562. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  563. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  564. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +12 -1
  565. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +51 -17
  566. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +23 -4
  567. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  568. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +32 -9
  569. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +32 -8
  570. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +25 -0
  571. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +30 -0
  572. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  573. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +89 -0
  574. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +2 -1
  575. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +110 -19
  576. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +76 -0
  577. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +271 -0
  578. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +9 -0
  579. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +40 -0
  580. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css +0 -0
  581. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  582. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  583. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  584. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  585. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +59 -0
  586. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  587. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +5 -0
  588. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +22 -0
  589. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +15 -1
  590. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +156 -1
  591. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css +0 -0
  592. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +7 -0
  593. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +16 -0
  594. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css +0 -0
  595. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +13 -0
  596. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +16 -0
  597. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +0 -0
  598. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +6 -0
  599. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +131 -0
  600. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
  601. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +35 -31
  602. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +55 -51
  603. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +4 -2
  604. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
  605. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
  606. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  607. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  608. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -2
  609. package/src/libs/feature/editor/src/lib/fields.config.ts +213 -48
  610. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
  611. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  612. package/src/libs/feature/editor/src/lib/services/editor.service.ts +37 -54
  613. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  614. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +5 -1
  615. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
  616. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  617. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
  618. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  619. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
  620. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  621. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
  622. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
  623. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
  624. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -4
  625. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  626. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  627. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  628. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  629. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  630. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -3
  631. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
  632. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  633. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  634. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  635. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
  636. package/src/libs/feature/search/src/index.ts +1 -1
  637. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  638. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  639. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  640. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.css +0 -0
  641. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +11 -0
  642. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +103 -0
  643. package/src/libs/feature/search/src/lib/state/search.facade.ts +11 -0
  644. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  645. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  646. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  647. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  648. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
  649. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  650. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  651. package/src/libs/ui/elements/src/index.ts +4 -3
  652. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  653. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  654. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  655. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  656. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  657. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  658. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +4 -1
  659. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +2 -1
  660. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +12 -8
  661. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  662. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  663. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  664. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  665. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  666. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  667. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.css +18 -0
  668. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +38 -0
  669. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +60 -0
  670. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +11 -6
  671. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  672. package/src/libs/ui/inputs/src/index.ts +2 -0
  673. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  674. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  675. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +94 -30
  676. package/src/libs/ui/inputs/src/lib/badge/badge.component.css +0 -0
  677. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +18 -0
  678. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +27 -0
  679. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +2 -1
  680. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +8 -1
  681. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +7 -7
  682. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -15
  683. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +0 -0
  684. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +85 -0
  685. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +91 -0
  686. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +49 -49
  687. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +15 -13
  688. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
  689. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  690. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
  691. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
  692. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +2 -27
  693. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  694. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  695. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -6
  696. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  697. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  698. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  699. package/src/libs/ui/layout/src/index.ts +1 -0
  700. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
  701. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -0
  702. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  703. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
  704. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  705. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  706. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  707. package/src/libs/ui/search/src/index.ts +1 -0
  708. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  709. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +26 -0
  710. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +74 -0
  711. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  712. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +33 -8
  713. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +152 -0
  714. package/src/libs/ui/widgets/src/index.ts +1 -1
  715. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  716. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  717. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  718. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  719. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -6
  720. package/tailwind.base.css +43 -5
  721. package/translations/de.json +133 -29
  722. package/translations/en.json +114 -10
  723. package/translations/es.json +113 -9
  724. package/translations/fr.json +126 -22
  725. package/translations/it.json +114 -10
  726. package/translations/nl.json +113 -9
  727. package/translations/pt.json +113 -9
  728. package/translations/sk.json +115 -11
  729. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  730. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  731. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  732. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -128
  733. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  734. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -17
  735. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +0 -6
  736. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  737. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  738. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  739. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  740. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  741. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -33
  742. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  743. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  744. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  745. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  746. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -1
  747. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +0 -10
  748. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  749. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  750. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -164
  751. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  752. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -11
  753. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css → contact-card/contact-card.component.css} +0 -0
  754. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/generic-keywords/generic-keywords.component.css} +0 -0
  755. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css} +0 -0
  756. /package/src/libs/{ui/widgets/src/lib/badge/badge.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.css} +0 -0
@@ -7,67 +7,43 @@ import { EditableLabelDirective } from '../../../../../../../../libs/ui/inputs/s
7
7
  import { FormFieldWrapperComponent } from '../../../../../../../../libs/ui/layout/src';
8
8
  import { TranslateModule } from '@ngx-translate/core';
9
9
  import { Observable } from 'rxjs';
10
+ import { FormFieldLicenseComponent, FormFieldResourceUpdatedComponent, FormFieldTemporalExtentsComponent, } from '.';
10
11
  import { FormFieldArrayComponent } from './form-field-array/form-field-array.component';
11
12
  import { FormFieldFileComponent } from './form-field-file/form-field-file.component';
12
- import { FormFieldLicenseComponent } from './form-field-license/form-field-license.component';
13
13
  import { FormFieldObjectComponent } from './form-field-object/form-field-object.component';
14
- import { FormFieldResourceUpdatedComponent } from './form-field-resource-updated/form-field-resource-updated.component';
15
14
  import { FormFieldRichComponent } from './form-field-rich/form-field-rich.component';
16
15
  import { FormFieldSimpleComponent } from './form-field-simple/form-field-simple.component';
17
16
  import { FormFieldSpatialExtentComponent } from './form-field-spatial-extent/form-field-spatial-extent.component';
18
- import { FormFieldTemporalExtentComponent } from './form-field-temporal-extent/form-field-temporal-extent.component';
19
17
  import { FormFieldUpdateFrequencyComponent } from './form-field-update-frequency/form-field-update-frequency.component';
18
+ import { FormFieldKeywordsComponent } from './form-field-keywords/form-field-keywords.component';
19
+ import { FormFieldOverviewsComponent } from './form-field-overviews/form-field-overviews.component';
20
+ import { map, take } from 'rxjs/operators';
21
+ import { EditorFacade } from '../../../+state/editor.facade';
22
+ import { FormFieldContactsForResourceComponent } from './form-field-contacts-for-resource/form-field-contacts-for-resource.component';
23
+ import { FormFieldOpenDataComponent } from './form-field-open-data/form-field-open-data.component';
20
24
  import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/common";
22
- import * as i2 from "@angular/material/tooltip";
23
- import * as i3 from "@ngx-translate/core";
25
+ import * as i1 from "../../../+state/editor.facade";
26
+ import * as i2 from "@angular/common";
27
+ import * as i3 from "@angular/material/tooltip";
28
+ import * as i4 from "@ngx-translate/core";
24
29
  export class FormFieldComponent {
25
30
  set value(v) {
26
31
  this.formControl.setValue(v, {
27
32
  emitEvent: false,
28
33
  });
29
34
  }
30
- constructor() {
35
+ constructor(facade) {
36
+ this.facade = facade;
37
+ this.isHidden = false;
38
+ this.metadataUuid$ = this.facade.record$.pipe(take(1), map((record) => record.uniqueIdentifier));
31
39
  this.formControl = new FormControl();
32
40
  this.valueChange = this.formControl.valueChanges;
33
41
  }
34
42
  focusTitleInput() {
35
43
  this.titleInput.nativeElement.children[0].focus();
36
44
  }
37
- get simpleType() {
38
- return this.config.type;
39
- }
40
- get isSimpleField() {
41
- return (this.config.type === 'text' ||
42
- this.config.type === 'number' ||
43
- this.config.type === 'date' ||
44
- this.config.type === 'list' ||
45
- this.config.type === 'url' ||
46
- this.config.type === 'toggle');
47
- }
48
- get isFileField() {
49
- return this.config.type === 'file';
50
- }
51
- get isSpatialExtentField() {
52
- return this.config.type === 'spatial_extent';
53
- }
54
- get isTemporalExtentField() {
55
- return this.config.type === 'temporal_extent';
56
- }
57
- get isArrayField() {
58
- return this.config.type === 'array';
59
- }
60
- get isObjectField() {
61
- return this.config.type === 'object';
62
- }
63
- get isFieldOk() {
64
- return !this.config.locked && !this.config.invalid;
65
- }
66
- get isFieldLocked() {
67
- return this.config.locked;
68
- }
69
- get isFieldInvalid() {
70
- return !this.config.locked && this.config.invalid;
45
+ onVisibilityChange(visibility) {
46
+ this.isHidden = visibility;
71
47
  }
72
48
  get isTitle() {
73
49
  return this.model === 'title';
@@ -84,13 +60,37 @@ export class FormFieldComponent {
84
60
  get isUpdateFrequency() {
85
61
  return this.model === 'updateFrequency';
86
62
  }
63
+ get isTemporalExtents() {
64
+ return this.model === 'temporalExtents';
65
+ }
66
+ get isSpatialExtentField() {
67
+ return this.model === 'spatialExtents';
68
+ }
69
+ get isGraphicOverview() {
70
+ return this.model === 'overviews';
71
+ }
72
+ get isSimpleField() {
73
+ return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
74
+ }
75
+ get isReadOnly() {
76
+ return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
77
+ }
78
+ get isKeywords() {
79
+ return this.model === 'keywords';
80
+ }
81
+ get isContactsForResource() {
82
+ return this.model === 'contactsForResource';
83
+ }
87
84
  get withoutWrapper() {
88
85
  return this.model === 'title' || this.model === 'abstract';
89
86
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldObjectComponent, selector: "gn-ui-form-field-object" }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldTemporalExtentComponent, selector: "gn-ui-form-field-temporal-extent" }, { kind: "component", type: FormFieldFileComponent, selector: "gn-ui-form-field-file", inputs: ["control", "readonly", "invalid", "placeholder"] }, { kind: "component", type: FormFieldArrayComponent, selector: "gn-ui-form-field-array" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
+ get isOpenData() {
88
+ return this.model === 'licenses';
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, deps: [{ token: i1.EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpenData\">\n <gn-ui-form-field-open-data\n [control]=\"formControl\"\n (visibilityChange)=\"onVisibilityChange($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container>\n<div class=\"flex flex-col h-full\" *ngIf=\"!isHidden\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </span>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isGraphicOverview\">\n <gn-ui-form-field-overviews\n [control]=\"formControl\"\n [metadataUuid]=\"metadataUuid$ | async\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngIf=\"isContactsForResource\">\n <gn-ui-form-field-contacts-for-resource\n [control]=\"formControl\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["control"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "control"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["control"] }, { kind: "component", type: FormFieldOpenDataComponent, selector: "gn-ui-form-field-open-data", inputs: ["control"], outputs: ["visibilityChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FormFieldComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: 'gn-ui-form-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
96
96
  CommonModule,
@@ -102,16 +102,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
102
102
  FormFieldLicenseComponent,
103
103
  FormFieldResourceUpdatedComponent,
104
104
  FormFieldUpdateFrequencyComponent,
105
+ FormFieldTemporalExtentsComponent,
105
106
  FormFieldSimpleComponent,
106
107
  FormFieldRichComponent,
107
108
  FormFieldObjectComponent,
108
109
  FormFieldSpatialExtentComponent,
109
- FormFieldTemporalExtentComponent,
110
110
  FormFieldFileComponent,
111
111
  FormFieldArrayComponent,
112
+ FormFieldKeywordsComponent,
112
113
  TranslateModule,
113
- ], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n [type]=\"simpleType\"\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isFileField\">\n <gn-ui-form-field-file\n [control]=\"formControl\"\n [readonly]=\"isFieldLocked\"\n [invalid]=\"isFieldInvalid\"\n ></gn-ui-form-field-file>\n </ng-container>\n <ng-container *ngIf=\"isArrayField\">\n <gn-ui-form-field-array></gn-ui-form-field-array>\n </ng-container>\n <ng-container *ngIf=\"isObjectField\">\n <gn-ui-form-field-object></gn-ui-form-field-object>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtentField\">\n <gn-ui-form-field-temporal-extent></gn-ui-form-field-temporal-extent>\n </ng-container>\n <div\n *ngIf=\"isFieldInvalid && config.invalidHintKey\"\n class=\"mt-2 text-pink-500 text-sm field-invalid-hint\"\n >\n {{ config.invalidHintKey | translate }}\n </div>\n</ng-template>\n" }]
114
- }], ctorParameters: function () { return []; }, propDecorators: { model: [{
114
+ FormFieldOverviewsComponent,
115
+ FormFieldContactsForResourceComponent,
116
+ FormFieldOpenDataComponent,
117
+ ], template: "<ng-container *ngIf=\"isOpenData\">\n <gn-ui-form-field-open-data\n [control]=\"formControl\"\n (visibilityChange)=\"onVisibilityChange($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container>\n<div class=\"flex flex-col h-full\" *ngIf=\"!isHidden\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </span>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isGraphicOverview\">\n <gn-ui-form-field-overviews\n [control]=\"formControl\"\n [metadataUuid]=\"metadataUuid$ | async\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngIf=\"isContactsForResource\">\n <gn-ui-form-field-contacts-for-resource\n [control]=\"formControl\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n</ng-template>\n" }]
118
+ }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; }, propDecorators: { model: [{
115
119
  type: Input
116
120
  }], config: [{
117
121
  type: Input
@@ -123,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
123
127
  type: ViewChild,
124
128
  args: ['titleInput']
125
129
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUseUJBQXlC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Qjt3QkFDdEIsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNoQjswRUFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFa0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWxpY2Vuc2UvZm9ybS1maWVsZC1saWNlbnNlLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZE9iamVjdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1vYmplY3QvZm9ybS1maWVsZC1vYmplY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkUmVzb3VyY2VVcGRhdGVkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWQvZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50L2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCdcbmltcG9ydCB7IEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5L2Zvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeS5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTGljZW5zZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSaWNoQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZE9iamVjdENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEZpbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQXJyYXlDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbDogc3RyaW5nXG4gIEBJbnB1dCgpIGNvbmZpZzogRm9ybUZpZWxkQ29uZmlnXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2OiB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2LCB7XG4gICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgIH0pXG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBPYnNlcnZhYmxlPHVua25vd24+XG5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcpIHRpdGxlSW5wdXQ6IEVsZW1lbnRSZWZcblxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gIH1cblxuICBmb2N1c1RpdGxlSW5wdXQoKSB7XG4gICAgdGhpcy50aXRsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uZm9jdXMoKVxuICB9XG5cbiAgZ2V0IHNpbXBsZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgYXNcbiAgICAgIHwgJ2RhdGUnXG4gICAgICB8ICd1cmwnXG4gICAgICB8ICd0ZXh0J1xuICAgICAgfCAnbnVtYmVyJ1xuICAgICAgfCAnbGlzdCdcbiAgICAgIHwgJ3RvZ2dsZSdcbiAgfVxuXG4gIGdldCBpc1NpbXBsZUZpZWxkKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbmZpZy50eXBlID09PSAndGV4dCcgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICdudW1iZXInIHx8XG4gICAgICB0aGlzLmNvbmZpZy50eXBlID09PSAnZGF0ZScgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICdsaXN0JyB8fFxuICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gJ3VybCcgfHxcbiAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09ICd0b2dnbGUnXG4gICAgKVxuICB9XG4gIGdldCBpc0ZpbGVGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSA9PT0gJ2ZpbGUnXG4gIH1cbiAgZ2V0IGlzU3BhdGlhbEV4dGVudEZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAnc3BhdGlhbF9leHRlbnQnXG4gIH1cbiAgZ2V0IGlzVGVtcG9yYWxFeHRlbnRGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudHlwZSA9PT0gJ3RlbXBvcmFsX2V4dGVudCdcbiAgfVxuICBnZXQgaXNBcnJheUZpZWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50eXBlID09PSAnYXJyYXknXG4gIH1cbiAgZ2V0IGlzT2JqZWN0RmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnR5cGUgPT09ICdvYmplY3QnXG4gIH1cblxuICBnZXQgaXNGaWVsZE9rKCkge1xuICAgIHJldHVybiAhdGhpcy5jb25maWcubG9ja2VkICYmICF0aGlzLmNvbmZpZy5pbnZhbGlkXG4gIH1cbiAgZ2V0IGlzRmllbGRMb2NrZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmxvY2tlZFxuICB9XG4gIGdldCBpc0ZpZWxkSW52YWxpZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuY29uZmlnLmxvY2tlZCAmJiB0aGlzLmNvbmZpZy5pbnZhbGlkXG4gIH1cblxuICBnZXQgaXNUaXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RpdGxlJ1xuICB9XG4gIGdldCBpc0Fic3RyYWN0KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnXG4gIH1cbiAgZ2V0IGlzTGljZW5zZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdsaWNlbnNlcydcbiAgfVxuICBnZXQgaXNSZXNvdXJjZVVwZGF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdyZXNvdXJjZVVwZGF0ZWQnXG4gIH1cbiAgZ2V0IGlzVXBkYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndXBkYXRlRnJlcXVlbmN5J1xuICB9XG5cbiAgZ2V0IHdpdGhvdXRXcmFwcGVyKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnIHx8IHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aXRob3V0V3JhcHBlcjsgZWxzZSB3aXRoR2VuZXJpY1dyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3dpdGhHZW5lcmljV3JhcHBlcj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC13cmFwcGVyXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5IHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9nbi11aS1mb3JtLWZpZWxkLXdyYXBwZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmaWVsZENvbnRlbnQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGgyXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwiZ3JvdyB0ZXh0LTN4bCBmb250LW5vcm1hbFwiXG4gICAgICAgIFtnblVpRWRpdGFibGVMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgKGVkaXRhYmxlTGFiZWxDaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICB7eyBmb3JtQ29udHJvbC52YWx1ZSB9fVxuICAgICAgPC9oMj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJmb2N1c1RpdGxlSW5wdXQoKVwiXG4gICAgICAgID5lZGl0PC9zcGFuXG4gICAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTJcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWcuaGludEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICAgID5cbiAgICAgICAgaGVscFxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQWJzdHJhY3RcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1yaWNoXG4gICAgICBjbGFzcz1cImgtWzhyZW1dXCJcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmljaD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xpY2Vuc2VzXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtbGljZW5zZVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1saWNlbnNlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVzb3VyY2VVcGRhdGVkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZFxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1VwZGF0ZUZyZXF1ZW5jeVwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3lcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3k+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW1wbGVGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgW3R5cGVdPVwic2ltcGxlVHlwZVwiXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlRmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1maWxlXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNGaWVsZExvY2tlZFwiXG4gICAgICBbaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1maWxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXlGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWFycmF5PjwvZ24tdWktZm9ybS1maWVsZC1hcnJheT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09iamVjdEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtb2JqZWN0PjwvZ24tdWktZm9ybS1maWVsZC1vYmplY3Q+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTcGF0aWFsRXh0ZW50RmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD48L2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wb3JhbEV4dGVudEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50PjwvZ24tdWktZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJpc0ZpZWxkSW52YWxpZCAmJiBjb25maWcuaW52YWxpZEhpbnRLZXlcIlxuICAgIGNsYXNzPVwibXQtMiB0ZXh0LXBpbmstNTAwIHRleHQtc20gZmllbGQtaW52YWxpZC1oaW50XCJcbiAgPlxuICAgIHt7IGNvbmZpZy5pbnZhbGlkSGludEtleSB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBRVYsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsR0FDbEMsTUFBTSxHQUFHLENBQUE7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FB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QWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLGlDQUFpQzt3QkFDakMsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixlQUFlO3dCQUNmLDJCQUEyQjt3QkFDM0IscUNBQXFDO3dCQUNyQywwQkFBMEI7cUJBQzNCO21HQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdrQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbn0gZnJvbSAnLidcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmRLZXlzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgRm9ybUZpZWxkS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQta2V5d29yZHMvZm9ybS1maWVsZC1rZXl3b3Jkcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudCdcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRWRpdG9yRmFjYWRlIH0gZnJvbSAnLi4vLi4vLi4vK3N0YXRlL2VkaXRvci5mYWNhZGUnXG5pbXBvcnQgeyBGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBGb3JtRmllbGRDb250YWN0c0ZvclJlc291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPcGVuRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1vcGVuLWRhdGEvZm9ybS1maWVsZC1vcGVuLWRhdGEuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZExpY2Vuc2VDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkUmVzb3VyY2VVcGRhdGVkQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRUZW1wb3JhbEV4dGVudHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNwYXRpYWxFeHRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRBcnJheUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybUZpZWxkT3ZlcnZpZXdzQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZENvbnRhY3RzRm9yUmVzb3VyY2VDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT3BlbkRhdGFDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBDYXRhbG9nUmVjb3JkS2V5c1xuICBASW5wdXQoKSBjb25maWc6IEZvcm1GaWVsZENvbmZpZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUodjogdW5rbm93bikge1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodiwge1xuICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICB9KVxuICB9XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBPYnNlcnZhYmxlPHVua25vd24+XG4gIGlzSGlkZGVuID0gZmFsc2VcblxuICBAVmlld0NoaWxkKCd0aXRsZUlucHV0JykgdGl0bGVJbnB1dDogRWxlbWVudFJlZlxuXG4gIG1ldGFkYXRhVXVpZCQgPSB0aGlzLmZhY2FkZS5yZWNvcmQkLnBpcGUoXG4gICAgdGFrZSgxKSxcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gIClcblxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWNhZGU6IEVkaXRvckZhY2FkZSkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICB9XG5cbiAgZm9jdXNUaXRsZUlucHV0KCkge1xuICAgIHRoaXMudGl0bGVJbnB1dC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmZvY3VzKClcbiAgfVxuXG4gIG9uVmlzaWJpbGl0eUNoYW5nZSh2aXNpYmlsaXR5OiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0hpZGRlbiA9IHZpc2liaWxpdHlcbiAgfVxuXG4gIGdldCBpc1RpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnXG4gIH1cbiAgZ2V0IGlzQWJzdHJhY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxuICBnZXQgaXNMaWNlbnNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ2xpY2Vuc2VzJ1xuICB9XG4gIGdldCBpc1Jlc291cmNlVXBkYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3Jlc291cmNlVXBkYXRlZCdcbiAgfVxuICBnZXQgaXNVcGRhdGVGcmVxdWVuY3koKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICd1cGRhdGVGcmVxdWVuY3knXG4gIH1cbiAgZ2V0IGlzVGVtcG9yYWxFeHRlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGVtcG9yYWxFeHRlbnRzJ1xuICB9XG4gIGdldCBpc1NwYXRpYWxFeHRlbnRGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3NwYXRpYWxFeHRlbnRzJ1xuICB9XG4gIGdldCBpc0dyYXBoaWNPdmVydmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ292ZXJ2aWV3cydcbiAgfVxuICBnZXQgaXNTaW1wbGVGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3VuaXF1ZUlkZW50aWZpZXInIHx8IHRoaXMubW9kZWwgPT09ICdyZWNvcmRVcGRhdGVkJ1xuICB9XG4gIGdldCBpc1JlYWRPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndW5pcXVlSWRlbnRpZmllcicgfHwgdGhpcy5tb2RlbCA9PT0gJ3JlY29yZFVwZGF0ZWQnXG4gIH1cbiAgZ2V0IGlzS2V5d29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdrZXl3b3JkcydcbiAgfVxuICBnZXQgaXNDb250YWN0c0ZvclJlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAnY29udGFjdHNGb3JSZXNvdXJjZSdcbiAgfVxuXG4gIGdldCB3aXRob3V0V3JhcHBlcigpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RpdGxlJyB8fCB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnXG4gIH1cblxuICBnZXQgaXNPcGVuRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ2xpY2Vuc2VzJ1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcGVuRGF0YVwiPlxuICA8Z24tdWktZm9ybS1maWVsZC1vcGVuLWRhdGFcbiAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIlxuICA+PC9nbi11aS1mb3JtLWZpZWxkLW9wZW4tZGF0YT5cbjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCIgKm5nSWY9XCIhaXNIaWRkZW5cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpdGhvdXRXcmFwcGVyOyBlbHNlIHdpdGhHZW5lcmljV3JhcHBlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjd2l0aEdlbmVyaWNXcmFwcGVyPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXdyYXBwZXJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpZWxkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZ24tdWktZm9ybS1maWVsZC13cmFwcGVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZmllbGRDb250ZW50PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUaXRsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwiZ3JvdyBmb250LXRpdGxlIHRleHQtM3hsIGZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2duVWlFZGl0YWJsZUxhYmVsXT1cInRydWVcIlxuICAgICAgICAoZWRpdGFibGVMYWJlbENoYW5nZWQpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGZvcm1Db250cm9sLnZhbHVlIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwiZm9jdXNUaXRsZUlucHV0KClcIlxuICAgICAgICA+ZWRpdDwvc3BhblxuICAgICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGduLXVpLWljb24tc21hbGwgbS0yXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgPlxuICAgICAgICBoZWxwXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBYnN0cmFjdFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXJpY2hcbiAgICAgIGNsYXNzPVwiaC1bOHJlbV1cIlxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXJpY2g+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMaWNlbnNlc1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2VcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2U+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNSZXNvdXJjZVVwZGF0ZWRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVXBkYXRlRnJlcXVlbmN5XCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBvcmFsRXh0ZW50c1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHNcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHM+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW1wbGVGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZE9ubHlcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtc2ltcGxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JhcGhpY092ZXJ2aWV3XCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtb3ZlcnZpZXdzXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbWV0YWRhdGFVdWlkXT1cIm1ldGFkYXRhVXVpZCQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1vdmVydmlld3M+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNLZXl3b3Jkc1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWtleXdvcmRzXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1rZXl3b3Jkcz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NvbnRhY3RzRm9yUmVzb3VyY2VcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1jb250YWN0cy1mb3ItcmVzb3VyY2VcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NwYXRpYWxFeHRlbnRGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50PjwvZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,10 +1,12 @@
1
+ export * from './form-field-keywords/form-field-keywords.component';
2
+ export * from './form-field-license/form-field-license.component';
3
+ export * from './form-field-resource-updated/form-field-resource-updated.component';
4
+ export * from './form-field-temporal-extents/form-field-temporal-extents.component';
1
5
  export * from './form-field-simple/form-field-simple.component';
2
6
  export * from './form-field-file/form-field-file.component';
3
7
  export * from './form-field-rich/form-field-rich.component';
4
8
  export * from './form-field-object/form-field-object.component';
5
9
  export * from './form-field-array/form-field-array.component';
6
10
  export * from './form-field-spatial-extent/form-field-spatial-extent.component';
7
- export * from './form-field-temporal-extent/form-field-temporal-extent.component';
8
11
  export * from './form-field.component';
9
- export * from './form-field.model';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLGlFQUFpRSxDQUFBO0FBQy9FLGNBQWMsbUVBQW1FLENBQUE7QUFDakYsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtZmlsZS9mb3JtLWZpZWxkLWZpbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXJpY2gvZm9ybS1maWVsZC1yaWNoLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1vYmplY3QvZm9ybS1maWVsZC1vYmplY3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudC9mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJ1xuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHFFQUFxRSxDQUFBO0FBQ25GLGNBQWMscUVBQXFFLENBQUE7QUFDbkYsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1rZXl3b3Jkcy9mb3JtLWZpZWxkLWtleXdvcmRzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1saWNlbnNlL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZC9mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHMvZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnRzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1zaW1wbGUvZm9ybS1maWVsZC1zaW1wbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLWZpbGUvZm9ybS1maWVsZC1maWxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1yaWNoL2Zvcm0tZmllbGQtcmljaC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1hcnJheS9mb3JtLWZpZWxkLWFycmF5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnXG4iXX0=
@@ -2,28 +2,32 @@ import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { EditorFacade } from '../../+state/editor.facade';
4
4
  import { FormFieldComponent } from './form-field';
5
+ import { TranslateModule } from '@ngx-translate/core';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../+state/editor.facade";
7
8
  import * as i2 from "@angular/common";
9
+ import * as i3 from "@ngx-translate/core";
8
10
  export class RecordFormComponent {
9
11
  constructor(facade) {
10
12
  this.facade = facade;
11
- this.fields$ = this.facade.recordFields$;
12
13
  }
13
- handleFieldValueChange(field, newValue) {
14
- if (!field.config.model) {
14
+ handleFieldValueChange(model, newValue) {
15
+ if (!model) {
15
16
  return;
16
17
  }
17
- this.facade.updateRecordField(field.config.model, newValue);
18
+ this.facade.updateRecordField(model, newValue);
18
19
  }
19
20
  fieldTracker(index, field) {
20
21
  return field.config.model;
21
22
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordFormComponent, deps: [{ token: i1.EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6 p-6\">\n <ng-container *ngFor=\"let field of fields$ | async; trackBy: fieldTracker\">\n <gn-ui-form-field\n *ngIf=\"field.config.formFieldConfig && !field.config.hidden\"\n [model]=\"field.config.model\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field, $event)\"\n ></gn-ui-form-field>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldComponent, selector: "gn-ui-form-field", inputs: ["model", "config", "value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ sectionTracker(index, section) {
24
+ return section.labelKey;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, deps: [{ token: i1.EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldComponent, selector: "gn-ui-form-field", inputs: ["model", "config", "value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
28
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordFormComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, decorators: [{
26
30
  type: Component,
27
- args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent], template: "<div class=\"flex flex-col gap-6 p-6\">\n <ng-container *ngFor=\"let field of fields$ | async; trackBy: fieldTracker\">\n <gn-ui-form-field\n *ngIf=\"field.config.formFieldConfig && !field.config.hidden\"\n [model]=\"field.config.model\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field, $event)\"\n ></gn-ui-form-field>\n </ng-container>\n</div>\n" }]
31
+ args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
28
32
  }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7OztBQVVqRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW1CLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFGdkMsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFBO0lBRU8sQ0FBQztJQUUzQyxzQkFBc0IsQ0FBQyxLQUF1QixFQUFFLFFBQTBCO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUN2QixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLEtBQXVCO1FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDM0IsQ0FBQzs4R0FkVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw2RUNkaEMsbWNBV0EseUREQ1ksWUFBWSxxVEFBRSxrQkFBa0I7OzJGQUUvQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IEVkaXRvckZpZWxkU3RhdGUsIEVkaXRvckZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGRzLm1vZGVsJ1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1yZWNvcmQtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNvcmQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY29yZC1mb3JtLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1GaWVsZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1Db21wb25lbnQge1xuICBmaWVsZHMkID0gdGhpcy5mYWNhZGUucmVjb3JkRmllbGRzJFxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmYWNhZGU6IEVkaXRvckZhY2FkZSkge31cblxuICBoYW5kbGVGaWVsZFZhbHVlQ2hhbmdlKGZpZWxkOiBFZGl0b3JGaWVsZFN0YXRlLCBuZXdWYWx1ZTogRWRpdG9yRmllbGRWYWx1ZSkge1xuICAgIGlmICghZmllbGQuY29uZmlnLm1vZGVsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkRmllbGQoZmllbGQuY29uZmlnLm1vZGVsLCBuZXdWYWx1ZSlcbiAgfVxuXG4gIGZpZWxkVHJhY2tlcihpbmRleDogbnVtYmVyLCBmaWVsZDogRWRpdG9yRmllbGRTdGF0ZSkge1xuICAgIHJldHVybiBmaWVsZC5jb25maWcubW9kZWxcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTYgcC02XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkcyQgfCBhc3luYzsgdHJhY2tCeTogZmllbGRUcmFja2VyXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGRcbiAgICAgICpuZ0lmPVwiZmllbGQuY29uZmlnLmZvcm1GaWVsZENvbmZpZyAmJiAhZmllbGQuY29uZmlnLmhpZGRlblwiXG4gICAgICBbbW9kZWxdPVwiZmllbGQuY29uZmlnLm1vZGVsXCJcbiAgICAgIFtjb25maWddPVwiZmllbGQuY29uZmlnLmZvcm1GaWVsZENvbmZpZ1wiXG4gICAgICBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZUZpZWxkVmFsdWVDaGFuZ2UoZmllbGQsICRldmVudClcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7O0FBY3JELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUFHLENBQUM7SUFFM0Msc0JBQXNCLENBQUMsS0FBYSxFQUFFLFFBQTBCO1FBQzlELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUEyQjtRQUNyRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzNCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLE9BQWdDO1FBQzVELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQTtJQUN6QixDQUFDOytHQWhCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2RUNuQmhDLGltREFtREEseUREbENZLFlBQVksbVpBQUUsa0JBQWtCLDRIQUFFLGVBQWU7OzRGQUVoRCxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWRpdG9yRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL2VkaXRvci5mYWNhZGUnXG5pbXBvcnQgeyBFZGl0b3JGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIEVkaXRvckZpZWxkV2l0aFZhbHVlLFxuICBFZGl0b3JTZWN0aW9uV2l0aFZhbHVlcyxcbn0gZnJvbSAnLi4vLi4vK3N0YXRlL2VkaXRvci5tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlY29yZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybUZpZWxkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRGb3JtQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIGZhY2FkZTogRWRpdG9yRmFjYWRlKSB7fVxuXG4gIGhhbmRsZUZpZWxkVmFsdWVDaGFuZ2UobW9kZWw6IHN0cmluZywgbmV3VmFsdWU6IEVkaXRvckZpZWxkVmFsdWUpIHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkRmllbGQobW9kZWwsIG5ld1ZhbHVlKVxuICB9XG5cbiAgZmllbGRUcmFja2VyKGluZGV4OiBudW1iZXIsIGZpZWxkOiBFZGl0b3JGaWVsZFdpdGhWYWx1ZSk6IGFueSB7XG4gICAgcmV0dXJuIGZpZWxkLmNvbmZpZy5tb2RlbFxuICB9XG5cbiAgc2VjdGlvblRyYWNrZXIoaW5kZXg6IG51bWJlciwgc2VjdGlvbjogRWRpdG9yU2VjdGlvbldpdGhWYWx1ZXMpOiBhbnkge1xuICAgIHJldHVybiBzZWN0aW9uLmxhYmVsS2V5XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02IHAtOFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cIlxuICAgICAgICBsZXQgc2VjdGlvbiBvZiBmYWNhZGUuY3VycmVudFNlY3Rpb25zJCB8IGFzeW5jO1xuICAgICAgICB0cmFja0J5OiBzZWN0aW9uVHJhY2tlclxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlY3Rpb24uaGlkZGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC04IGJvcmRlciBwLTggcm91bmRlZC1bOHB4XSBzaGFkb3dcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VjdGlvbi5sYWJlbEtleSA/ICdtYi00JyA6ICdoaWRkZW4nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbi5sYWJlbEtleVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC0yeGwgZm9udC10aXRsZSB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBzZWN0aW9uLmxhYmVsS2V5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uLmRlc2NyaXB0aW9uS2V5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBzZWN0aW9uLmRlc2NyaXB0aW9uS2V5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IGZpZWxkIG9mIHNlY3Rpb24uZmllbGRzV2l0aFZhbHVlcztcbiAgICAgICAgICAgICAgdHJhY2tCeTogZmllbGRUcmFja2VyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmllbGQuY29uZmlnLmhpZGRlblwiPlxuICAgICAgICAgICAgICA8Z24tdWktZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJmaWVsZC5jb25maWcubW9kZWwhXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZpZWxkLmNvbmZpZy5mb3JtRmllbGRDb25maWdcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlRmllbGRWYWx1ZUNoYW5nZShmaWVsZC5jb25maWcubW9kZWwhLCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvZ24tdWktZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -52,10 +52,10 @@ export class WizardComponent {
52
52
  inputEl.focus();
53
53
  }, 0);
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent, deps: [{ token: i1.WizardService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: WizardComponent, selector: "gn-ui-wizard", inputs: { id: "id", initialConfig: "initialConfig", requiredMsgKey: "requiredMsgKey" }, outputs: { stepChanges: "stepChanges", stepsNumber: "stepsNumber" }, viewQueries: [{ propertyName: "wizardFieldsEl", first: true, predicate: ["wizardFields"], descendants: true }], ngImport: i0, template: "<div class=\"pl-5 pt-24 flex flex-1 flex-col justify-between\">\n <div\n #wizardFields\n class=\"flex-1 flex\"\n *ngFor=\"let config of configuration; let i = index\"\n >\n <gn-ui-wizard-field [wizardFieldConfig]=\"config\"></gn-ui-wizard-field>\n </div>\n</div>\n<div class=\"flex pt-24 pl-8\">\n <gn-ui-button\n (buttonClick)=\"handlePreviousBtnClick()\"\n type=\"primary\"\n class=\"pr-8\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>previous</span>\n </gn-ui-button>\n <gn-ui-button\n (buttonClick)=\"handleNextBtnClick()\"\n type=\"primary\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>next</span>\n </gn-ui-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.WizardFieldComponent, selector: "gn-ui-wizard-field", inputs: ["wizardFieldConfig"] }] }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WizardComponent, deps: [{ token: i1.WizardService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WizardComponent, selector: "gn-ui-wizard", inputs: { id: "id", initialConfig: "initialConfig", requiredMsgKey: "requiredMsgKey" }, outputs: { stepChanges: "stepChanges", stepsNumber: "stepsNumber" }, viewQueries: [{ propertyName: "wizardFieldsEl", first: true, predicate: ["wizardFields"], descendants: true }], ngImport: i0, template: "<div class=\"pl-5 pt-24 flex flex-1 flex-col justify-between\">\n <div\n #wizardFields\n class=\"flex-1 flex\"\n *ngFor=\"let config of configuration; let i = index\"\n >\n <gn-ui-wizard-field [wizardFieldConfig]=\"config\"></gn-ui-wizard-field>\n </div>\n</div>\n<div class=\"flex pt-24 pl-8\">\n <gn-ui-button\n (buttonClick)=\"handlePreviousBtnClick()\"\n type=\"primary\"\n class=\"pr-8\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>previous</span>\n </gn-ui-button>\n <gn-ui-button\n (buttonClick)=\"handleNextBtnClick()\"\n type=\"primary\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>next</span>\n </gn-ui-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.WizardFieldComponent, selector: "gn-ui-wizard-field", inputs: ["wizardFieldConfig"] }] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WizardComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'gn-ui-wizard', template: "<div class=\"pl-5 pt-24 flex flex-1 flex-col justify-between\">\n <div\n #wizardFields\n class=\"flex-1 flex\"\n *ngFor=\"let config of configuration; let i = index\"\n >\n <gn-ui-wizard-field [wizardFieldConfig]=\"config\"></gn-ui-wizard-field>\n </div>\n</div>\n<div class=\"flex pt-24 pl-8\">\n <gn-ui-button\n (buttonClick)=\"handlePreviousBtnClick()\"\n type=\"primary\"\n class=\"pr-8\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>previous</span>\n </gn-ui-button>\n <gn-ui-button\n (buttonClick)=\"handleNextBtnClick()\"\n type=\"primary\"\n extraClass=\"rounded-full px-20\"\n >\n <span class=\"uppercase text-white font-bold\" translate>next</span>\n </gn-ui-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-direction:column}\n"] }]
61
61
  }], ctorParameters: function () { return [{ type: i1.WizardService }, { type: i2.TranslateService }]; }, propDecorators: { id: [{
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
72
72
  type: ViewChild,
73
73
  args: ['wizardFields']
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7Ozs7OztBQU83RCxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsWUFDVSxhQUE0QixFQUM1QixTQUEyQjtRQUQzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVYzQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBVS9DLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFMUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFBO1FBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRXZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQ0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTTtZQUN2RSxDQUFDLEVBQ0Q7WUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN0RSxPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQ2hFLENBQUM7SUFFTyxRQUFRO1FBQ2QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUNoRSx5QkFBeUIsQ0FDMUIsQ0FBQyxDQUFDLENBQWdCLENBQUE7WUFDbkIsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7OEdBdkVVLGVBQWU7a0dBQWYsZUFBZSxpVUNwQjVCLHN4QkEwQkE7OzJGRE5hLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsY0FBYzttSUFLZixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFb0IsY0FBYztzQkFBeEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBXaXphcmRGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dpemFyZC1maWVsZC5tb2RlbCdcbmltcG9ydCB7IFdpemFyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aXphcmQuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktd2l6YXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFdpemFyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmdcbiAgQElucHV0KCkgaW5pdGlhbENvbmZpZzoge1xuICAgIGNvbmZpZ3VyYXRpb246IFdpemFyZEZpZWxkTW9kZWxbXVtdXG4gICAgc3RvcmFnZUtleTogc3RyaW5nXG4gIH1cbiAgQElucHV0KCkgcmVxdWlyZWRNc2dLZXk6IHN0cmluZ1xuXG4gIEBPdXRwdXQoKSBzdGVwQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG4gIEBPdXRwdXQoKSBzdGVwc051bWJlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG5cbiAgQFZpZXdDaGlsZCgnd2l6YXJkRmllbGRzJykgd2l6YXJkRmllbGRzRWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgY3VycmVudFN0ZXA6IG51bWJlclxuICBjb25maWd1cmF0aW9uOiBXaXphcmRGaWVsZE1vZGVsW11cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpemFyZFNlcnZpY2U6IFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMud2l6YXJkU2VydmljZS5pbml0aWFsaXplKHRoaXMuaWQsIHRoaXMuaW5pdGlhbENvbmZpZylcblxuICAgIHRoaXMuaW5pdGlhbGl6ZUN1cnJlbnRTdGVwKClcbiAgICB0aGlzLnN0ZXBDaGFuZ2VzLmVtaXQodGhpcy53aXphcmRTZXJ2aWNlLmdldEN1cnJlbnRTdGVwKCkpXG4gICAgdGhpcy5zdGVwc051bWJlci5lbWl0KHRoaXMud2l6YXJkU2VydmljZS5nZXRDb25maWd1cmF0aW9uU3RlcE51bWJlcigpKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG5cbiAgaGFuZGxlUHJldmlvdXNCdG5DbGljaygpIHtcbiAgICB0aGlzLm9uU3RlcENoYW5nZSh0aGlzLmN1cnJlbnRTdGVwIC0gMSlcblxuICAgIHRoaXMuc3RlcENoYW5nZXMuZW1pdCh0aGlzLmN1cnJlbnRTdGVwKVxuICB9XG5cbiAgaGFuZGxlTmV4dEJ0bkNsaWNrKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud2l6YXJkRmllbGRzRWw/Lm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkJykubGVuZ3RoID5cbiAgICAgIDBcbiAgICApIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCh0aGlzLnJlcXVpcmVkTXNnS2V5KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShhbGVydClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLm9uU3RlcENoYW5nZSh0aGlzLmN1cnJlbnRTdGVwICsgMSlcblxuICAgIHRoaXMuc3RlcENoYW5nZXMuZW1pdCh0aGlzLmN1cnJlbnRTdGVwKVxuICB9XG5cbiAgb25TdGVwQ2hhbmdlKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFN0ZXBDaGFuZ2VkKHN0ZXApXG5cbiAgICB0aGlzLnNldEZvY3VzKClcbiAgICB0aGlzLmluaXRpYWxpemVDdXJyZW50U3RlcCgpXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDdXJyZW50U3RlcCgpIHtcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gdGhpcy53aXphcmRTZXJ2aWNlLmdldEN1cnJlbnRTdGVwKClcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLndpemFyZFNlcnZpY2UuZ2V0U3RlcENvbmZpZ3VyYXRpb24oKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1cygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLndpemFyZEZpZWxkc0VsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2lucHV0LCB0ZXh0YXJlYSwgc2VsZWN0J1xuICAgICAgKVswXSBhcyBIVE1MRWxlbWVudFxuICAgICAgaW5wdXRFbC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBsLTUgcHQtMjQgZmxleCBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gIDxkaXZcbiAgICAjd2l6YXJkRmllbGRzXG4gICAgY2xhc3M9XCJmbGV4LTEgZmxleFwiXG4gICAgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBjb25maWd1cmF0aW9uOyBsZXQgaSA9IGluZGV4XCJcbiAgPlxuICAgIDxnbi11aS13aXphcmQtZmllbGQgW3dpemFyZEZpZWxkQ29uZmlnXT1cImNvbmZpZ1wiPjwvZ24tdWktd2l6YXJkLWZpZWxkPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZsZXggcHQtMjQgcGwtOFwiPlxuICA8Z24tdWktYnV0dG9uXG4gICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZVByZXZpb3VzQnRuQ2xpY2soKVwiXG4gICAgdHlwZT1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwicHItOFwiXG4gICAgZXh0cmFDbGFzcz1cInJvdW5kZWQtZnVsbCBweC0yMFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInVwcGVyY2FzZSB0ZXh0LXdoaXRlIGZvbnQtYm9sZFwiIHRyYW5zbGF0ZT5wcmV2aW91czwvc3Bhbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlTmV4dEJ0bkNsaWNrKClcIlxuICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICBleHRyYUNsYXNzPVwicm91bmRlZC1mdWxsIHB4LTIwXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidXBwZXJjYXNlIHRleHQtd2hpdGUgZm9udC1ib2xkXCIgdHJhbnNsYXRlPm5leHQ8L3NwYW4+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7Ozs7OztBQU83RCxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsWUFDVSxhQUE0QixFQUM1QixTQUEyQjtRQUQzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVYzQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBVS9DLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFMUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFBO1FBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRXZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQ0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTTtZQUN2RSxDQUFDLEVBQ0Q7WUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN0RSxPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQ2hFLENBQUM7SUFFTyxRQUFRO1FBQ2QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUNoRSx5QkFBeUIsQ0FDMUIsQ0FBQyxDQUFDLENBQWdCLENBQUE7WUFDbkIsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7K0dBdkVVLGVBQWU7bUdBQWYsZUFBZSxpVUNwQjVCLHN4QkEwQkE7OzRGRE5hLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsY0FBYzttSUFLZixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFb0IsY0FBYztzQkFBeEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBXaXphcmRGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dpemFyZC1maWVsZC5tb2RlbCdcbmltcG9ydCB7IFdpemFyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aXphcmQuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktd2l6YXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFdpemFyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmdcbiAgQElucHV0KCkgaW5pdGlhbENvbmZpZzoge1xuICAgIGNvbmZpZ3VyYXRpb246IFdpemFyZEZpZWxkTW9kZWxbXVtdXG4gICAgc3RvcmFnZUtleTogc3RyaW5nXG4gIH1cbiAgQElucHV0KCkgcmVxdWlyZWRNc2dLZXk6IHN0cmluZ1xuXG4gIEBPdXRwdXQoKSBzdGVwQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG4gIEBPdXRwdXQoKSBzdGVwc051bWJlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG5cbiAgQFZpZXdDaGlsZCgnd2l6YXJkRmllbGRzJykgd2l6YXJkRmllbGRzRWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgY3VycmVudFN0ZXA6IG51bWJlclxuICBjb25maWd1cmF0aW9uOiBXaXphcmRGaWVsZE1vZGVsW11cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpemFyZFNlcnZpY2U6IFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMud2l6YXJkU2VydmljZS5pbml0aWFsaXplKHRoaXMuaWQsIHRoaXMuaW5pdGlhbENvbmZpZylcblxuICAgIHRoaXMuaW5pdGlhbGl6ZUN1cnJlbnRTdGVwKClcbiAgICB0aGlzLnN0ZXBDaGFuZ2VzLmVtaXQodGhpcy53aXphcmRTZXJ2aWNlLmdldEN1cnJlbnRTdGVwKCkpXG4gICAgdGhpcy5zdGVwc051bWJlci5lbWl0KHRoaXMud2l6YXJkU2VydmljZS5nZXRDb25maWd1cmF0aW9uU3RlcE51bWJlcigpKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG5cbiAgaGFuZGxlUHJldmlvdXNCdG5DbGljaygpIHtcbiAgICB0aGlzLm9uU3RlcENoYW5nZSh0aGlzLmN1cnJlbnRTdGVwIC0gMSlcblxuICAgIHRoaXMuc3RlcENoYW5nZXMuZW1pdCh0aGlzLmN1cnJlbnRTdGVwKVxuICB9XG5cbiAgaGFuZGxlTmV4dEJ0bkNsaWNrKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud2l6YXJkRmllbGRzRWw/Lm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkJykubGVuZ3RoID5cbiAgICAgIDBcbiAgICApIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCh0aGlzLnJlcXVpcmVkTXNnS2V5KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShhbGVydClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLm9uU3RlcENoYW5nZSh0aGlzLmN1cnJlbnRTdGVwICsgMSlcblxuICAgIHRoaXMuc3RlcENoYW5nZXMuZW1pdCh0aGlzLmN1cnJlbnRTdGVwKVxuICB9XG5cbiAgb25TdGVwQ2hhbmdlKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFN0ZXBDaGFuZ2VkKHN0ZXApXG5cbiAgICB0aGlzLnNldEZvY3VzKClcbiAgICB0aGlzLmluaXRpYWxpemVDdXJyZW50U3RlcCgpXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDdXJyZW50U3RlcCgpIHtcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gdGhpcy53aXphcmRTZXJ2aWNlLmdldEN1cnJlbnRTdGVwKClcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLndpemFyZFNlcnZpY2UuZ2V0U3RlcENvbmZpZ3VyYXRpb24oKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1cygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLndpemFyZEZpZWxkc0VsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2lucHV0LCB0ZXh0YXJlYSwgc2VsZWN0J1xuICAgICAgKVswXSBhcyBIVE1MRWxlbWVudFxuICAgICAgaW5wdXRFbC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBsLTUgcHQtMjQgZmxleCBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gIDxkaXZcbiAgICAjd2l6YXJkRmllbGRzXG4gICAgY2xhc3M9XCJmbGV4LTEgZmxleFwiXG4gICAgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBjb25maWd1cmF0aW9uOyBsZXQgaSA9IGluZGV4XCJcbiAgPlxuICAgIDxnbi11aS13aXphcmQtZmllbGQgW3dpemFyZEZpZWxkQ29uZmlnXT1cImNvbmZpZ1wiPjwvZ24tdWktd2l6YXJkLWZpZWxkPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZsZXggcHQtMjQgcGwtOFwiPlxuICA8Z24tdWktYnV0dG9uXG4gICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZVByZXZpb3VzQnRuQ2xpY2soKVwiXG4gICAgdHlwZT1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwicHItOFwiXG4gICAgZXh0cmFDbGFzcz1cInJvdW5kZWQtZnVsbCBweC0yMFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInVwcGVyY2FzZSB0ZXh0LXdoaXRlIGZvbnQtYm9sZFwiIHRyYW5zbGF0ZT5wcmV2aW91czwvc3Bhbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlTmV4dEJ0bkNsaWNrKClcIlxuICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICBleHRyYUNsYXNzPVwicm91bmRlZC1mdWxsIHB4LTIwXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidXBwZXJjYXNlIHRleHQtd2hpdGUgZm9udC1ib2xkXCIgdHJhbnNsYXRlPm5leHQ8L3NwYW4+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=