geonetwork-ui 2.4.0-dev.618ec561 → 2.4.0-dev.66a33793

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 (698) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -2
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +11 -16
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -33
  10. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +22 -4
  11. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +96 -40
  12. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  13. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  14. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  15. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  16. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  17. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  19. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  20. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  21. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  22. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  23. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  24. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  25. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  26. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  27. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  28. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  29. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  30. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  31. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  32. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
  33. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  34. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  35. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +145 -0
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  42. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  43. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  44. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  45. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  46. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -68
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  49. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +46 -55
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -4
  52. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  53. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  54. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +58 -7
  55. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  56. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
  57. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  58. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  59. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  60. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  61. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  62. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  63. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +20 -19
  64. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +23 -14
  65. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +15 -14
  66. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +18 -13
  67. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +16 -11
  68. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  69. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +9 -68
  70. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  71. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +43 -18
  72. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  73. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  74. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
  75. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  76. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  77. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  78. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  79. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  80. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  81. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +42 -8
  82. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +6 -2
  83. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  84. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  85. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  86. package/esm2022/libs/ui/elements/src/index.mjs +3 -2
  87. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  88. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  89. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  90. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  91. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  92. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  93. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  94. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  95. package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
  96. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +24 -7
  97. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  98. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  99. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  100. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  101. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  102. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  103. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +21 -23
  104. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  105. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  106. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  107. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  108. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +4 -13
  109. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  110. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  111. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  112. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  113. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  114. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  115. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  116. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  117. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  118. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  119. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  120. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  121. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +49 -11
  122. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +23 -11
  123. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  124. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  125. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  126. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  127. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  128. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  129. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  130. package/esm2022/translations/de.json +75 -2
  131. package/esm2022/translations/en.json +75 -2
  132. package/esm2022/translations/es.json +73 -0
  133. package/esm2022/translations/fr.json +86 -13
  134. package/esm2022/translations/it.json +75 -2
  135. package/esm2022/translations/nl.json +73 -0
  136. package/esm2022/translations/pt.json +73 -0
  137. package/fesm2022/geonetwork-ui.mjs +8323 -7149
  138. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  139. package/libs/api/metadata-converter/src/index.d.ts +1 -1
  140. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  141. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  142. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  143. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  144. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  145. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  146. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  147. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
  148. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  149. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  150. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  151. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  152. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -7
  153. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  154. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +6 -0
  155. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  156. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +18 -8
  157. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  158. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  159. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  160. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  161. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
  162. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  163. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  164. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  165. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  166. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  167. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  168. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  169. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +15 -0
  170. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  171. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  172. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  173. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  174. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  175. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  176. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  177. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  178. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  179. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  180. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  181. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  182. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  183. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  184. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  185. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  186. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  187. package/libs/feature/editor/src/index.d.ts +1 -0
  188. package/libs/feature/editor/src/index.d.ts.map +1 -1
  189. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  190. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  191. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  192. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  193. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  194. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  195. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  196. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  197. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  198. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  199. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  200. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  201. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  202. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  203. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  204. 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
  205. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  206. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  207. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  208. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  209. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  210. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  211. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  212. 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
  213. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  214. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  215. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  216. 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
  217. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  218. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  219. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  220. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  221. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  222. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  223. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  224. 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
  225. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -16
  226. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  227. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  228. 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
  229. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -24
  230. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  231. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  232. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  233. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  234. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  235. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  236. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  237. package/libs/feature/editor/src/lib/fields.config.d.ts +15 -0
  238. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  239. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  240. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  241. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  242. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  243. package/libs/feature/map/src/index.d.ts +1 -8
  244. package/libs/feature/map/src/index.d.ts.map +1 -1
  245. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  246. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  247. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  248. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  249. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  250. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  251. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  252. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  253. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  254. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  255. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  256. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  257. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  258. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  259. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  260. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  261. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  262. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  263. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  264. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  265. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  266. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  267. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  268. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  269. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  270. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  271. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  272. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  273. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  274. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  275. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  276. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  277. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  278. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  279. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  280. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  281. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  282. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  283. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  284. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  285. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  286. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  287. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  288. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  289. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +12 -3
  290. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  291. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  292. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  293. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  294. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  295. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  296. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  297. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  298. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  299. package/libs/ui/elements/src/index.d.ts +2 -1
  300. package/libs/ui/elements/src/index.d.ts.map +1 -1
  301. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  302. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  303. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  304. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  305. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  306. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  307. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  308. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  309. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  310. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  311. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  312. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  313. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  314. package/libs/ui/inputs/src/index.d.ts +5 -0
  315. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  316. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  317. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  318. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  319. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  320. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  321. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  322. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  323. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  324. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  325. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  326. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  327. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +6 -9
  328. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  329. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  330. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  331. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  332. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  333. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  334. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  335. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  336. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  337. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  338. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  339. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  340. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  341. package/libs/ui/layout/src/index.d.ts +2 -0
  342. package/libs/ui/layout/src/index.d.ts.map +1 -1
  343. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  344. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  345. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  346. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  347. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  348. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  349. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  350. package/libs/ui/map/src/index.d.ts +3 -2
  351. package/libs/ui/map/src/index.d.ts.map +1 -1
  352. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  353. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  354. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  355. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  356. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  357. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  358. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  359. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  360. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  361. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  362. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +10 -1
  363. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  364. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +8 -4
  365. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  366. package/libs/util/app-config/src/index.d.ts +1 -0
  367. package/libs/util/app-config/src/index.d.ts.map +1 -1
  368. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  369. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  370. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  371. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  372. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  373. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  374. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  375. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  376. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  377. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  378. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  379. package/package.json +5 -3
  380. package/src/libs/api/metadata-converter/src/index.ts +1 -1
  381. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  382. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  383. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  384. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  385. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  386. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  387. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
  388. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  389. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
  390. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +8 -15
  391. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  392. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -63
  393. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +25 -6
  394. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +156 -72
  395. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  396. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  397. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
  398. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  399. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  400. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  401. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +20 -0
  402. package/src/libs/common/fixtures/src/index.ts +3 -1
  403. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  404. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  405. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  406. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  407. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  408. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  409. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  410. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  411. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  412. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  413. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  414. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  415. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  416. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  417. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  418. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  419. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  420. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  421. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  422. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  423. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  424. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
  425. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  426. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  427. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  428. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  429. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  430. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  431. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  432. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  433. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  434. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  435. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  436. package/src/libs/feature/editor/src/index.ts +1 -0
  437. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  438. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  439. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  440. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  441. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
  442. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  443. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  444. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  445. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  446. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  447. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  448. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  449. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
  450. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +211 -0
  451. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  452. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  453. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  454. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  455. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  456. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  457. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  458. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  459. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  460. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  461. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  462. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  463. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  464. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  465. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  466. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  467. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  468. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  469. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  470. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  471. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  472. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  473. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  474. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -86
  475. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  476. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  477. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  478. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +110 -74
  479. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +50 -55
  480. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  481. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
  482. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -4
  483. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  484. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  485. package/src/libs/feature/editor/src/lib/fields.config.ts +64 -6
  486. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  487. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  488. package/src/libs/feature/map/src/index.ts +1 -8
  489. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  490. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  491. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  492. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  493. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  494. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  495. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  496. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  497. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  498. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  499. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  500. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  501. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  502. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  503. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  504. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  505. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  506. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  507. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  508. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  509. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  510. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  511. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
  512. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  513. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  514. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  515. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  516. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  517. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  518. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  519. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +3 -1
  520. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +61 -3
  521. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  522. package/src/libs/feature/search/src/lib/state/search.facade.ts +6 -0
  523. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  524. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  525. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  526. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  527. package/src/libs/ui/elements/src/index.ts +2 -1
  528. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  529. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  530. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  531. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  532. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  533. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  534. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  535. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  536. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  537. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  538. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  539. package/src/libs/ui/inputs/src/index.ts +5 -0
  540. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  541. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  542. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +19 -4
  543. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
  544. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  545. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  546. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  547. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  548. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  549. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  550. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  551. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  552. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  553. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  554. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  555. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  556. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  557. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  558. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +19 -21
  559. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  560. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  561. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  562. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  563. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  564. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  565. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  566. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  567. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -6
  568. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  569. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  570. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  571. package/src/libs/ui/layout/src/index.ts +2 -0
  572. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  573. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  574. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -0
  575. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  576. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  577. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  578. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  579. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +15 -18
  580. package/src/libs/ui/map/src/index.ts +3 -2
  581. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  582. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  583. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  584. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  585. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  586. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  587. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  588. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +10 -1
  589. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +55 -3
  590. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +16 -4
  591. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +14 -15
  592. package/src/libs/util/app-config/src/index.ts +1 -0
  593. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  594. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  595. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  596. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  597. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  598. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  599. package/tailwind.base.config.js +1 -0
  600. package/tailwind.base.css +49 -6
  601. package/translations/de.json +75 -2
  602. package/translations/en.json +75 -2
  603. package/translations/es.json +73 -0
  604. package/translations/fr.json +86 -13
  605. package/translations/it.json +75 -2
  606. package/translations/nl.json +73 -0
  607. package/translations/pt.json +73 -0
  608. package/translations/sk.json +73 -0
  609. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -138
  610. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  611. 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 +0 -17
  612. 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 +0 -17
  613. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  614. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  615. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  616. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  617. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  618. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  619. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  620. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  621. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  622. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  623. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  624. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -43
  625. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  626. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  627. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  628. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  629. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  630. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  631. 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 +0 -8
  632. 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 +0 -1
  633. 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 +0 -8
  634. 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 +0 -1
  635. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  636. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  637. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  638. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  639. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  640. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  641. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  642. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  643. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  644. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  645. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  646. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  647. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  648. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  649. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  650. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  651. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  652. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  653. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  654. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  655. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  656. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  657. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  658. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  659. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  660. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  661. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  662. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  663. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  664. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  665. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  666. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -10
  667. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -166
  668. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  669. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  670. 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 +0 -7
  671. 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 +0 -16
  672. 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 +0 -13
  673. 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 +0 -16
  674. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  675. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  676. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  677. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  678. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  679. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  680. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  681. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  682. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  683. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  684. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  685. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  686. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  687. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -36
  688. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  689. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  690. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  691. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  692. /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 → import-record/import-record.component.css} +0 -0
  693. /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 → online-resource-card/online-resource-card.component.css} +0 -0
  694. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  695. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  696. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
  697. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  698. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,94 +1,79 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ElementRef, Input, Output, ViewChild, } from '@angular/core';
3
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
4
3
  import { MatIconModule } from '@angular/material/icon';
5
4
  import { MatTooltipModule } from '@angular/material/tooltip';
6
5
  import { EditableLabelDirective } from '../../../../../../../../libs/ui/inputs/src';
7
6
  import { FormFieldWrapperComponent } from '../../../../../../../../libs/ui/layout/src';
8
7
  import { TranslateModule } from '@ngx-translate/core';
9
- import { Observable } from 'rxjs';
10
- import { FormFieldLicenseComponent, FormFieldResourceUpdatedComponent, FormFieldTemporalExtentsComponent, } from '.';
8
+ import { FormFieldLicenseComponent, FormFieldDateUpdatedComponent, FormFieldTemporalExtentsComponent, } from '.';
11
9
  import { FormFieldArrayComponent } from './form-field-array/form-field-array.component';
10
+ import { FormFieldContactsForResourceComponent } from './form-field-contacts-for-resource/form-field-contacts-for-resource.component';
12
11
  import { FormFieldFileComponent } from './form-field-file/form-field-file.component';
12
+ import { FormFieldKeywordsComponent } from './form-field-keywords/form-field-keywords.component';
13
13
  import { FormFieldObjectComponent } from './form-field-object/form-field-object.component';
14
+ import { FormFieldOverviewsComponent } from './form-field-overviews/form-field-overviews.component';
14
15
  import { FormFieldRichComponent } from './form-field-rich/form-field-rich.component';
15
16
  import { FormFieldSimpleComponent } from './form-field-simple/form-field-simple.component';
16
17
  import { FormFieldSpatialExtentComponent } from './form-field-spatial-extent/form-field-spatial-extent.component';
17
18
  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';
19
+ import { FormFieldOpenDataComponent } from './form-field-open-data/form-field-open-data.component';
20
+ import { FormFieldOnlineLinkResourcesComponent } from './form-field-online-link-resources/form-field-online-link-resources.component';
22
21
  import * as i0 from "@angular/core";
23
- import * as i1 from "../../../+state/editor.facade";
24
- import * as i2 from "@angular/common";
22
+ import * as i1 from "@angular/common";
23
+ import * as i2 from "@ngx-translate/core";
25
24
  import * as i3 from "@angular/material/tooltip";
26
- import * as i4 from "@ngx-translate/core";
27
25
  export class FormFieldComponent {
28
- set value(v) {
29
- this.formControl.setValue(v, {
30
- emitEvent: false,
31
- });
32
- }
33
- constructor(facade) {
34
- this.facade = facade;
35
- this.metadataUuid$ = this.facade.record$.pipe(take(1), map((record) => record.uniqueIdentifier));
36
- this.formControl = new FormControl();
37
- this.valueChange = this.formControl.valueChanges;
26
+ constructor() {
27
+ this.valueChange = new EventEmitter();
28
+ this.isHidden = false;
38
29
  }
39
30
  focusTitleInput() {
40
31
  this.titleInput.nativeElement.children[0].focus();
41
32
  }
42
- get isTitle() {
43
- return this.model === 'title';
44
- }
45
- get isAbstract() {
46
- return this.model === 'abstract';
47
- }
48
- get isLicenses() {
49
- return this.model === 'licenses';
33
+ get withoutWrapper() {
34
+ return this.model === 'title' || this.model === 'abstract';
50
35
  }
51
- get isResourceUpdated() {
52
- return this.model === 'resourceUpdated';
36
+ get valueAsString() {
37
+ return this.value;
53
38
  }
54
- get isUpdateFrequency() {
55
- return this.model === 'updateFrequency';
39
+ get valueAsDate() {
40
+ return this.value;
56
41
  }
57
- get isTemporalExtents() {
58
- return this.model === 'temporalExtents';
42
+ get valueAsOverviews() {
43
+ return this.value;
59
44
  }
60
- get isSpatialExtentField() {
61
- return this.model === 'spatialExtents';
45
+ get valueAsUpdateFrequency() {
46
+ return this.value;
62
47
  }
63
- get isGraphicOverview() {
64
- return this.model === 'overviews';
48
+ get valueAsTemporalExtents() {
49
+ return this.value;
65
50
  }
66
- get isSimpleField() {
67
- return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
51
+ get valueAsKeywords() {
52
+ return this.value;
68
53
  }
69
- get isReadOnly() {
70
- return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
54
+ get valueAsConstraints() {
55
+ return this.value;
71
56
  }
72
- get isKeywords() {
73
- return this.model === 'keywords';
57
+ get valueAsIndividuals() {
58
+ return this.value;
74
59
  }
75
- get withoutWrapper() {
76
- return this.model === 'title' || this.model === 'abstract';
60
+ get valueAsOnlineResources() {
61
+ return this.value;
77
62
  }
78
- 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 }); }
79
- 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: "<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 <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=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\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-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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"isHidden = $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 [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"valueAsString\"\n (editableLabelChanged)=\"valueChange.emit($event)\"\n ></span>\n <div class=\"flex flex-row justify-between\">\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 </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'uniqueIdentifier'\">\n <gn-ui-form-field-simple\n type=\"text\"\n [readonly]=\"true\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date-updated\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date-updated>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recordUpdated'\">\n <gn-ui-form-field-date-updated\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date-updated>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\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: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { 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: ["label", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldDateUpdatedComponent, selector: "gn-ui-form-field-date-updated", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "options", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOpenDataComponent, selector: "gn-ui-form-field-open-data", inputs: ["value"], outputs: ["valueChange", "openDataChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
65
  }
81
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
82
67
  type: Component,
83
68
  args: [{ selector: 'gn-ui-form-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
84
69
  CommonModule,
85
- ReactiveFormsModule,
70
+ TranslateModule,
86
71
  EditableLabelDirective,
87
72
  MatIconModule,
88
73
  MatTooltipModule,
89
74
  FormFieldWrapperComponent,
90
75
  FormFieldLicenseComponent,
91
- FormFieldResourceUpdatedComponent,
76
+ FormFieldDateUpdatedComponent,
92
77
  FormFieldUpdateFrequencyComponent,
93
78
  FormFieldTemporalExtentsComponent,
94
79
  FormFieldSimpleComponent,
@@ -98,10 +83,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
98
83
  FormFieldFileComponent,
99
84
  FormFieldArrayComponent,
100
85
  FormFieldKeywordsComponent,
101
- TranslateModule,
102
86
  FormFieldOverviewsComponent,
103
- ], 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 <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=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\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-template>\n" }]
104
- }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; }, propDecorators: { model: [{
87
+ FormFieldContactsForResourceComponent,
88
+ FormFieldOpenDataComponent,
89
+ FormFieldOnlineLinkResourcesComponent,
90
+ ], template: "<ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"isHidden = $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 [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"valueAsString\"\n (editableLabelChanged)=\"valueChange.emit($event)\"\n ></span>\n <div class=\"flex flex-row justify-between\">\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 </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'uniqueIdentifier'\">\n <gn-ui-form-field-simple\n type=\"text\"\n [readonly]=\"true\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date-updated\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date-updated>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recordUpdated'\">\n <gn-ui-form-field-date-updated\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date-updated>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
91
+ }], propDecorators: { uniqueIdentifier: [{
92
+ type: Input
93
+ }], model: [{
94
+ type: Input
95
+ }], modelSpecifier: [{
105
96
  type: Input
106
97
  }], config: [{
107
98
  type: Input
@@ -113,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
113
104
  type: ViewChild,
114
105
  args: ['titleInput']
115
106
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsR0FDbEMsTUFBTSxHQUFHLENBQUE7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQTtBQUNqSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQTtBQUV2SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNoRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUNuRyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7Ozs7O0FBK0I1RCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQWEsS0FBSyxDQUFDLENBQVU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFhRCxZQUFvQixNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBUHhDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FDekMsQ0FBQTtRQUVELGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUc3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFBO0lBQ2xELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ25ELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFBO0lBQ2xDLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFBO0lBQ2xDLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssaUJBQWlCLENBQUE7SUFDekMsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxpQkFBaUIsQ0FBQTtJQUN6QyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUFBO0lBQ3pDLENBQUM7SUFDRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUE7SUFDeEMsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUE7SUFDbkMsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQTtJQUM1RSxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLGtCQUFrQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFBO0lBQzVFLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFBO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQTtJQUM1RCxDQUFDOytHQWhFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2UkMvRC9CLDQ5RkEwRkEseUREaERJLFlBQVksOFZBQ1osbUJBQW1CLCtCQUNuQixzQkFBc0IsaUlBQ3RCLGFBQWEsOEJBQ2IsZ0JBQWdCLCtIQUNoQix5QkFBeUIsZ0dBQ3pCLHlCQUF5QixtR0FDekIsaUNBQWlDLG1HQUNqQyxpQ0FBaUMsbUdBQ2pDLGlDQUFpQyxtR0FDakMsd0JBQXdCLGtKQUN4QixzQkFBc0IscUlBRXRCLCtCQUErQiw0RUFHL0IsMEJBQTBCLDBGQUMxQixlQUFlLDRGQUNmLDJCQUEyQjs7NEZBR2xCLGtCQUFrQjtrQkE1QjlCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLGlDQUFpQzt3QkFDakMsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixlQUFlO3dCQUNmLDJCQUEyQjtxQkFDNUI7bUdBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQU1JLFdBQVc7c0JBQXBCLE1BQU07Z0JBRWtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbn0gZnJvbSAnLidcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmRLZXlzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgRm9ybUZpZWxkS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQta2V5d29yZHMvZm9ybS1maWVsZC1rZXl3b3Jkcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudCdcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRWRpdG9yRmFjYWRlIH0gZnJvbSAnLi4vLi4vLi4vK3N0YXRlL2VkaXRvci5mYWNhZGUnXG5pbXBvcnQgeyBGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTGljZW5zZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTaW1wbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkUmljaENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPYmplY3RDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRGaWxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEFycmF5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEtleXdvcmRzQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBDYXRhbG9nUmVjb3JkS2V5c1xuICBASW5wdXQoKSBjb25maWc6IEZvcm1GaWVsZENvbmZpZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUodjogdW5rbm93bikge1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodiwge1xuICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICB9KVxuICB9XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBPYnNlcnZhYmxlPHVua25vd24+XG5cbiAgQFZpZXdDaGlsZCgndGl0bGVJbnB1dCcpIHRpdGxlSW5wdXQ6IEVsZW1lbnRSZWZcblxuICBtZXRhZGF0YVV1aWQkID0gdGhpcy5mYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIHRha2UoMSksXG4gICAgbWFwKChyZWNvcmQpID0+IHJlY29yZC51bmlxdWVJZGVudGlmaWVyKVxuICApXG5cbiAgZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjYWRlOiBFZGl0b3JGYWNhZGUpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgfVxuXG4gIGZvY3VzVGl0bGVJbnB1dCgpIHtcbiAgICB0aGlzLnRpdGxlSW5wdXQubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5mb2N1cygpXG4gIH1cblxuICBnZXQgaXNUaXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RpdGxlJ1xuICB9XG4gIGdldCBpc0Fic3RyYWN0KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnXG4gIH1cbiAgZ2V0IGlzTGljZW5zZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdsaWNlbnNlcydcbiAgfVxuICBnZXQgaXNSZXNvdXJjZVVwZGF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdyZXNvdXJjZVVwZGF0ZWQnXG4gIH1cbiAgZ2V0IGlzVXBkYXRlRnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndXBkYXRlRnJlcXVlbmN5J1xuICB9XG4gIGdldCBpc1RlbXBvcmFsRXh0ZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RlbXBvcmFsRXh0ZW50cydcbiAgfVxuICBnZXQgaXNTcGF0aWFsRXh0ZW50RmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdzcGF0aWFsRXh0ZW50cydcbiAgfVxuICBnZXQgaXNHcmFwaGljT3ZlcnZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdvdmVydmlld3MnXG4gIH1cbiAgZ2V0IGlzU2ltcGxlRmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICd1bmlxdWVJZGVudGlmaWVyJyB8fCB0aGlzLm1vZGVsID09PSAncmVjb3JkVXBkYXRlZCdcbiAgfVxuICBnZXQgaXNSZWFkT25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3VuaXF1ZUlkZW50aWZpZXInIHx8IHRoaXMubW9kZWwgPT09ICdyZWNvcmRVcGRhdGVkJ1xuICB9XG4gIGdldCBpc0tleXdvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAna2V5d29yZHMnXG4gIH1cblxuICBnZXQgd2l0aG91dFdyYXBwZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICd0aXRsZScgfHwgdGhpcy5tb2RlbCA9PT0gJ2Fic3RyYWN0J1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBoLWZ1bGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpdGhvdXRXcmFwcGVyOyBlbHNlIHdpdGhHZW5lcmljV3JhcHBlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjd2l0aEdlbmVyaWNXcmFwcGVyPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXdyYXBwZXJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtoaW50XT1cImNvbmZpZy5oaW50S2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpZWxkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZ24tdWktZm9ybS1maWVsZC13cmFwcGVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZmllbGRDb250ZW50PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUaXRsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICN0aXRsZUlucHV0XG4gICAgICAgIGNsYXNzPVwiZ3JvdyBmb250LXRpdGxlIHRleHQtM3hsIGZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2duVWlFZGl0YWJsZUxhYmVsXT1cInRydWVcIlxuICAgICAgICAoZWRpdGFibGVMYWJlbENoYW5nZWQpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGZvcm1Db250cm9sLnZhbHVlIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwiZm9jdXNUaXRsZUlucHV0KClcIlxuICAgICAgICA+ZWRpdDwvc3BhblxuICAgICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGduLXVpLWljb24tc21hbGwgbS0yXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgPlxuICAgICAgICBoZWxwXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBYnN0cmFjdFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXJpY2hcbiAgICAgIGNsYXNzPVwiaC1bOHJlbV1cIlxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXJpY2g+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMaWNlbnNlc1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2VcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJjb25maWcubGFiZWxLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2U+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNSZXNvdXJjZVVwZGF0ZWRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1yZXNvdXJjZS11cGRhdGVkPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVXBkYXRlRnJlcXVlbmN5XCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBvcmFsRXh0ZW50c1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHNcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHM+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW1wbGVGaWVsZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXNpbXBsZVxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZE9ubHlcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtc2ltcGxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3BhdGlhbEV4dGVudEZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+PC9nbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JhcGhpY092ZXJ2aWV3XCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtb3ZlcnZpZXdzXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbWV0YWRhdGFVdWlkXT1cIm1ldGFkYXRhVXVpZCQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1vdmVydmlld3M+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNLZXl3b3Jkc1wiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWtleXdvcmRzXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1rZXl3b3Jkcz5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQVc1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEdBQ2xDLE1BQU0sR0FBRyxDQUFBO0FBRVYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDdkYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUE7QUFDckksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZD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LHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IscUNBQXFDO3dCQUNyQywwQkFBMEI7d0JBQzFCLHFDQUFxQztxQkFDdEM7OEJBR1EsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFa0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZEtleXMsXG4gIENvbnN0cmFpbnQsXG4gIERhdGFzZXRUZW1wb3JhbEV4dGVudCxcbiAgR3JhcGhpY092ZXJ2aWV3LFxuICBJbmRpdmlkdWFsLFxuICBLZXl3b3JkLFxuICBPbmxpbmVSZXNvdXJjZSxcbiAgVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICBGb3JtRmllbGREYXRlVXBkYXRlZENvbXBvbmVudCxcbiAgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRzQ29tcG9uZW50LFxufSBmcm9tICcuJ1xuaW1wb3J0IHsgRmllbGRNb2RlbFNwZWNpZmllciwgRm9ybUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgRm9ybUZpZWxkQXJyYXlDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtYXJyYXkvZm9ybS1maWVsZC1hcnJheS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRDb250YWN0c0ZvclJlc291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWZpbGUvZm9ybS1maWVsZC1maWxlLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZEtleXdvcmRzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWtleXdvcmRzL2Zvcm0tZmllbGQta2V5d29yZHMuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLW9iamVjdC9mb3JtLWZpZWxkLW9iamVjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZE9wZW5EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLW9wZW4tZGF0YS9mb3JtLWZpZWxkLW9wZW4tZGF0YS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPbmxpbmVMaW5rUmVzb3VyY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZERhdGVVcGRhdGVkQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFVwZGF0ZUZyZXF1ZW5jeUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRUZW1wb3JhbEV4dGVudHNDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFNwYXRpYWxFeHRlbnRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRBcnJheUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29udGFjdHNGb3JSZXNvdXJjZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPcGVuRGF0YUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPbmxpbmVMaW5rUmVzb3VyY2VzQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKSB1bmlxdWVJZGVudGlmaWVyOiBzdHJpbmdcbiAgQElucHV0KCkgbW9kZWw6IENhdGFsb2dSZWNvcmRLZXlzXG4gIEBJbnB1dCgpIG1vZGVsU3BlY2lmaWVyOiBGaWVsZE1vZGVsU3BlY2lmaWVyXG4gIEBJbnB1dCgpIGNvbmZpZzogRm9ybUZpZWxkQ29uZmlnXG4gIEBJbnB1dCgpIHZhbHVlOiB1bmtub3duXG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAVmlld0NoaWxkKCd0aXRsZUlucHV0JykgdGl0bGVJbnB1dDogRWxlbWVudFJlZlxuXG4gIGlzSGlkZGVuID0gZmFsc2VcblxuICBmb2N1c1RpdGxlSW5wdXQoKSB7XG4gICAgdGhpcy50aXRsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uZm9jdXMoKVxuICB9XG5cbiAgZ2V0IHdpdGhvdXRXcmFwcGVyKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnIHx8IHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxuXG4gIGdldCB2YWx1ZUFzU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIHN0cmluZ1xuICB9XG4gIGdldCB2YWx1ZUFzRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBEYXRlXG4gIH1cblxuICBnZXQgdmFsdWVBc092ZXJ2aWV3cygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxHcmFwaGljT3ZlcnZpZXc+XG4gIH1cbiAgZ2V0IHZhbHVlQXNVcGRhdGVGcmVxdWVuY3koKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgVXBkYXRlRnJlcXVlbmN5XG4gIH1cbiAgZ2V0IHZhbHVlQXNUZW1wb3JhbEV4dGVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxuICB9XG4gIGdldCB2YWx1ZUFzS2V5d29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgYXMgQXJyYXk8S2V5d29yZD5cbiAgfVxuICBnZXQgdmFsdWVBc0NvbnN0cmFpbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIEFycmF5PENvbnN0cmFpbnQ+XG4gIH1cbiAgZ2V0IHZhbHVlQXNJbmRpdmlkdWFscygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSBhcyBBcnJheTxJbmRpdmlkdWFsPlxuICB9XG4gIGdldCB2YWx1ZUFzT25saW5lUmVzb3VyY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIGFzIEFycmF5PE9ubGluZVJlc291cmNlPlxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwgPT09ICdsaWNlbnNlcydcIj5cbiAgPGduLXVpLWZvcm0tZmllbGQtb3Blbi1kYXRhXG4gICAgW3ZhbHVlXT1cInZhbHVlQXNDb25zdHJhaW50c1wiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9wZW5EYXRhQ2hhbmdlKT1cImlzSGlkZGVuID0gJGV2ZW50XCJcbiAgPjwvZ24tdWktZm9ybS1maWVsZC1vcGVuLWRhdGE+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiICpuZ0lmPVwiIWlzSGlkZGVuXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aXRob3V0V3JhcHBlcjsgZWxzZSB3aXRoR2VuZXJpY1dyYXBwZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3dpdGhHZW5lcmljV3JhcHBlcj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC13cmFwcGVyXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaGludF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWVsZENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2duLXVpLWZvcm0tZmllbGQtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2ZpZWxkQ29udGVudD5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMyBtYi1bMTJweF1cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAjdGl0bGVJbnB1dFxuICAgICAgICAgIGNsYXNzPVwiZ3JvdyBmb250LXRpdGxlIHRleHQtM3hsIGZvbnQtbm9ybWFsXCJcbiAgICAgICAgICBbZ25VaUVkaXRhYmxlTGFiZWxdPVwidmFsdWVBc1N0cmluZ1wiXG4gICAgICAgICAgKGVkaXRhYmxlTGFiZWxDaGFuZ2VkKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZvY3VzVGl0bGVJbnB1dCgpXCJcbiAgICAgICAgICAgID5lZGl0PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTJcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBoZWxwXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidhYnN0cmFjdCdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXJpY2hcbiAgICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaGludF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc1N0cmluZ1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1yaWNoPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvdmVydmlld3MnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1vdmVydmlld3NcbiAgICAgICAgW21ldGFkYXRhVXVpZF09XCJ1bmlxdWVJZGVudGlmaWVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNPdmVydmlld3NcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtb3ZlcnZpZXdzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid1bmlxdWVJZGVudGlmaWVyJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtc2ltcGxlXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc1N0cmluZ1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Jlc291cmNlVXBkYXRlZCdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWRhdGUtdXBkYXRlZFxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0RhdGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtZGF0ZS11cGRhdGVkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyZWNvcmRVcGRhdGVkJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtZGF0ZS11cGRhdGVkXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZUFzRGF0ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1kYXRlLXVwZGF0ZWQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3VwZGF0ZUZyZXF1ZW5jeSdcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3lcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNVcGRhdGVGcmVxdWVuY3lcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtdXBkYXRlLWZyZXF1ZW5jeT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGVtcG9yYWxFeHRlbnRzJ1wiPlxuICAgICAgPGduLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50c1xuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc1RlbXBvcmFsRXh0ZW50c1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnRzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzcGF0aWFsRXh0ZW50cydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50PjwvZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIna2V5d29yZHMnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1rZXl3b3Jkc1xuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0tleXdvcmRzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWtleXdvcmRzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaWNlbnNlcydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2VcbiAgICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVBc0NvbnN0cmFpbnRzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWxpY2Vuc2U+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRhY3RzRm9yUmVzb3VyY2UnXCI+XG4gICAgICA8Z24tdWktZm9ybS1maWVsZC1jb250YWN0cy1mb3ItcmVzb3VyY2VcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNJbmRpdmlkdWFsc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZm9ybS1maWVsZC1jb250YWN0cy1mb3ItcmVzb3VyY2U+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ29ubGluZVJlc291cmNlcydcIj5cbiAgICAgIDxnbi11aS1mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlc1xuICAgICAgICAqbmdJZj1cIm1vZGVsU3BlY2lmaWVyID09PSAnb25saW5lUmVzb3VyY2VUeXBlOmxpbmsnXCJcbiAgICAgICAgW21ldGFkYXRhVXVpZF09XCJ1bmlxdWVJZGVudGlmaWVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlQXNPbmxpbmVSZXNvdXJjZXNcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWZvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  export * from './form-field-keywords/form-field-keywords.component';
2
2
  export * from './form-field-license/form-field-license.component';
3
- export * from './form-field-resource-updated/form-field-resource-updated.component';
3
+ export * from './form-field-date-updated/form-field-date-updated.component';
4
4
  export * from './form-field-temporal-extents/form-field-temporal-extents.component';
5
5
  export * from './form-field-simple/form-field-simple.component';
6
6
  export * from './form-field-file/form-field-file.component';
@@ -9,4 +9,4 @@ export * from './form-field-object/form-field-object.component';
9
9
  export * from './form-field-array/form-field-array.component';
10
10
  export * from './form-field-spatial-extent/form-field-spatial-extent.component';
11
11
  export * from './form-field.component';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHFFQUFxRSxDQUFBO0FBQ25GLGNBQWMscUVBQXFFLENBQUE7QUFDbkYsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1rZXl3b3Jkcy9mb3JtLWZpZWxkLWtleXdvcmRzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1saWNlbnNlL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtcmVzb3VyY2UtdXBkYXRlZC9mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLXRlbXBvcmFsLWV4dGVudHMvZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnRzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1zaW1wbGUvZm9ybS1maWVsZC1zaW1wbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLWZpbGUvZm9ybS1maWVsZC1maWxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1yaWNoL2Zvcm0tZmllbGQtcmljaC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1hcnJheS9mb3JtLWZpZWxkLWFycmF5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnXG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMscUVBQXFFLENBQUE7QUFDbkYsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1rZXl3b3Jkcy9mb3JtLWZpZWxkLWtleXdvcmRzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1saWNlbnNlL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtZGF0ZS11cGRhdGVkL2Zvcm0tZmllbGQtZGF0ZS11cGRhdGVkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC10ZW1wb3JhbC1leHRlbnRzL2Zvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50cy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtc2ltcGxlL2Zvcm0tZmllbGQtc2ltcGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLW9iamVjdC9mb3JtLWZpZWxkLW9iamVjdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtYXJyYXkvZm9ybS1maWVsZC1hcnJheS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQuY29tcG9uZW50J1xuIl19
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { EditorFacade } from '../../+state/editor.facade';
4
4
  import { FormFieldComponent } from './form-field';
5
5
  import { TranslateModule } from '@ngx-translate/core';
6
+ import { map } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../+state/editor.facade";
8
9
  import * as i2 from "@angular/common";
@@ -10,12 +11,12 @@ import * as i3 from "@ngx-translate/core";
10
11
  export class RecordFormComponent {
11
12
  constructor(facade) {
12
13
  this.facade = facade;
14
+ this.recordUniqueIdentifier$ = this.facade.record$.pipe(map((record) => record.uniqueIdentifier));
13
15
  }
14
16
  handleFieldValueChange(model, newValue) {
15
17
  if (!model) {
16
18
  return;
17
19
  }
18
- console.log(newValue);
19
20
  this.facade.updateRecordField(model, newValue);
20
21
  }
21
22
  fieldTracker(index, field) {
@@ -25,10 +26,10 @@ export class RecordFormComponent {
25
26
  return section.labelKey;
26
27
  }
27
28
  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 }); }
28
- 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-petrona 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 }); }
29
+ 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: "<div class=\"flex flex-col gap-6\">\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-main\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div *ngIf=\"section.descriptionKey\" class=\"text-gray-800\" translate>\n {{ section.descriptionKey }}\n </div>\n </div>\n <div class=\"grid auto-rows-auto grid-cols-2 gap-[32px]\">\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 [ngClass]=\"\n field.config.gridColumnSpan === 1\n ? 'col-span-1'\n : 'col-span-2'\n \"\n [uniqueIdentifier]=\"recordUniqueIdentifier$ | async\"\n [model]=\"field.config.model!\"\n [modelSpecifier]=\"field.config.modelSpecifier!\"\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 </div>\n </ng-container>\n </ng-container>\n</div>\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: ["uniqueIdentifier", "model", "modelSpecifier", "config", "value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
30
  }
30
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, decorators: [{
31
32
  type: Component,
32
- 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-petrona 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" }]
33
+ args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<div class=\"flex flex-col gap-6\">\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-main\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div *ngIf=\"section.descriptionKey\" class=\"text-gray-800\" translate>\n {{ section.descriptionKey }}\n </div>\n </div>\n <div class=\"grid auto-rows-auto grid-cols-2 gap-[32px]\">\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 [ngClass]=\"\n field.config.gridColumnSpan === 1\n ? 'col-span-1'\n : 'col-span-2'\n \"\n [uniqueIdentifier]=\"recordUniqueIdentifier$ | async\"\n [model]=\"field.config.model!\"\n [modelSpecifier]=\"field.config.modelSpecifier!\"\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 </div>\n </ng-container>\n </ng-container>\n</div>\n" }]
33
34
  }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7O0FBY3JELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUFHLENBQUM7SUFFM0Msc0JBQXNCLENBQUMsS0FBYSxFQUFFLFFBQTBCO1FBQzlELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFNO1NBQ1A7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLEtBQTJCO1FBQ3JELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsT0FBZ0M7UUFDNUQsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFBO0lBQ3pCLENBQUM7K0dBakJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZFQ25CaEMsbW1EQW1EQSx5RERsQ1ksWUFBWSxtWkFBRSxrQkFBa0IsNEhBQUUsZUFBZTs7NEZBRWhELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IEVkaXRvckZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgRWRpdG9yRmllbGRXaXRoVmFsdWUsXG4gIEVkaXRvclNlY3Rpb25XaXRoVmFsdWVzLFxufSBmcm9tICcuLi8uLi8rc3RhdGUvZWRpdG9yLm1vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3JtRmllbGRDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmFjYWRlOiBFZGl0b3JGYWNhZGUpIHt9XG5cbiAgaGFuZGxlRmllbGRWYWx1ZUNoYW5nZShtb2RlbDogc3RyaW5nLCBuZXdWYWx1ZTogRWRpdG9yRmllbGRWYWx1ZSkge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zb2xlLmxvZyhuZXdWYWx1ZSlcbiAgICB0aGlzLmZhY2FkZS51cGRhdGVSZWNvcmRGaWVsZChtb2RlbCwgbmV3VmFsdWUpXG4gIH1cblxuICBmaWVsZFRyYWNrZXIoaW5kZXg6IG51bWJlciwgZmllbGQ6IEVkaXRvckZpZWxkV2l0aFZhbHVlKTogYW55IHtcbiAgICByZXR1cm4gZmllbGQuY29uZmlnLm1vZGVsXG4gIH1cblxuICBzZWN0aW9uVHJhY2tlcihpbmRleDogbnVtYmVyLCBzZWN0aW9uOiBFZGl0b3JTZWN0aW9uV2l0aFZhbHVlcyk6IGFueSB7XG4gICAgcmV0dXJuIHNlY3Rpb24ubGFiZWxLZXlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTYgcC04XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwiXG4gICAgICAgIGxldCBzZWN0aW9uIG9mIGZhY2FkZS5jdXJyZW50U2VjdGlvbnMkIHwgYXN5bmM7XG4gICAgICAgIHRyYWNrQnk6IHNlY3Rpb25UcmFja2VyXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VjdGlvbi5oaWRkZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTggYm9yZGVyIHAtOCByb3VuZGVkLVs4cHhdIHNoYWRvd1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJzZWN0aW9uLmxhYmVsS2V5ID8gJ21iLTQnIDogJ2hpZGRlbidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uLmxhYmVsS2V5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LTJ4bCBmb250LXBldHJvbmEgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgc2VjdGlvbi5sYWJlbEtleSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbi5kZXNjcmlwdGlvbktleVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zZWNvbmRhcnktbGlnaHRlc3RcIlxuICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgc2VjdGlvbi5kZXNjcmlwdGlvbktleSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWVsZCBvZiBzZWN0aW9uLmZpZWxkc1dpdGhWYWx1ZXM7XG4gICAgICAgICAgICAgIHRyYWNrQnk6IGZpZWxkVHJhY2tlclxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpZWxkLmNvbmZpZy5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgPGduLXVpLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZmllbGQuY29uZmlnLm1vZGVsIVwiXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJmaWVsZC5jb25maWcuZm9ybUZpZWxkQ29uZmlnXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgIGhhbmRsZUZpZWxkVmFsdWVDaGFuZ2UoZmllbGQuY29uZmlnLm1vZGVsISwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2duLXVpLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFLckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7Ozs7QUFXMUIsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFtQixNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBSnZDLDRCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FDekMsQ0FBQTtJQUV5QyxDQUFDO0lBRTNDLHNCQUFzQixDQUFDLEtBQXdCLEVBQUUsUUFBMEI7UUFDekUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLEtBQTJCO1FBQ3JELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsT0FBZ0M7UUFDNUQsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFBO0lBQ3pCLENBQUM7K0dBcEJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZFQ3JCaEMsdzBEQXNEQSx5RERuQ1ksWUFBWSxtWkFBRSxrQkFBa0Isa0tBQUUsZUFBZTs7NEZBRWhELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IEVkaXRvckZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgRWRpdG9yRmllbGRXaXRoVmFsdWUsXG4gIEVkaXRvclNlY3Rpb25XaXRoVmFsdWVzLFxufSBmcm9tICcuLi8uLi8rc3RhdGUvZWRpdG9yLm1vZGVscydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkS2V5cyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3JtRmllbGRDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1Db21wb25lbnQge1xuICByZWNvcmRVbmlxdWVJZGVudGlmaWVyJCA9IHRoaXMuZmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gIClcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmFjYWRlOiBFZGl0b3JGYWNhZGUpIHt9XG5cbiAgaGFuZGxlRmllbGRWYWx1ZUNoYW5nZShtb2RlbDogQ2F0YWxvZ1JlY29yZEtleXMsIG5ld1ZhbHVlOiBFZGl0b3JGaWVsZFZhbHVlKSB7XG4gICAgaWYgKCFtb2RlbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKG1vZGVsLCBuZXdWYWx1ZSlcbiAgfVxuXG4gIGZpZWxkVHJhY2tlcihpbmRleDogbnVtYmVyLCBmaWVsZDogRWRpdG9yRmllbGRXaXRoVmFsdWUpIHtcbiAgICByZXR1cm4gZmllbGQuY29uZmlnLm1vZGVsXG4gIH1cblxuICBzZWN0aW9uVHJhY2tlcihpbmRleDogbnVtYmVyLCBzZWN0aW9uOiBFZGl0b3JTZWN0aW9uV2l0aFZhbHVlcykge1xuICAgIHJldHVybiBzZWN0aW9uLmxhYmVsS2V5XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9XCJcbiAgICAgIGxldCBzZWN0aW9uIG9mIGZhY2FkZS5jdXJyZW50U2VjdGlvbnMkIHwgYXN5bmM7XG4gICAgICB0cmFja0J5OiBzZWN0aW9uVHJhY2tlclxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlY3Rpb24uaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtOCBib3JkZXIgcC04IHJvdW5kZWQtWzhweF0gc2hhZG93XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInNlY3Rpb24ubGFiZWxLZXkgPyAnbWItNCcgOiAnaGlkZGVuJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24ubGFiZWxLZXlcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LTJ4bCBmb250LXRpdGxlIHRleHQtbWFpblwiXG4gICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWN0aW9uLmxhYmVsS2V5IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNlY3Rpb24uZGVzY3JpcHRpb25LZXlcIiBjbGFzcz1cInRleHQtZ3JheS04MDBcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICB7eyBzZWN0aW9uLmRlc2NyaXB0aW9uS2V5IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBhdXRvLXJvd3MtYXV0byBncmlkLWNvbHMtMiBnYXAtWzMycHhdXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWVsZCBvZiBzZWN0aW9uLmZpZWxkc1dpdGhWYWx1ZXM7XG4gICAgICAgICAgICAgIHRyYWNrQnk6IGZpZWxkVHJhY2tlclxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpZWxkLmNvbmZpZy5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgPGduLXVpLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgIGZpZWxkLmNvbmZpZy5ncmlkQ29sdW1uU3BhbiA9PT0gMVxuICAgICAgICAgICAgICAgICAgICA/ICdjb2wtc3Bhbi0xJ1xuICAgICAgICAgICAgICAgICAgICA6ICdjb2wtc3Bhbi0yJ1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3VuaXF1ZUlkZW50aWZpZXJdPVwicmVjb3JkVW5pcXVlSWRlbnRpZmllciQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW21vZGVsXT1cImZpZWxkLmNvbmZpZy5tb2RlbCFcIlxuICAgICAgICAgICAgICAgIFttb2RlbFNwZWNpZmllcl09XCJmaWVsZC5jb25maWcubW9kZWxTcGVjaWZpZXIhXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZpZWxkLmNvbmZpZy5mb3JtRmllbGRDb25maWdcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlRmllbGRWYWx1ZUNoYW5nZShmaWVsZC5jb25maWcubW9kZWwhLCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvZ24tdWktZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -11,11 +11,11 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../services/wizard.service";
12
12
  import * as i2 from "@angular/common";
13
13
  import * as i3 from "../../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
14
- import * as i4 from "../../../../../../ui/inputs/src/lib/text-input/text-input.component";
15
- import * as i5 from "../../../../../../ui/inputs/src/lib/text-area/text-area.component";
16
- import * as i6 from "../../../../../../ui/inputs/src/lib/chips-input/chips-input.component";
17
- import * as i7 from "@ngx-translate/core";
18
- import * as i8 from "@angular/material/datepicker";
14
+ import * as i4 from "../../../../../../ui/inputs/src/lib/text-area/text-area.component";
15
+ import * as i5 from "../../../../../../ui/inputs/src/lib/chips-input/chips-input.component";
16
+ import * as i6 from "@ngx-translate/core";
17
+ import * as i7 from "@angular/material/datepicker";
18
+ import * as i8 from "../../../../../../ui/inputs/src/lib/text-input/text-input.component";
19
19
  marker('datafeeder.month.january');
20
20
  marker('datafeeder.month.february');
21
21
  marker('datafeeder.month.march');
@@ -145,7 +145,7 @@ export class WizardFieldComponent {
145
145
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
146
146
  },
147
147
  { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
148
- ], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i4.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i5.TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: i6.ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
+ ], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i4.TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: i5.ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
149
  }
150
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WizardFieldComponent, decorators: [{
151
151
  type: Component,
@@ -157,7 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
157
157
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
158
158
  },
159
159
  { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
160
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"] }]
160
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:white;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"] }]
161
161
  }], ctorParameters: function () { return [{ type: i1.WizardService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { wizardFieldConfig: [{
162
162
  type: Input
163
163
  }], searchText: [{
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
173
173
  type: ViewChild,
174
174
  args: ['dropdown']
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3dpemFyZC1maWVsZC93aXphcmQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvd2l6YXJkLWZpZWxkL3dpemFyZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFBO0FBQ3pDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQTtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsa0JBQWtCLEdBQ25CLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTs7Ozs7Ozs7OztBQUVuQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtBQUNsQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FB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VUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxuICBNb21lbnREYXRlQWRhcHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInXG5pbXBvcnQge1xuICBEYXRlQWRhcHRlcixcbiAgTUFUX0RBVEVfRk9STUFUUyxcbiAgTUFUX0RBVEVfTE9DQUxFLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgZ2V0TGFuZ0Zyb21Ccm93c2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgV2l6YXJkRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93aXphcmQtZmllbGQubW9kZWwnXG5pbXBvcnQgeyBXaXphcmRGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2l6YXJkLWZpZWxkLnR5cGUnXG5pbXBvcnQgeyBXaXphcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2l6YXJkLnNlcnZpY2UnXG5pbXBvcnQge1xuICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGguamFudWFyeScpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGguZmVicnVhcnknKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLm1hcmNoJylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5hcHJpbCcpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgubWF5Jylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5qdW5lJylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5qdWx5Jylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5hdWd1c3QnKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLnNlcHRlbWJlcicpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgub2N0b2JlcicpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgubm92ZW1iZXInKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLmRlY2VtYmVyJylcblxuZXhwb3J0IGNvbnN0IE1ZX0ZPUk1BVFMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgfSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktd2l6YXJkLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogZ2V0TGFuZ0Zyb21Ccm93c2VyKCkgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfRk9STUFUUyB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgV2l6YXJkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB3aXphcmRGaWVsZENvbmZpZzogV2l6YXJkRmllbGRNb2RlbFxuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHQnKSBzZWFyY2hUZXh0OiBUZXh0SW5wdXRDb21wb25lbnRcbiAgQFZpZXdDaGlsZCgnY2hpcHMnKSBjaGlwczogQ2hpcHNJbnB1dENvbXBvbmVudFxuICBAVmlld0NoaWxkKCd0ZXh0QXJlYScpIHRleHRBcmVhOiBUZXh0QXJlYUNvbXBvbmVudFxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duOiBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50XG5cbiAgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGdldCB3aXphcmRGaWVsZFR5cGUoKTogdHlwZW9mIFdpemFyZEZpZWxkVHlwZSB7XG4gICAgcmV0dXJuIFdpemFyZEZpZWxkVHlwZVxuICB9XG5cbiAgZ2V0IGRyb3Bkb3duQ2hvaWNlcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLndpemFyZEZpZWxkQ29uZmlnLm9wdGlvbnNcbiAgfVxuXG4gIGdldCB3aXphcmRGaWVsZERhdGEoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEoXG4gICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkXG4gICAgKVxuICAgIHN3aXRjaCAodGhpcy53aXphcmRGaWVsZENvbmZpZy50eXBlKSB7XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5URVhUOiB7XG4gICAgICAgIHJldHVybiBkYXRhIHx8ICcnXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5DSElQUzoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBbXVxuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuVEVYVF9BUkVBOiB7XG4gICAgICAgIHJldHVybiBkYXRhIHx8ICcnXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EQVRBX1BJQ0tFUjoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IG5ldyBEYXRlKE51bWJlcihkYXRhKSkgOiBuZXcgRGF0ZSgpXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EUk9QRE9XTjoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiB0aGlzLmRyb3Bkb3duQ2hvaWNlc1swXT8udmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpemFyZFNlcnZpY2U6IFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKClcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKSB7XG4gICAgc3dpdGNoICh0aGlzLndpemFyZEZpZWxkQ29uZmlnLnR5cGUpIHtcbiAgICAgIGNhc2UgV2l6YXJkRmllbGRUeXBlLlRFWFQ6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dElucHV0TGlzdGVuZXIoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuQ0hJUFM6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ2hpcHNMaXN0ZW5lcigpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5URVhUX0FSRUE6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dEFyZWFMaXN0ZW5lcigpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuREFUQV9QSUNLRVI6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRGF0ZUlucHV0KClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EUk9QRE9XTjoge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVEcm9wZG93bkxpc3RlbmVyKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGV4dElucHV0TGlzdGVuZXIoKSB7XG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dC52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFdpemFyZEZpZWxkRGF0YUNoYW5nZWQoXG4gICAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNoaXBzTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuY2hpcHMuaXRlbXNDaGFuZ2Uuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLndpemFyZFNlcnZpY2Uub25XaXphcmRXaXphcmRGaWVsZERhdGFDaGFuZ2VkKFxuICAgICAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaXRlbXMpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGV4dEFyZWFMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnN1YnMuYWRkKFxuICAgICAgdGhpcy50ZXh0QXJlYS52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFdpemFyZEZpZWxkRGF0YUNoYW5nZWQoXG4gICAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGluaXRpYWxpemVEYXRlSW5wdXQoKSB7XG4gICAgY29uc3QgdGltZSA9IHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEoXG4gICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkXG4gICAgKVxuICAgIGlmICghdGltZSkge1xuICAgICAgdGhpcy53aXphcmRTZXJ2aWNlLm9uV2l6YXJkV2l6YXJkRmllbGREYXRhQ2hhbmdlZChcbiAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgbmV3IERhdGUoKS52YWx1ZU9mKClcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PERhdGU+KSB7XG4gICAgdGhpcy53aXphcmRTZXJ2aWNlLm9uV2l6YXJkV2l6YXJkRmllbGREYXRhQ2hhbmdlZChcbiAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICBldmVudC52YWx1ZS52YWx1ZU9mKClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEcm9wZG93bkxpc3RlbmVyKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEodGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCkgPT09XG4gICAgICAgIHVuZGVmaW5lZCAmJlxuICAgICAgISF0aGlzLmRyb3Bkb3duLnNlbGVjdGVkXG4gICAgKSB7XG4gICAgICB0aGlzLndpemFyZFNlcnZpY2Uuc2V0V2l6YXJkRmllbGREYXRhKFxuICAgICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkLFxuICAgICAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuZHJvcGRvd24uc2VsZWN0VmFsdWUuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLndpemFyZFNlcnZpY2Uub25XaXphcmRXaXphcmRGaWVsZERhdGFDaGFuZ2VkKFxuICAgICAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMVwiPlxuICA8c3BhbiBbY2xhc3NdPVwid2l6YXJkRmllbGRDb25maWcuaWNvbiArICcgcHItMTAnXCI+PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LTFcIj5cbiAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHBiLTFcIj5cbiAgICAgIHt7IHdpemFyZEZpZWxkQ29uZmlnLmxhYmVsIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3LTEvMiBoLTEyXCJcbiAgICAgICpuZ0lmPVwid2l6YXJkRmllbGRUeXBlLlRFWFQgPT09IHdpemFyZEZpZWxkQ29uZmlnLnR5cGVcIlxuICAgID5cbiAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICNzZWFyY2hUZXh0XG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIFt2YWx1ZV09XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBbcmVxdWlyZWRdPVwid2l6YXJkRmllbGRDb25maWcucmVxdWlyZWQgfHwgZmFsc2VcIlxuICAgICAgICBoaW50PVwiXCJcbiAgICAgID48L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmbGV4LTEgdy0xMS8xMlwiXG4gICAgICAqbmdJZj1cIndpemFyZEZpZWxkVHlwZS5DSElQUyA9PT0gd2l6YXJkRmllbGRDb25maWcudHlwZVwiXG4gICAgPlxuICAgICAgPGduLXVpLWNoaXBzLWlucHV0XG4gICAgICAgICNjaGlwc1xuICAgICAgICBbc2VsZWN0ZWRJdGVtc109XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIFt1cmxdPVwid2l6YXJkRmllbGRDb25maWcub3B0aW9ucy51cmxcIlxuICAgICAgICBbbG9hZE9uY2VdPVwid2l6YXJkRmllbGRDb25maWcub3B0aW9ucy5sb2FkT25jZVwiXG4gICAgICA+PC9nbi11aS1jaGlwcy1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImgtMzIgdy0xMS8xMlwiXG4gICAgICAqbmdJZj1cIndpemFyZEZpZWxkVHlwZS5URVhUX0FSRUEgPT09IHdpemFyZEZpZWxkQ29uZmlnLnR5cGVcIlxuICAgID5cbiAgICAgIDxnbi11aS10ZXh0LWFyZWFcbiAgICAgICAgI3RleHRBcmVhXG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIFt2YWx1ZV09XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBbcmVxdWlyZWRdPVwid2l6YXJkRmllbGRDb25maWcucmVxdWlyZWQgfHwgZmFsc2VcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICA+PC9nbi11aS10ZXh0LWFyZWE+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3LTEvMiBoLTEyXCJcbiAgICAgICpuZ0lmPVwid2l6YXJkRmllbGRUeXBlLkRBVEFfUElDS0VSID09PSB3aXphcmRGaWVsZENvbmZpZy50eXBlXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW2lkXT1cIndpemFyZEZpZWxkQ29uZmlnLmlkXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxuICAgICAgICBjbGFzcz1cInJvdW5kZWQgcC0yIHRleHQtZ3JheS03MDAgdy1mdWxsIGxlYWRpbmctdGlnaHQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1wcmltYXJ5XCJcbiAgICAgICAgW3ZhbHVlXT1cIndpemFyZEZpZWxkRGF0YVwiXG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIlxuICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNkYXRlcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3LTEvMiBoLTEyXCJcbiAgICAgICpuZ0lmPVwid2l6YXJkRmllbGRUeXBlLkRST1BET1dOID09PSB3aXphcmRGaWVsZENvbmZpZy50eXBlXCJcbiAgICA+XG4gICAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIFt0aXRsZV09XCInJ1wiXG4gICAgICAgIFtleHRyYUJ0bkNsYXNzXT1cIidzZWNvbmRhcnkgbWluLXctZnVsbCdcIlxuICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgW2Nob2ljZXNdPVwiZHJvcGRvd25DaG9pY2VzXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cIndpemFyZEZpZWxkRGF0YVwiXG4gICAgICAgIGFyaWFOYW1lPVwic2VhcmNoLXNvcnQtYnlcIlxuICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3dpemFyZC1maWVsZC93aXphcmQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvd2l6YXJkLWZpZWxkL3dpemFyZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFBO0FBQ3pDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQTtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsa0JBQWtCLEdBQ25CLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTs7Ozs7Ozs7OztBQUVuQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtBQUNsQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FB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VUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxuICBNb21lbnREYXRlQWRhcHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInXG5pbXBvcnQge1xuICBEYXRlQWRhcHRlcixcbiAgTUFUX0RBVEVfRk9STUFUUyxcbiAgTUFUX0RBVEVfTE9DQUxFLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgZ2V0TGFuZ0Zyb21Ccm93c2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgV2l6YXJkRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93aXphcmQtZmllbGQubW9kZWwnXG5pbXBvcnQgeyBXaXphcmRGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2l6YXJkLWZpZWxkLnR5cGUnXG5pbXBvcnQgeyBXaXphcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2l6YXJkLnNlcnZpY2UnXG5pbXBvcnQge1xuICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGguamFudWFyeScpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGguZmVicnVhcnknKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLm1hcmNoJylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5hcHJpbCcpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgubWF5Jylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5qdW5lJylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5qdWx5Jylcbm1hcmtlcignZGF0YWZlZWRlci5tb250aC5hdWd1c3QnKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLnNlcHRlbWJlcicpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgub2N0b2JlcicpXG5tYXJrZXIoJ2RhdGFmZWVkZXIubW9udGgubm92ZW1iZXInKVxubWFya2VyKCdkYXRhZmVlZGVyLm1vbnRoLmRlY2VtYmVyJylcblxuZXhwb3J0IGNvbnN0IE1ZX0ZPUk1BVFMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgfSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktd2l6YXJkLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpemFyZC1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogZ2V0TGFuZ0Zyb21Ccm93c2VyKCkgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfRk9STUFUUyB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgV2l6YXJkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB3aXphcmRGaWVsZENvbmZpZzogV2l6YXJkRmllbGRNb2RlbFxuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHQnKSBzZWFyY2hUZXh0OiBUZXh0SW5wdXRDb21wb25lbnRcbiAgQFZpZXdDaGlsZCgnY2hpcHMnKSBjaGlwczogQ2hpcHNJbnB1dENvbXBvbmVudFxuICBAVmlld0NoaWxkKCd0ZXh0QXJlYScpIHRleHRBcmVhOiBUZXh0QXJlYUNvbXBvbmVudFxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duOiBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50XG5cbiAgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGdldCB3aXphcmRGaWVsZFR5cGUoKTogdHlwZW9mIFdpemFyZEZpZWxkVHlwZSB7XG4gICAgcmV0dXJuIFdpemFyZEZpZWxkVHlwZVxuICB9XG5cbiAgZ2V0IGRyb3Bkb3duQ2hvaWNlcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLndpemFyZEZpZWxkQ29uZmlnLm9wdGlvbnNcbiAgfVxuXG4gIGdldCB3aXphcmRGaWVsZERhdGEoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEoXG4gICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkXG4gICAgKVxuICAgIHN3aXRjaCAodGhpcy53aXphcmRGaWVsZENvbmZpZy50eXBlKSB7XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5URVhUOiB7XG4gICAgICAgIHJldHVybiBkYXRhIHx8ICcnXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5DSElQUzoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBbXVxuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuVEVYVF9BUkVBOiB7XG4gICAgICAgIHJldHVybiBkYXRhIHx8ICcnXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EQVRBX1BJQ0tFUjoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IG5ldyBEYXRlKE51bWJlcihkYXRhKSkgOiBuZXcgRGF0ZSgpXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EUk9QRE9XTjoge1xuICAgICAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiB0aGlzLmRyb3Bkb3duQ2hvaWNlc1swXT8udmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpemFyZFNlcnZpY2U6IFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKClcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKSB7XG4gICAgc3dpdGNoICh0aGlzLndpemFyZEZpZWxkQ29uZmlnLnR5cGUpIHtcbiAgICAgIGNhc2UgV2l6YXJkRmllbGRUeXBlLlRFWFQ6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dElucHV0TGlzdGVuZXIoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuQ0hJUFM6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ2hpcHNMaXN0ZW5lcigpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5URVhUX0FSRUE6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dEFyZWFMaXN0ZW5lcigpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY2FzZSBXaXphcmRGaWVsZFR5cGUuREFUQV9QSUNLRVI6IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRGF0ZUlucHV0KClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjYXNlIFdpemFyZEZpZWxkVHlwZS5EUk9QRE9XTjoge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVEcm9wZG93bkxpc3RlbmVyKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGV4dElucHV0TGlzdGVuZXIoKSB7XG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dC52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFdpemFyZEZpZWxkRGF0YUNoYW5nZWQoXG4gICAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNoaXBzTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuY2hpcHMuaXRlbXNDaGFuZ2Uuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLndpemFyZFNlcnZpY2Uub25XaXphcmRXaXphcmRGaWVsZERhdGFDaGFuZ2VkKFxuICAgICAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaXRlbXMpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGV4dEFyZWFMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnN1YnMuYWRkKFxuICAgICAgdGhpcy50ZXh0QXJlYS52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMud2l6YXJkU2VydmljZS5vbldpemFyZFdpemFyZEZpZWxkRGF0YUNoYW5nZWQoXG4gICAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGluaXRpYWxpemVEYXRlSW5wdXQoKSB7XG4gICAgY29uc3QgdGltZSA9IHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEoXG4gICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkXG4gICAgKVxuICAgIGlmICghdGltZSkge1xuICAgICAgdGhpcy53aXphcmRTZXJ2aWNlLm9uV2l6YXJkV2l6YXJkRmllbGREYXRhQ2hhbmdlZChcbiAgICAgICAgdGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCxcbiAgICAgICAgbmV3IERhdGUoKS52YWx1ZU9mKClcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PERhdGU+KSB7XG4gICAgdGhpcy53aXphcmRTZXJ2aWNlLm9uV2l6YXJkV2l6YXJkRmllbGREYXRhQ2hhbmdlZChcbiAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICBldmVudC52YWx1ZS52YWx1ZU9mKClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEcm9wZG93bkxpc3RlbmVyKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud2l6YXJkU2VydmljZS5nZXRXaXphcmRGaWVsZERhdGEodGhpcy53aXphcmRGaWVsZENvbmZpZy5pZCkgPT09XG4gICAgICAgIHVuZGVmaW5lZCAmJlxuICAgICAgISF0aGlzLmRyb3Bkb3duLnNlbGVjdGVkXG4gICAgKSB7XG4gICAgICB0aGlzLndpemFyZFNlcnZpY2Uuc2V0V2l6YXJkRmllbGREYXRhKFxuICAgICAgICB0aGlzLndpemFyZEZpZWxkQ29uZmlnLmlkLFxuICAgICAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5zdWJzLmFkZChcbiAgICAgIHRoaXMuZHJvcGRvd24uc2VsZWN0VmFsdWUuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLndpemFyZFNlcnZpY2Uub25XaXphcmRXaXphcmRGaWVsZERhdGFDaGFuZ2VkKFxuICAgICAgICAgIHRoaXMud2l6YXJkRmllbGRDb25maWcuaWQsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMVwiPlxuICA8c3BhbiBbY2xhc3NdPVwid2l6YXJkRmllbGRDb25maWcuaWNvbiArICcgcHItMTAnXCI+PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LTFcIj5cbiAgICA8ZGl2IHRyYW5zbGF0ZSBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHBiLTFcIj5cbiAgICAgIHt7IHdpemFyZEZpZWxkQ29uZmlnLmxhYmVsIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3LTEvMiBoLTEyXCJcbiAgICAgICpuZ0lmPVwid2l6YXJkRmllbGRUeXBlLlRFWFQgPT09IHdpemFyZEZpZWxkQ29uZmlnLnR5cGVcIlxuICAgID5cbiAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICNzZWFyY2hUZXh0XG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIFt2YWx1ZV09XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBbcmVxdWlyZWRdPVwid2l6YXJkRmllbGRDb25maWcucmVxdWlyZWQgfHwgZmFsc2VcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICA+PC9nbi11aS10ZXh0LWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxleC0xIHctMTEvMTJcIlxuICAgICAgKm5nSWY9XCJ3aXphcmRGaWVsZFR5cGUuQ0hJUFMgPT09IHdpemFyZEZpZWxkQ29uZmlnLnR5cGVcIlxuICAgID5cbiAgICAgIDxnbi11aS1jaGlwcy1pbnB1dFxuICAgICAgICAjY2hpcHNcbiAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwid2l6YXJkRmllbGREYXRhXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgICBbaWRdPVwid2l6YXJkRmllbGRDb25maWcuaWRcIlxuICAgICAgICBbdXJsXT1cIndpemFyZEZpZWxkQ29uZmlnLm9wdGlvbnMudXJsXCJcbiAgICAgICAgW2xvYWRPbmNlXT1cIndpemFyZEZpZWxkQ29uZmlnLm9wdGlvbnMubG9hZE9uY2VcIlxuICAgICAgPjwvZ24tdWktY2hpcHMtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJoLTMyIHctMTEvMTJcIlxuICAgICAgKm5nSWY9XCJ3aXphcmRGaWVsZFR5cGUuVEVYVF9BUkVBID09PSB3aXphcmRGaWVsZENvbmZpZy50eXBlXCJcbiAgICA+XG4gICAgICA8Z24tdWktdGV4dC1hcmVhXG4gICAgICAgICN0ZXh0QXJlYVxuICAgICAgICBbaWRdPVwid2l6YXJkRmllbGRDb25maWcuaWRcIlxuICAgICAgICBbdmFsdWVdPVwid2l6YXJkRmllbGREYXRhXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIndpemFyZEZpZWxkQ29uZmlnLnJlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidy0xLzIgaC0xMlwiXG4gICAgICAqbmdJZj1cIndpemFyZEZpZWxkVHlwZS5EQVRBX1BJQ0tFUiA9PT0gd2l6YXJkRmllbGRDb25maWcudHlwZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtpZF09XCJ3aXphcmRGaWVsZENvbmZpZy5pZFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcbiAgICAgICAgY2xhc3M9XCJyb3VuZGVkIHAtMiB0ZXh0LWdyYXktNzAwIHctZnVsbCBsZWFkaW5nLXRpZ2h0IGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItcHJpbWFyeVwiXG4gICAgICAgIFt2YWx1ZV09XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCJcbiAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZXBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidy0xLzIgaC0xMlwiXG4gICAgICAqbmdJZj1cIndpemFyZEZpZWxkVHlwZS5EUk9QRE9XTiA9PT0gd2l6YXJkRmllbGRDb25maWcudHlwZVwiXG4gICAgPlxuICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgICNkcm9wZG93blxuICAgICAgICBbaWRdPVwid2l6YXJkRmllbGRDb25maWcuaWRcIlxuICAgICAgICBbdGl0bGVdPVwiJydcIlxuICAgICAgICBbZXh0cmFCdG5DbGFzc109XCInc2Vjb25kYXJ5IG1pbi13LWZ1bGwnXCJcbiAgICAgICAgW3Nob3dUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlc1wiXG4gICAgICAgIFtzZWxlY3RlZF09XCJ3aXphcmRGaWVsZERhdGFcIlxuICAgICAgICBhcmlhTmFtZT1cInNlYXJjaC1zb3J0LWJ5XCJcbiAgICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19