geonetwork-ui 2.4.0-dev.2cc6f5b1 → 2.4.0-dev.344a92f2

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 (495) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +10 -15
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -18
  9. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +5 -3
  10. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  11. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  12. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  13. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  15. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  16. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  17. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  18. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  20. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  21. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  22. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  23. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
  24. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +43 -67
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  30. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
  31. 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
  32. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  33. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  34. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -69
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +45 -59
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  42. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  43. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  44. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +51 -6
  45. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  46. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
  47. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  48. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -6
  49. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +8 -5
  50. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +6 -7
  51. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +8 -7
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +7 -6
  53. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +7 -26
  54. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +29 -13
  55. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  56. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  57. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +1 -1
  58. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
  59. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  60. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  61. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +5 -4
  62. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  64. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  65. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  66. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  67. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  68. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  69. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  70. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  71. package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
  72. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
  73. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  74. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  75. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  76. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  77. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  78. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  79. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  80. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  81. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  82. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  83. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +3 -7
  84. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  85. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  86. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  87. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  88. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  89. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
  90. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  91. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  92. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  93. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  94. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  95. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  96. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  97. package/esm2022/translations/de.json +34 -2
  98. package/esm2022/translations/en.json +34 -2
  99. package/esm2022/translations/es.json +32 -0
  100. package/esm2022/translations/fr.json +38 -6
  101. package/esm2022/translations/it.json +34 -2
  102. package/esm2022/translations/nl.json +32 -0
  103. package/esm2022/translations/pt.json +32 -0
  104. package/fesm2022/geonetwork-ui.mjs +2602 -1729
  105. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  106. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  107. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  108. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  109. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  110. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  111. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  112. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
  113. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  114. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  115. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  116. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  117. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -6
  118. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  119. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  120. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  121. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  122. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  123. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  124. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  125. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  126. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  127. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  128. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  129. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  130. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  131. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  132. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  133. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  134. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  135. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  136. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  137. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  138. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  139. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  140. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  141. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  142. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  143. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  144. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
  145. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  146. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  147. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  148. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  149. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  150. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +11 -17
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  153. 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
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  155. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  159. 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
  160. 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
  161. 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
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  163. 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
  164. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  165. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  166. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  167. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  168. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  169. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  170. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  171. 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
  172. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
  173. 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
  174. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  175. 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
  176. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -25
  177. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  178. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  179. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  180. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  181. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  182. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  183. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  184. package/libs/feature/editor/src/lib/fields.config.d.ts +14 -0
  185. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  186. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  187. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  188. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  189. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  190. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  191. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  192. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +6 -6
  193. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  194. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  195. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  196. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
  197. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  198. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  199. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  200. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  201. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  202. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
  203. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  204. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
  205. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  206. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  207. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  208. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  209. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  210. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
  211. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  212. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
  213. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  214. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  215. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  216. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +1 -0
  217. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  218. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  219. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  220. package/libs/ui/elements/src/index.d.ts +1 -1
  221. package/libs/ui/elements/src/index.d.ts.map +1 -1
  222. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  223. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  224. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  225. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  226. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  227. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  228. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  229. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  230. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  231. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  232. package/libs/ui/inputs/src/index.d.ts +4 -0
  233. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  234. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  235. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  236. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  237. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  238. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  239. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  240. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  241. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  242. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  243. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  244. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  245. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  246. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  247. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  248. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  249. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  250. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  251. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  252. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
  253. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  254. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  255. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  256. package/libs/ui/layout/src/index.d.ts +2 -0
  257. package/libs/ui/layout/src/index.d.ts.map +1 -1
  258. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  259. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  260. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  261. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  262. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  263. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  264. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  265. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  266. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -2
  267. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  268. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  269. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  270. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  271. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  272. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  273. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  274. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  275. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  276. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  277. package/package.json +1 -1
  278. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  279. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  280. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  281. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  282. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  283. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  284. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
  285. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  286. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
  287. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -13
  288. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  289. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -36
  290. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +5 -5
  291. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  292. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  293. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  294. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  295. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  296. package/src/libs/common/fixtures/src/index.ts +1 -1
  297. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  298. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  299. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  300. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  301. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  302. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  303. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  304. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  305. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  306. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  307. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  308. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  309. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  310. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  311. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  312. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  313. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  314. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  315. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  316. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
  317. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  318. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  319. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  320. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  321. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  322. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  323. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  324. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  325. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  326. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  327. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -22
  328. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
  329. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  330. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  331. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  332. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  333. 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
  334. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +13 -23
  335. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +48 -107
  336. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  337. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  338. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  339. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  340. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  341. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  342. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  343. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  344. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
  345. 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
  346. 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
  347. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  348. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  349. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  350. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  351. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  352. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  353. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  354. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  355. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  356. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  357. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  358. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  359. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  360. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -87
  361. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  362. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  363. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  364. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +110 -79
  365. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +49 -59
  366. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  367. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
  368. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -3
  369. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  370. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  371. package/src/libs/feature/editor/src/lib/fields.config.ts +56 -5
  372. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  373. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  374. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  375. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -8
  376. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
  377. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  378. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
  379. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  380. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
  381. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  382. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
  383. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
  384. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
  385. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +26 -22
  386. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  387. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  388. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
  389. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
  390. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  391. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  392. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  393. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -1
  394. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  395. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  396. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  397. package/src/libs/ui/elements/src/index.ts +1 -1
  398. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  399. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  400. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  401. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  402. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  403. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  404. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  405. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  406. package/src/libs/ui/inputs/src/index.ts +4 -0
  407. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  408. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  409. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +4 -1
  410. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
  411. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  412. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  413. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  414. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +13 -6
  415. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  416. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  417. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +27 -23
  418. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  419. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  420. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  421. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  422. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  423. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  424. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  425. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  426. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  427. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  428. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  429. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  430. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  431. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  432. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  433. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  434. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  435. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  436. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  437. package/src/libs/ui/layout/src/index.ts +2 -0
  438. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  439. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  440. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  441. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  442. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  443. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  444. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
  445. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  446. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  447. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -2
  448. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  449. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  450. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  451. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  452. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  453. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  454. package/tailwind.base.config.js +1 -0
  455. package/tailwind.base.css +49 -6
  456. package/translations/de.json +34 -2
  457. package/translations/en.json +34 -2
  458. package/translations/es.json +32 -0
  459. package/translations/fr.json +38 -6
  460. package/translations/it.json +34 -2
  461. package/translations/nl.json +32 -0
  462. package/translations/pt.json +32 -0
  463. package/translations/sk.json +32 -0
  464. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -131
  465. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  466. 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
  467. 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
  468. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -47
  469. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  470. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  471. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  472. 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
  473. 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
  474. 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
  475. 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
  476. 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
  477. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  478. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  479. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  480. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  481. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  482. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  483. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -161
  484. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  485. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  486. 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
  487. 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
  488. 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
  489. 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
  490. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
  491. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  492. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  493. /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 → form-field-date-updated/form-field-date-updated.component.css} +0 -0
  494. /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 → form-field-map-container/form-field-map-container.component.css} +0 -0
  495. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
@@ -1,98 +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';
22
- import { FormFieldContactsForResourceComponent } from './form-field-contacts-for-resource/form-field-contacts-for-resource.component';
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';
23
21
  import * as i0 from "@angular/core";
24
- import * as i1 from "../../../+state/editor.facade";
25
- import * as i2 from "@angular/common";
22
+ import * as i1 from "@angular/common";
23
+ import * as i2 from "@ngx-translate/core";
26
24
  import * as i3 from "@angular/material/tooltip";
27
- import * as i4 from "@ngx-translate/core";
28
25
  export class FormFieldComponent {
29
- set value(v) {
30
- this.formControl.setValue(v, {
31
- emitEvent: false,
32
- });
33
- }
34
- constructor(facade) {
35
- this.facade = facade;
36
- this.metadataUuid$ = this.facade.record$.pipe(take(1), map((record) => record.uniqueIdentifier));
37
- this.formControl = new FormControl();
38
- this.valueChange = this.formControl.valueChanges;
26
+ constructor() {
27
+ this.valueChange = new EventEmitter();
28
+ this.isHidden = false;
39
29
  }
40
30
  focusTitleInput() {
41
31
  this.titleInput.nativeElement.children[0].focus();
42
32
  }
43
- get isTitle() {
44
- return this.model === 'title';
45
- }
46
- get isAbstract() {
47
- return this.model === 'abstract';
48
- }
49
- get isLicenses() {
50
- return this.model === 'licenses';
51
- }
52
- get isResourceUpdated() {
53
- return this.model === 'resourceUpdated';
33
+ get withoutWrapper() {
34
+ return this.model === 'title' || this.model === 'abstract';
54
35
  }
55
- get isUpdateFrequency() {
56
- return this.model === 'updateFrequency';
36
+ get valueAsString() {
37
+ return this.value;
57
38
  }
58
- get isTemporalExtents() {
59
- return this.model === 'temporalExtents';
39
+ get valueAsDate() {
40
+ return this.value;
60
41
  }
61
- get isSpatialExtentField() {
62
- return this.model === 'spatialExtents';
42
+ get valueAsOverviews() {
43
+ return this.value;
63
44
  }
64
- get isGraphicOverview() {
65
- return this.model === 'overviews';
45
+ get valueAsUpdateFrequency() {
46
+ return this.value;
66
47
  }
67
- get isSimpleField() {
68
- return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
48
+ get valueAsTemporalExtents() {
49
+ return this.value;
69
50
  }
70
- get isReadOnly() {
71
- return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
51
+ get valueAsKeywords() {
52
+ return this.value;
72
53
  }
73
- get isKeywords() {
74
- return this.model === 'keywords';
54
+ get valueAsConstraints() {
55
+ return this.value;
75
56
  }
76
- get isContactsForResource() {
77
- return this.model === 'contactsForResource';
57
+ get valueAsIndividuals() {
58
+ return this.value;
78
59
  }
79
- get withoutWrapper() {
80
- return this.model === 'title' || this.model === 'abstract';
60
+ get valueAsOnlineResources() {
61
+ return this.value;
81
62
  }
82
- 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 }); }
83
- 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-container *ngIf=\"isContactsForResource\">\n <gn-ui-form-field-contacts-for-resource\n [control]=\"formControl\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["control"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "control"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["control"] }], 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 }); }
84
65
  }
85
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
86
67
  type: Component,
87
68
  args: [{ selector: 'gn-ui-form-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
88
69
  CommonModule,
89
- ReactiveFormsModule,
70
+ TranslateModule,
90
71
  EditableLabelDirective,
91
72
  MatIconModule,
92
73
  MatTooltipModule,
93
74
  FormFieldWrapperComponent,
94
75
  FormFieldLicenseComponent,
95
- FormFieldResourceUpdatedComponent,
76
+ FormFieldDateUpdatedComponent,
96
77
  FormFieldUpdateFrequencyComponent,
97
78
  FormFieldTemporalExtentsComponent,
98
79
  FormFieldSimpleComponent,
@@ -102,11 +83,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
102
83
  FormFieldFileComponent,
103
84
  FormFieldArrayComponent,
104
85
  FormFieldKeywordsComponent,
105
- TranslateModule,
106
86
  FormFieldOverviewsComponent,
107
87
  FormFieldContactsForResourceComponent,
108
- ], 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-container *ngIf=\"isContactsForResource\">\n <gn-ui-form-field-contacts-for-resource\n [control]=\"formControl\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n</ng-template>\n" }]
109
- }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; }, propDecorators: { model: [{
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: [{
110
96
  type: Input
111
97
  }], config: [{
112
98
  type: Input
@@ -118,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
104
  type: ViewChild,
119
105
  args: ['titleInput']
120
106
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsR0FDbEMsTUFBTSxHQUFHLENBQUE7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FB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QkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQU1JLFdBQVc7c0JBQXBCLE1BQU07Z0JBRWtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBGb3JtRmllbGRMaWNlbnNlQ29tcG9uZW50LFxuICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbn0gZnJvbSAnLidcbmltcG9ydCB7IEZvcm1GaWVsZEFycmF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWFycmF5L2Zvcm0tZmllbGQtYXJyYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1maWxlL2Zvcm0tZmllbGQtZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb2JqZWN0L2Zvcm0tZmllbGQtb2JqZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1GaWVsZFJpY2hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtcmljaC9mb3JtLWZpZWxkLXJpY2guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNpbXBsZS9mb3JtLWZpZWxkLXNpbXBsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50L2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLXVwZGF0ZS1mcmVxdWVuY3kvZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5LmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmRLZXlzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgRm9ybUZpZWxkS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQta2V5d29yZHMvZm9ybS1maWVsZC1rZXl3b3Jkcy5jb21wb25lbnQnXG5pbXBvcnQgeyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudCdcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRWRpdG9yRmFjYWRlIH0gZnJvbSAnLi4vLi4vLi4vK3N0YXRlL2VkaXRvci5mYWNhZGUnXG5pbXBvcnQgeyBGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBGb3JtRmllbGRDb250YWN0c0ZvclJlc291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS9mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZS5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkTGljZW5zZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRSZXNvdXJjZVVwZGF0ZWRDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkVXBkYXRlRnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50c0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTaW1wbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkUmljaENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRPYmplY3RDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRGaWxlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEFycmF5Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZEtleXdvcmRzQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29udGFjdHNGb3JSZXNvdXJjZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWw6IENhdGFsb2dSZWNvcmRLZXlzXG4gIEBJbnB1dCgpIGNvbmZpZzogRm9ybUZpZWxkQ29uZmlnXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2OiB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2LCB7XG4gICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgIH0pXG4gIH1cblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IE9ic2VydmFibGU8dW5rbm93bj5cblxuICBAVmlld0NoaWxkKCd0aXRsZUlucHV0JykgdGl0bGVJbnB1dDogRWxlbWVudFJlZlxuXG4gIG1ldGFkYXRhVXVpZCQgPSB0aGlzLmZhY2FkZS5yZWNvcmQkLnBpcGUoXG4gICAgdGFrZSgxKSxcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gIClcblxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWNhZGU6IEVkaXRvckZhY2FkZSkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICB9XG5cbiAgZm9jdXNUaXRsZUlucHV0KCkge1xuICAgIHRoaXMudGl0bGVJbnB1dC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmZvY3VzKClcbiAgfVxuXG4gIGdldCBpc1RpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGl0bGUnXG4gIH1cbiAgZ2V0IGlzQWJzdHJhY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdhYnN0cmFjdCdcbiAgfVxuICBnZXQgaXNMaWNlbnNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ2xpY2Vuc2VzJ1xuICB9XG4gIGdldCBpc1Jlc291cmNlVXBkYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3Jlc291cmNlVXBkYXRlZCdcbiAgfVxuICBnZXQgaXNVcGRhdGVGcmVxdWVuY3koKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICd1cGRhdGVGcmVxdWVuY3knXG4gIH1cbiAgZ2V0IGlzVGVtcG9yYWxFeHRlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndGVtcG9yYWxFeHRlbnRzJ1xuICB9XG4gIGdldCBpc1NwYXRpYWxFeHRlbnRGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3NwYXRpYWxFeHRlbnRzJ1xuICB9XG4gIGdldCBpc0dyYXBoaWNPdmVydmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ292ZXJ2aWV3cydcbiAgfVxuICBnZXQgaXNTaW1wbGVGaWVsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3VuaXF1ZUlkZW50aWZpZXInIHx8IHRoaXMubW9kZWwgPT09ICdyZWNvcmRVcGRhdGVkJ1xuICB9XG4gIGdldCBpc1JlYWRPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAndW5pcXVlSWRlbnRpZmllcicgfHwgdGhpcy5tb2RlbCA9PT0gJ3JlY29yZFVwZGF0ZWQnXG4gIH1cbiAgZ2V0IGlzS2V5d29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT09ICdrZXl3b3JkcydcbiAgfVxuICBnZXQgaXNDb250YWN0c0ZvclJlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsID09PSAnY29udGFjdHNGb3JSZXNvdXJjZSdcbiAgfVxuXG4gIGdldCB3aXRob3V0V3JhcHBlcigpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCA9PT0gJ3RpdGxlJyB8fCB0aGlzLm1vZGVsID09PSAnYWJzdHJhY3QnXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwid2l0aG91dFdyYXBwZXI7IGVsc2Ugd2l0aEdlbmVyaWNXcmFwcGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpZWxkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICN3aXRoR2VuZXJpY1dyYXBwZXI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtd3JhcHBlclxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hpbnRdPVwiY29uZmlnLmhpbnRLZXkhIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmllbGRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9nbi11aS1mb3JtLWZpZWxkLXdyYXBwZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmaWVsZENvbnRlbnQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgI3RpdGxlSW5wdXRcbiAgICAgICAgY2xhc3M9XCJncm93IGZvbnQtdGl0bGUgdGV4dC0zeGwgZm9udC1ub3JtYWxcIlxuICAgICAgICBbZ25VaUVkaXRhYmxlTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgIChlZGl0YWJsZUxhYmVsQ2hhbmdlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAge3sgZm9ybUNvbnRyb2wudmFsdWUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBnbi11aS1pY29uLXNtYWxsIG0tMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJmb2N1c1RpdGxlSW5wdXQoKVwiXG4gICAgICAgID5lZGl0PC9zcGFuXG4gICAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZ24tdWktaWNvbi1zbWFsbCBtLTJcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgICA+XG4gICAgICAgIGhlbHBcbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Fic3RyYWN0XCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtcmljaFxuICAgICAgY2xhc3M9XCJoLVs4cmVtXVwiXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbGFiZWxdPVwiY29uZmlnLmxhYmVsS2V5ISB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaGludF09XCJjb25maWcuaGludEtleSEgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtcmljaD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xpY2Vuc2VzXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtbGljZW5zZVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cImNvbmZpZy5sYWJlbEtleSEgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtbGljZW5zZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Jlc291cmNlVXBkYXRlZFwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWRcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLXJlc291cmNlLXVwZGF0ZWQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNVcGRhdGVGcmVxdWVuY3lcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5XG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC11cGRhdGUtZnJlcXVlbmN5PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcG9yYWxFeHRlbnRzXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50c1xuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtdGVtcG9yYWwtZXh0ZW50cz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NpbXBsZUZpZWxkXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQtc2ltcGxlXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXNSZWFkT25seVwiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1zaW1wbGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTcGF0aWFsRXh0ZW50RmllbGRcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudD48L2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcmFwaGljT3ZlcnZpZXdcIj5cbiAgICA8Z24tdWktZm9ybS1maWVsZC1vdmVydmlld3NcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFttZXRhZGF0YVV1aWRdPVwibWV0YWRhdGFVdWlkJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLW92ZXJ2aWV3cz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0tleXdvcmRzXCI+XG4gICAgPGduLXVpLWZvcm0tZmllbGQta2V5d29yZHNcbiAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICA+PC9nbi11aS1mb3JtLWZpZWxkLWtleXdvcmRzPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29udGFjdHNGb3JSZXNvdXJjZVwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLWNvbnRhY3RzLWZvci1yZXNvdXJjZVxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID48L2duLXVpLWZvcm0tZmllbGQtY29udGFjdHMtZm9yLXJlc291cmNlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
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,6 +11,7 @@ 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) {
@@ -24,10 +26,10 @@ export class RecordFormComponent {
24
26
  return section.labelKey;
25
27
  }
26
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 }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldComponent, selector: "gn-ui-form-field", inputs: ["model", "config", "value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
28
30
  }
29
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, decorators: [{
30
32
  type: Component,
31
- args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
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" }]
32
34
  }], ctorParameters: function () { return [{ type: i1.EditorFacade }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7O0FBY3JELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUFHLENBQUM7SUFFM0Msc0JBQXNCLENBQUMsS0FBYSxFQUFFLFFBQTBCO1FBQzlELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUEyQjtRQUNyRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzNCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLE9BQWdDO1FBQzVELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQTtJQUN6QixDQUFDOytHQWhCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2RUNuQmhDLGltREFtREEseUREbENZLFlBQVksbVpBQUUsa0JBQWtCLDRIQUFFLGVBQWU7OzRGQUVoRCxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWRpdG9yRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL2VkaXRvci5mYWNhZGUnXG5pbXBvcnQgeyBFZGl0b3JGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIEVkaXRvckZpZWxkV2l0aFZhbHVlLFxuICBFZGl0b3JTZWN0aW9uV2l0aFZhbHVlcyxcbn0gZnJvbSAnLi4vLi4vK3N0YXRlL2VkaXRvci5tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlY29yZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybUZpZWxkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRGb3JtQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIGZhY2FkZTogRWRpdG9yRmFjYWRlKSB7fVxuXG4gIGhhbmRsZUZpZWxkVmFsdWVDaGFuZ2UobW9kZWw6IHN0cmluZywgbmV3VmFsdWU6IEVkaXRvckZpZWxkVmFsdWUpIHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkRmllbGQobW9kZWwsIG5ld1ZhbHVlKVxuICB9XG5cbiAgZmllbGRUcmFja2VyKGluZGV4OiBudW1iZXIsIGZpZWxkOiBFZGl0b3JGaWVsZFdpdGhWYWx1ZSk6IGFueSB7XG4gICAgcmV0dXJuIGZpZWxkLmNvbmZpZy5tb2RlbFxuICB9XG5cbiAgc2VjdGlvblRyYWNrZXIoaW5kZXg6IG51bWJlciwgc2VjdGlvbjogRWRpdG9yU2VjdGlvbldpdGhWYWx1ZXMpOiBhbnkge1xuICAgIHJldHVybiBzZWN0aW9uLmxhYmVsS2V5XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02IHAtOFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cIlxuICAgICAgICBsZXQgc2VjdGlvbiBvZiBmYWNhZGUuY3VycmVudFNlY3Rpb25zJCB8IGFzeW5jO1xuICAgICAgICB0cmFja0J5OiBzZWN0aW9uVHJhY2tlclxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlY3Rpb24uaGlkZGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC04IGJvcmRlciBwLTggcm91bmRlZC1bOHB4XSBzaGFkb3dcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VjdGlvbi5sYWJlbEtleSA/ICdtYi00JyA6ICdoaWRkZW4nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbi5sYWJlbEtleVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC0yeGwgZm9udC10aXRsZSB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBzZWN0aW9uLmxhYmVsS2V5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uLmRlc2NyaXB0aW9uS2V5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBzZWN0aW9uLmRlc2NyaXB0aW9uS2V5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IGZpZWxkIG9mIHNlY3Rpb24uZmllbGRzV2l0aFZhbHVlcztcbiAgICAgICAgICAgICAgdHJhY2tCeTogZmllbGRUcmFja2VyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmllbGQuY29uZmlnLmhpZGRlblwiPlxuICAgICAgICAgICAgICA8Z24tdWktZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJmaWVsZC5jb25maWcubW9kZWwhXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZpZWxkLmNvbmZpZy5mb3JtRmllbGRDb25maWdcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlRmllbGRWYWx1ZUNoYW5nZShmaWVsZC5jb25maWcubW9kZWwhLCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvZ24tdWktZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
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