@dsivd/prestations-ng 15.0.0-beta1 → 15.0.0-beta2

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 (310) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/CONTRIBUTING.md +32 -1
  3. package/README.md +2 -0
  4. package/UPGRADING_V12.md +0 -15
  5. package/UPGRADING_V13.md +0 -15
  6. package/UPGRADING_V14.md +4 -17
  7. package/UPGRADING_V15.md +51 -0
  8. package/dsivd-prestations-ng-v15.0.0-beta2.tgz +0 -0
  9. package/esm2020/abstract-page-component.mjs +226 -0
  10. package/{esm2015/backend-response.js → esm2020/backend-response.mjs} +0 -0
  11. package/{esm2015/directives/currency-formatter.directive.js → esm2020/directives/currency-formatter.directive.mjs} +3 -3
  12. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +4 -4
  13. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +3 -3
  14. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +3 -3
  15. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +3 -3
  16. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  17. package/{esm2015/error-template.js → esm2020/error-template.mjs} +0 -0
  18. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +0 -0
  19. package/{esm2015/foehn-address/foehn-address.module.js → esm2020/foehn-address/foehn-address.module.mjs} +4 -4
  20. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  21. package/esm2020/foehn-address/foehn-input-address.component.mjs +366 -0
  22. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  23. package/{esm2015/foehn-address/foehn-input-foreign-street.component.js → esm2020/foehn-address/foehn-input-foreign-street.component.mjs} +6 -11
  24. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +548 -0
  25. package/{esm2015/foehn-autocomplete/foehn-autocomplete.module.js → esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs} +4 -4
  26. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  27. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +37 -0
  28. package/{esm2015/foehn-boolean/foehn-boolean.module.js → esm2020/foehn-boolean/foehn-boolean.module.mjs} +4 -4
  29. package/{esm2015/foehn-breadcrumb/breadcrumb-event.service.js → esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs} +10 -10
  30. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  31. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs} +5 -9
  32. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs} +4 -4
  33. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +283 -0
  34. package/{esm2015/foehn-checkables/foehn-checkables.module.js → esm2020/foehn-checkables/foehn-checkables.module.mjs} +4 -4
  35. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +36 -0
  36. package/esm2020/foehn-checkables/foehn-radio.component.mjs +63 -0
  37. package/esm2020/foehn-checkables/foehn-select.component.mjs +62 -0
  38. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  39. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  40. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +0 -0
  41. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +39 -0
  42. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs} +4 -4
  43. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +3 -3
  44. package/{esm2015/foehn-date-picker/date-picker-navigation.helper.js → esm2020/foehn-date-picker/date-picker-navigation.helper.mjs} +7 -7
  45. package/{esm2015/foehn-date-picker/date-picker.helper.js → esm2020/foehn-date-picker/date-picker.helper.mjs} +4 -4
  46. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  47. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  48. package/{esm2015/foehn-date-picker/foehn-date-picker.component.js → esm2020/foehn-date-picker/foehn-date-picker.component.mjs} +22 -25
  49. package/{esm2015/foehn-date-picker/foehn-date-picker.module.js → esm2020/foehn-date-picker/foehn-date-picker.module.mjs} +4 -4
  50. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  51. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +70 -0
  52. package/{esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js → esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs} +4 -4
  53. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs} +8 -11
  54. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +4 -4
  55. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +36 -0
  56. package/{esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js → esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs} +4 -4
  57. package/esm2020/foehn-footer/foehn-footer.component.mjs +129 -0
  58. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +4 -4
  59. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  60. package/{esm2015/foehn-form/foehn-form.component.js → esm2020/foehn-form/foehn-form.component.mjs} +5 -8
  61. package/{esm2015/foehn-form/foehn-form.module.js → esm2020/foehn-form/foehn-form.module.mjs} +4 -4
  62. package/{esm2015/foehn-growl/foehn-growl.component.js → esm2020/foehn-growl/foehn-growl.component.mjs} +8 -12
  63. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +4 -4
  64. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +3 -3
  65. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +0 -0
  66. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  67. package/esm2020/foehn-header/foehn-header.component.mjs +69 -0
  68. package/{esm2015/foehn-header/foehn-header.module.js → esm2020/foehn-header/foehn-header.module.mjs} +4 -4
  69. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  70. package/{esm2015/foehn-help-modal/foehn-help-modal.component.js → esm2020/foehn-help-modal/foehn-help-modal.component.mjs} +5 -9
  71. package/{esm2015/foehn-help-modal/foehn-help-modal.module.js → esm2020/foehn-help-modal/foehn-help-modal.module.mjs} +4 -4
  72. package/{esm2015/foehn-help-modal/foehn-help-modal.type.js → esm2020/foehn-help-modal/foehn-help-modal.type.mjs} +0 -0
  73. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +4 -4
  74. package/{esm2015/foehn-icons/foehn-icon-calendar.component.js → esm2020/foehn-icons/foehn-icon-calendar.component.mjs} +5 -8
  75. package/{esm2015/foehn-icons/foehn-icon-check-square-o.component.js → esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs} +5 -8
  76. package/{esm2015/foehn-icons/foehn-icon-check.component.js → esm2020/foehn-icons/foehn-icon-check.component.mjs} +5 -8
  77. package/{esm2015/foehn-icons/foehn-icon-chevron-down.component.js → esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs} +5 -8
  78. package/{esm2015/foehn-icons/foehn-icon-chevron-left.component.js → esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs} +5 -8
  79. package/{esm2015/foehn-icons/foehn-icon-chevron-right.component.js → esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs} +5 -8
  80. package/{esm2015/foehn-icons/foehn-icon-chevron-up.component.js → esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs} +5 -8
  81. package/{esm2015/foehn-icons/foehn-icon-clock.component.js → esm2020/foehn-icons/foehn-icon-clock.component.mjs} +5 -8
  82. package/{esm2015/foehn-icons/foehn-icon-comment-dots.component.js → esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs} +5 -8
  83. package/{esm2015/foehn-icons/foehn-icon-edit.component.js → esm2020/foehn-icons/foehn-icon-edit.component.mjs} +5 -8
  84. package/{esm2015/foehn-icons/foehn-icon-external-link-alt.component.js → esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs} +5 -8
  85. package/{esm2015/foehn-icons/foehn-icon-file-pdf.component.js → esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs} +5 -8
  86. package/{esm2015/foehn-icons/foehn-icon-info-circle.component.js → esm2020/foehn-icons/foehn-icon-info-circle.component.mjs} +5 -8
  87. package/{esm2015/foehn-icons/foehn-icon-lock.component.js → esm2020/foehn-icons/foehn-icon-lock.component.mjs} +5 -8
  88. package/{esm2015/foehn-icons/foehn-icon-map-marker.component.js → esm2020/foehn-icons/foehn-icon-map-marker.component.mjs} +5 -8
  89. package/{esm2015/foehn-icons/foehn-icon-minus-circle.component.js → esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs} +5 -8
  90. package/{esm2015/foehn-icons/foehn-icon-plus-circle.component.js → esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs} +5 -8
  91. package/{esm2015/foehn-icons/foehn-icon-plus-square.component.js → esm2020/foehn-icons/foehn-icon-plus-square.component.mjs} +5 -8
  92. package/{esm2015/foehn-icons/foehn-icon-search.component.js → esm2020/foehn-icons/foehn-icon-search.component.mjs} +5 -8
  93. package/{esm2015/foehn-icons/foehn-icon-times.component.js → esm2020/foehn-icons/foehn-icon-times.component.mjs} +5 -8
  94. package/{esm2015/foehn-icons/foehn-icon-trash-alt.component.js → esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs} +5 -8
  95. package/{esm2015/foehn-icons/foehn-icon-unlock-alt.component.js → esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs} +5 -8
  96. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +4 -4
  97. package/esm2020/foehn-input/foehn-input-email.component.mjs +50 -0
  98. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +53 -0
  99. package/{esm2015/foehn-input/foehn-input-number.component.js → esm2020/foehn-input/foehn-input-number.component.mjs} +10 -15
  100. package/esm2020/foehn-input/foehn-input-password.component.mjs +50 -0
  101. package/{esm2015/foehn-input/foehn-input-phone.component.js → esm2020/foehn-input/foehn-input-phone.component.mjs} +6 -11
  102. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +3 -3
  103. package/{esm2015/foehn-input/foehn-input-text.component.js → esm2020/foehn-input/foehn-input-text.component.mjs} +6 -11
  104. package/{esm2015/foehn-input/foehn-input-textarea.component.js → esm2020/foehn-input/foehn-input-textarea.component.mjs} +6 -11
  105. package/{esm2015/foehn-input/foehn-input.component.js → esm2020/foehn-input/foehn-input.component.mjs} +14 -14
  106. package/{esm2015/foehn-input/foehn-input.module.js → esm2020/foehn-input/foehn-input.module.mjs} +4 -4
  107. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  108. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +90 -0
  109. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +75 -0
  110. package/esm2020/foehn-list/foehn-list.component.mjs +130 -0
  111. package/{esm2015/foehn-list/foehn-list.module.js → esm2020/foehn-list/foehn-list.module.mjs} +4 -4
  112. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  113. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  114. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +3 -3
  115. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +3 -3
  116. package/{esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js → esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs} +5 -8
  117. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  118. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  119. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  120. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  121. package/{esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js → esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs} +5 -8
  122. package/{esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js → esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs} +4 -4
  123. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  124. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +4 -4
  125. package/esm2020/foehn-modal/foehn-modal.component.mjs +96 -0
  126. package/{esm2015/foehn-modal/foehn-modal.module.js → esm2020/foehn-modal/foehn-modal.module.mjs} +4 -4
  127. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +94 -0
  128. package/{esm2015/foehn-nav13/foehn-input-nav13.module.js → esm2020/foehn-nav13/foehn-input-nav13.module.mjs} +4 -4
  129. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  130. package/{esm2015/foehn-navigation/foehn-navigation.module.js → esm2020/foehn-navigation/foehn-navigation.module.mjs} +4 -4
  131. package/{esm2015/foehn-navigation/foehn-navigation.service.js → esm2020/foehn-navigation/foehn-navigation.service.mjs} +9 -9
  132. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +5 -8
  133. package/{esm2015/foehn-notfound/foehn-notfound.module.js → esm2020/foehn-notfound/foehn-notfound.module.mjs} +4 -4
  134. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  135. package/esm2020/foehn-page/foehn-page-modal.component.mjs +52 -0
  136. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +3 -3
  137. package/esm2020/foehn-page/foehn-page.component.mjs +212 -0
  138. package/{esm2015/foehn-page/foehn-page.module.js → esm2020/foehn-page/foehn-page.module.mjs} +4 -4
  139. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +3 -3
  140. package/{esm2015/foehn-recap-section/foehn-recap-section.component.js → esm2020/foehn-recap-section/foehn-recap-section.component.mjs} +5 -8
  141. package/{esm2015/foehn-recap-section/foehn-recap-section.module.js → esm2020/foehn-recap-section/foehn-recap-section.module.mjs} +4 -4
  142. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  143. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  144. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +4 -4
  145. package/{esm2015/foehn-table/foehn-table-column-configuration.js → esm2020/foehn-table/foehn-table-column-configuration.mjs} +0 -0
  146. package/{esm2015/foehn-table/foehn-table-page-change-event.js → esm2020/foehn-table/foehn-table-page-change-event.mjs} +0 -0
  147. package/esm2020/foehn-table/foehn-table.component.mjs +149 -0
  148. package/{esm2015/foehn-table/foehn-table.module.js → esm2020/foehn-table/foehn-table.module.mjs} +4 -4
  149. package/{esm2015/foehn-table/tableSort.js → esm2020/foehn-table/tableSort.mjs} +0 -0
  150. package/{esm2015/foehn-upload/abstract-foehn-uploader.component.js → esm2020/foehn-upload/abstract-foehn-uploader.component.mjs} +17 -17
  151. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  152. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs} +3 -3
  153. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  154. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +165 -0
  155. package/{esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js → esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs} +4 -4
  156. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +214 -0
  157. package/{esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js → esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs} +4 -4
  158. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs} +3 -3
  159. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  160. package/{esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs} +3 -3
  161. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +163 -0
  162. package/{esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js → esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs} +4 -4
  163. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +0 -0
  164. package/esm2020/foehn-upload/uploader.helper.mjs +326 -0
  165. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  166. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +4 -4
  167. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs} +5 -9
  168. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs} +4 -4
  169. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs} +5 -8
  170. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +4 -4
  171. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +3 -3
  172. package/{esm2015/gesdem/gesdem-event.service.js → esm2020/gesdem/gesdem-event.service.mjs} +13 -13
  173. package/{esm2015/gesdem/gesdem-handler.service.js → esm2020/gesdem/gesdem-handler.service.mjs} +13 -13
  174. package/{esm2015/gesdem/gesdem-loader.guard.js → esm2020/gesdem/gesdem-loader.guard.mjs} +3 -3
  175. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  176. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js → esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs} +5 -10
  177. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +128 -0
  178. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs} +4 -4
  179. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs} +3 -3
  180. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  181. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +189 -0
  182. package/{esm2015/gesdem-confirmation/gesdem-confirmation.module.js → esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs} +4 -4
  183. package/{esm2015/gesdem-error/gesdem-error.component.js → esm2020/gesdem-error/gesdem-error.component.mjs} +5 -9
  184. package/{esm2015/gesdem-error/gesdem-error.module.js → esm2020/gesdem-error/gesdem-error.module.mjs} +4 -4
  185. package/{esm2015/helpers/object.helper.js → esm2020/helpers/object.helper.mjs} +2 -2
  186. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  187. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  188. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +3 -3
  189. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +3 -3
  190. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  191. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +4 -4
  192. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +4 -4
  193. package/{esm2015/sdk-appinfo/application-info.js → esm2020/sdk-appinfo/application-info.mjs} +0 -0
  194. package/esm2020/sdk-appinfo/application-info.service.mjs +102 -0
  195. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  196. package/esm2020/sdk-date/date.helper.mjs +91 -0
  197. package/{esm2015/sdk-dictionary/default-dictionary.js → esm2020/sdk-dictionary/default-dictionary.mjs} +0 -0
  198. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +4 -4
  199. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +5 -5
  200. package/{esm2015/sdk-dictionary/sdk-dictionary.service.js → esm2020/sdk-dictionary/sdk-dictionary.service.mjs} +3 -3
  201. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  202. package/{esm2015/sdk-epayment/sdk-epayment.component.js → esm2020/sdk-epayment/sdk-epayment.component.mjs} +5 -10
  203. package/{esm2015/sdk-epayment/sdk-epayment.module.js → esm2020/sdk-epayment/sdk-epayment.module.mjs} +4 -4
  204. package/{esm2015/sdk-epayment/sdk-epayment.service.js → esm2020/sdk-epayment/sdk-epayment.service.mjs} +3 -3
  205. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +5 -9
  206. package/{esm2015/sdk-recaptcha/recaptcha.service.js → esm2020/sdk-recaptcha/recaptcha.service.mjs} +3 -3
  207. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +68 -0
  208. package/{esm2015/sdk-recaptcha/sdk-recaptcha.module.js → esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs} +4 -4
  209. package/{esm2015/sdk-redirect/iam-expired-interceptor.service.js → esm2020/sdk-redirect/iam-expired-interceptor.service.mjs} +3 -3
  210. package/{esm2015/sdk-redirect/redirect.component.js → esm2020/sdk-redirect/redirect.component.mjs} +5 -9
  211. package/{esm2015/sdk-redirect/sdk-redirect.module.js → esm2020/sdk-redirect/sdk-redirect.module.mjs} +4 -4
  212. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +0 -0
  213. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +3 -3
  214. package/esm2020/sdk-session-info/session-info.service.mjs +73 -0
  215. package/{esm2015/sdk-support-alert/support-alert-container.component.js → esm2020/sdk-support-alert/support-alert-container.component.mjs} +5 -9
  216. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  217. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  218. package/{esm2015/sdk-support-alert/support-alert.module.js → esm2020/sdk-support-alert/support-alert.module.mjs} +4 -4
  219. package/esm2020/sdk-support-alert/support-alert.service.mjs +114 -0
  220. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  221. package/esm2020/supported-browser.mjs +2 -0
  222. package/{esm2015/validation/validation-handler.service.js → esm2020/validation/validation-handler.service.mjs} +7 -7
  223. package/fesm2015/{dsivd-prestations-ng.js → dsivd-prestations-ng.mjs} +949 -1247
  224. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  225. package/fesm2020/dsivd-prestations-ng.mjs +11481 -0
  226. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  227. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  228. package/foehn-checkables/foehn-checkable-group.component.d.ts +3 -3
  229. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +1 -1
  230. package/foehn-date-picker/date-picker-navigation.helper.d.ts +1 -1
  231. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  232. package/foehn-date-picker/foehn-date-picker.component.d.ts +3 -3
  233. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +2 -2
  234. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +1 -1
  235. package/foehn-growl/foehn-growl.component.d.ts +1 -1
  236. package/foehn-header/foehn-header.component.d.ts +2 -2
  237. package/foehn-input/foehn-input-number.component.d.ts +1 -1
  238. package/foehn-input/foehn-input.component.d.ts +3 -3
  239. package/foehn-list/foehn-list.component.d.ts +2 -2
  240. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  241. package/foehn-modal/foehn-modal.component.d.ts +1 -1
  242. package/foehn-navigation/foehn-navigation.service.d.ts +1 -1
  243. package/foehn-table/foehn-table.component.d.ts +2 -2
  244. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +1 -1
  245. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -2
  246. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -1
  247. package/foehn-upload/uploader.helper.d.ts +7 -7
  248. package/gesdem/gesdem-event.service.d.ts +3 -3
  249. package/gesdem/gesdem-handler.service.d.ts +2 -2
  250. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +2 -2
  251. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +4 -4
  252. package/package.json +26 -13
  253. package/schematics/ng-add/index.js +6 -6
  254. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  255. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  256. package/schematics/ng-update/migrations/update-13_5_1/index.js +2 -2
  257. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  258. package/schematics/update-karma-config/index.js +2 -2
  259. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  260. package/sdk-appinfo/application-info.service.d.ts +2 -2
  261. package/sdk-session-info/session-info.service.d.ts +9 -2
  262. package/sdk-support-alert/support-alert.service.d.ts +3 -2
  263. package/validation/validation-handler.service.d.ts +1 -1
  264. package/bundles/dsivd-prestations-ng.umd.js +0 -13375
  265. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  266. package/dsivd-prestations-ng-v15.0.0-beta1.tgz +0 -0
  267. package/esm2015/abstract-page-component.js +0 -224
  268. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  269. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  270. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  271. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  272. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  273. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  274. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  275. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  276. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  277. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  278. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  279. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  280. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  281. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  282. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  283. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  284. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  285. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  286. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  287. package/esm2015/foehn-list/foehn-list.component.js +0 -136
  288. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  289. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  290. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  291. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  292. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  293. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  294. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  295. package/esm2015/foehn-page/foehn-page.component.js +0 -214
  296. package/esm2015/foehn-table/foehn-table.component.js +0 -153
  297. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -171
  298. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -220
  299. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -167
  300. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  301. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  302. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  303. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  304. package/esm2015/sdk-date/date.helper.js +0 -90
  305. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  306. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  307. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  308. package/esm2015/sdk-support-alert/support-alert.service.js +0 -113
  309. package/esm2015/supported-browser.js +0 -2
  310. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
@@ -20,15 +20,12 @@ export class FoehnPageCounterComponent {
20
20
  };
21
21
  }
22
22
  }
23
- FoehnPageCounterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageCounterComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
- FoehnPageCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPageCounterComponent, selector: "foehn-page-counter", inputs: { textTemplate: "textTemplate" }, ngImport: i0, template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "fromDictionary": i3.SdkDictionaryPipe } });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageCounterComponent, decorators: [{
23
+ FoehnPageCounterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageCounterComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
+ FoehnPageCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageCounterComponent, selector: "foehn-page-counter", inputs: { textTemplate: "textTemplate" }, ngImport: i0, template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "fromDictionary": i3.SdkDictionaryPipe } });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageCounterComponent, decorators: [{
26
26
  type: Component,
27
- args: [{
28
- selector: 'foehn-page-counter',
29
- templateUrl: './foehn-page-counter.component.html'
30
- }]
27
+ args: [{ selector: 'foehn-page-counter', template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n" }]
31
28
  }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i0.NgZone }]; }, propDecorators: { textTemplate: [{
32
29
  type: Input
33
30
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNNUMsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUNZLHNCQUE4QyxFQUM5QyxNQUFjO1FBRGQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFCLGlCQUFZLEdBQUcsMEJBQTBCLENBQUM7UUFRdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixNQUFNLFdBQVcsR0FDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDSCxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDO0lBQ04sQ0FBQzs7c0hBekJRLHlCQUF5QjswR0FBekIseUJBQXlCLG9HQ1Z0Qyx1SEFHQTsyRkRPYSx5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLHFDQUFxQztpQkFDckQ7a0lBR0csWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJUeXBlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBhZ2UtY291bnRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlQ291bnRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICB0ZXh0VGVtcGxhdGUgPSAnZm9laG4tcGFnZS1jb3VudGVyLmxhYmVsJztcblxuICAgIGlzU3RhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZm9laG5OYXZpZ2F0aW9uU2VydmljZTogRm9laG5OYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICB0aGlzLmlzU3RhYmxlID0gdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJzKCk6IFBsYWNlaG9sZGVyVHlwZSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID1cbiAgICAgICAgICAgIHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50Um91dGVJbmRleCgpICsgMTtcbiAgICAgICAgY29uc3QgcGFnZUNvdW50ID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldFRvdGFsUm91dGVzU2l6ZSgpIC0gMTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHBhZ2VDb3VudC50b1N0cmluZygpXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHAgY2xhc3M9XCJoMyB0ZXh0LW11dGVkXCIgKm5nSWY9XCJpc1N0YWJsZSB8IGFzeW5jXCI+XG4gICAge3sgdGV4dFRlbXBsYXRlIHwgZnJvbURpY3Rpb25hcnk6IHBsYWNlaG9sZGVycyB9fVxuPC9wPlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNNUMsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUNZLHNCQUE4QyxFQUM5QyxNQUFjO1FBRGQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFCLGlCQUFZLEdBQUcsMEJBQTBCLENBQUM7UUFRdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixNQUFNLFdBQVcsR0FDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDSCxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDO0lBQ04sQ0FBQzs7c0hBekJRLHlCQUF5QjswR0FBekIseUJBQXlCLG9HQ1Z0Qyx1SEFHQTsyRkRPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksb0JBQW9CO2tJQUs5QixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclR5cGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tcGFnZS1jb3VudGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBhZ2VDb3VudGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHRleHRUZW1wbGF0ZSA9ICdmb2Vobi1wYWdlLWNvdW50ZXIubGFiZWwnO1xuXG4gICAgaXNTdGFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmb2Vobk5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaXNTdGFibGUgPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlcnMoKTogUGxhY2Vob2xkZXJUeXBlIHtcbiAgICAgICAgY29uc3QgY3VycmVudFBhZ2UgPVxuICAgICAgICAgICAgdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZUluZGV4KCkgKyAxO1xuICAgICAgICBjb25zdCBwYWdlQ291bnQgPSB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0VG90YWxSb3V0ZXNTaXplKCkgLSAxO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogcGFnZUNvdW50LnRvU3RyaW5nKClcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8cCBjbGFzcz1cImgzIHRleHQtbXV0ZWRcIiAqbmdJZj1cImlzU3RhYmxlIHwgYXN5bmNcIj5cbiAgICB7eyB0ZXh0VGVtcGxhdGUgfCBmcm9tRGljdGlvbmFyeTogcGxhY2Vob2xkZXJzIH19XG48L3A+XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { Component } from '@angular/core';
2
+ import { combineLatest } from 'rxjs';
3
+ import { filter, first } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../sdk-session-info/session-info.service";
6
+ import * as i2 from "../sdk-appinfo/application-info.service";
7
+ import * as i3 from "./foehn-page-modal.service";
8
+ import * as i4 from "../foehn-modal/foehn-modal.component";
9
+ import * as i5 from "@angular/common";
10
+ export class FoehnPageModalComponent {
11
+ constructor(sessionInfo, applicationInfoService, foehnPageModalService) {
12
+ this.sessionInfo = sessionInfo;
13
+ this.applicationInfoService = applicationInfoService;
14
+ this.foehnPageModalService = foehnPageModalService;
15
+ this.wrongPublicModalVisible = false;
16
+ }
17
+ ngOnInit() {
18
+ combineLatest([
19
+ this.applicationInfoService.currentEtapeInfo,
20
+ this.sessionInfo.data
21
+ ])
22
+ .pipe(filter(([etapeInfo, data]) => !!etapeInfo && !!data), first())
23
+ .subscribe(([etapeInfo, sessionInfoData]) => {
24
+ this.publicsCibles = etapeInfo.publicCible.map(p => p.toUpperCase());
25
+ this.userCategories = sessionInfoData.categories.map(c => c.toUpperCase());
26
+ this.wrongPublicModalVisible = !this.publicsCibles.some(cat => this.userCategories.includes(cat));
27
+ this.formattedPublicsCibles = this.foehnPageModalService.toQuotedTitleCaseStringArray(this.publicsCibles);
28
+ });
29
+ }
30
+ getFullLoginUrl() {
31
+ return this.foehnPageModalService.buildSelfRedirectionThroughCyberLogin();
32
+ }
33
+ getAbortUrl() {
34
+ return this.applicationInfoService.getSafeEspacesSecuriseUrl();
35
+ }
36
+ getUserCategory() {
37
+ return this.foehnPageModalService
38
+ .toQuotedTitleCaseStringArray(this.userCategories)
39
+ .join(', ');
40
+ }
41
+ updateVisibilityStatus(status) {
42
+ // In case the modal is closed by another mean such as the Escape key.
43
+ this.wrongPublicModalVisible = status;
44
+ }
45
+ }
46
+ FoehnPageModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalComponent, deps: [{ token: i1.SessionInfo }, { token: i2.ApplicationInfoService }, { token: i3.FoehnPageModalService }], target: i0.ɵɵFactoryTarget.Component });
47
+ FoehnPageModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageModalComponent, selector: "foehn-page-modal", ngImport: i0, template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i4.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "modalFooterText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'foehn-page-modal', template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n" }]
51
+ }], ctorParameters: function () { return [{ type: i1.SessionInfo }, { type: i2.ApplicationInfoService }, { type: i3.FoehnPageModalService }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVNoQyxZQUNZLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxxQkFBNEM7UUFGNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWHhELDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQVk3QixDQUFDO0lBRUosUUFBUTtRQUNKLGFBQWEsQ0FBQztZQUNWLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0I7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1NBQ3hCLENBQUM7YUFDRyxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNwRCxLQUFLLEVBQUUsQ0FDVjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ2xCLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3JELENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDbEIsQ0FBQztZQUVGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUNwQyxDQUFDO1lBRUYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FDakYsSUFBSSxDQUFDLGFBQWEsQ0FDckIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHFCQUFxQjthQUM1Qiw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNsQyxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDOztvSEEzRFEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0RDWHBDLGkyQ0F3Q0E7MkZEN0JhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZU1vZGFsU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS1tb2RhbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1wYWdlLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGFnZS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHdyb25nUHVibGljTW9kYWxWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBmb3JtYXR0ZWRQdWJsaWNzQ2libGVzOiBzdHJpbmdbXTtcblxuICAgIHByaXZhdGUgdXNlckNhdGVnb3JpZXM6IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSBwdWJsaWNzQ2libGVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZU1vZGFsU2VydmljZTogRm9laG5QYWdlTW9kYWxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGFcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoW2V0YXBlSW5mbywgZGF0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhZGF0YSksXG4gICAgICAgICAgICAgICAgZmlyc3QoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2V0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHVibGljc0NpYmxlcyA9IGV0YXBlSW5mby5wdWJsaWNDaWJsZS5tYXAocCA9PlxuICAgICAgICAgICAgICAgICAgICBwLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlckNhdGVnb3JpZXMgPSBzZXNzaW9uSW5mb0RhdGEuY2F0ZWdvcmllcy5tYXAoYyA9PlxuICAgICAgICAgICAgICAgICAgICBjLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy53cm9uZ1B1YmxpY01vZGFsVmlzaWJsZSA9ICF0aGlzLnB1YmxpY3NDaWJsZXMuc29tZShjYXQgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXQpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkUHVibGljc0NpYmxlcyA9IHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlLnRvUXVvdGVkVGl0bGVDYXNlU3RyaW5nQXJyYXkoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVibGljc0NpYmxlc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRGdWxsTG9naW5VcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlLmJ1aWxkU2VsZlJlZGlyZWN0aW9uVGhyb3VnaEN5YmVyTG9naW4oKTtcbiAgICB9XG5cbiAgICBnZXRBYm9ydFVybCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmdldFNhZmVFc3BhY2VzU2VjdXJpc2VVcmwoKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyQ2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAudG9RdW90ZWRUaXRsZUNhc2VTdHJpbmdBcnJheSh0aGlzLnVzZXJDYXRlZ29yaWVzKVxuICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlzaWJpbGl0eVN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGFub3RoZXIgbWVhbiBzdWNoIGFzIHRoZSBFc2NhcGUga2V5LlxuICAgICAgICB0aGlzLndyb25nUHVibGljTW9kYWxWaXNpYmxlID0gc3RhdHVzO1xuICAgIH1cbn1cbiIsIjxmb2Vobi1tb2RhbFxuICAgIG1vZGFsSGVhZGVyVGV4dD1cIkFjY8OocyBub24gYXV0b3Jpc8OpXCJcbiAgICBtb2RhbFNpemU9XCJtb2RhbC1sZ1wiXG4gICAgW2lzTW9kYWxWaXNpYmxlXT1cIndyb25nUHVibGljTW9kYWxWaXNpYmxlXCJcbiAgICAoaXNNb2RhbFZpc2libGVDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eVN0YXR1cygkZXZlbnQpXCJcbiAgICBbY2xvc2VhYmxlXT1cImZhbHNlXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICBWb3VzIMOqdGVzIGNvbm5lY3TDqSBwb3VyIGxlIGNvbXB0ZSBk4oCZdW4gdXNhZ2VyIGRlIHR5cGVcbiAgICAgICAge3sgZ2V0VXNlckNhdGVnb3J5KCkgfX0sIG9yIGNldHRlIHByZXN0YXRpb24gZXN0IGRlc3RpbsOpZSBhdXggdXNhZ2VycyBkZVxuICAgICAgICB0eXBlIDpcbiAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBwdWJDaWJsZSBvZiBmb3JtYXR0ZWRQdWJsaWNzQ2libGVzXCI+XG4gICAgICAgICAgICAgICAge3sgcHViQ2libGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgVm91cyBwb3V2ZXogY2hvaXNpciBkZSB2b3VzIHJlY29ubmVjdGVyIGV0IGRlIGNvbnRpbnVlciwgb3UgYmllblxuICAgICAgICBkJ2FiYW5kb25uZXIuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1tZC1hdXRvIG1yLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZXRGdWxsTG9naW5VcmwoKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFNlIHJlY29ubmVjdGVyXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbWQtMCBtci1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCIgW2hyZWZdPVwiZ2V0QWJvcnRVcmwoKSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgIEFiYW5kb25uZXJcbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2ZvZWhuLW1vZGFsPlxuIl19
@@ -27,9 +27,9 @@ export class FoehnPageModalService {
27
27
  .pipe(map(cyberloginUrl => `${cyberloginUrl}?goto=${window.location.href}`));
28
28
  }
29
29
  }
30
- FoehnPageModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, deps: [{ token: i1.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
31
- FoehnPageModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, decorators: [{
30
+ FoehnPageModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, deps: [{ token: i1.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ FoehnPageModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{
35
35
  providedIn: 'root'
@@ -0,0 +1,212 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { combineLatest, merge, of } from 'rxjs';
4
+ import { debounceTime, filter, map } from 'rxjs/operators';
5
+ import { supportedBrowsers } from '../supported-browser';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/platform-browser";
8
+ import * as i2 from "./foehn-page.service";
9
+ import * as i3 from "../sdk-support-alert/support-alert.service";
10
+ import * as i4 from "../foehn-navigation/foehn-navigation.service";
11
+ import * as i5 from "../sdk-appinfo/application-info.service";
12
+ import * as i6 from "../gesdem/gesdem-event.service";
13
+ import * as i7 from "../foehn-breadcrumb/breadcrumb-event.service";
14
+ import * as i8 from "@angular/router";
15
+ import * as i9 from "../sdk-session-info/session-info.service";
16
+ import * as i10 from "../foehn-page/foehn-page-modal.service";
17
+ import * as i11 from "../sdk-dictionary/sdk-dictionary.service";
18
+ import * as i12 from "../foehn-header/foehn-header.component";
19
+ import * as i13 from "../foehn-growl/foehn-growl.component";
20
+ import * as i14 from "../foehn-breadcrumb/foehn-breadcrumb.component";
21
+ import * as i15 from "../foehn-icons/foehn-icon-external-link-alt.component";
22
+ import * as i16 from "../sdk-support-alert/support-alert-container.component";
23
+ import * as i17 from "../foehn-user-connected-as/foehn-user-connected-as.component";
24
+ import * as i18 from "../foehn-footer/foehn-footer.component";
25
+ import * as i19 from "./foehn-page-modal.component";
26
+ import * as i20 from "../foehn-confirm-modal/foehn-confirm-modal.component";
27
+ import * as i21 from "@angular/common";
28
+ import * as i22 from "../sdk-dictionary/sdk-dictionary.pipe";
29
+ const LEAVING_ALERT_CONTENT = 'Ce changement de page entraine une perte des données non sauvegardées.<br/>Souhaitez-vous quand même continuer ?';
30
+ const LEAVING_ALERT_OK = 'Poursuivre sans sauvegarder';
31
+ const LEAVING_ALERT_CANCEL = 'Retourner à la prestation';
32
+ export class FoehnPageComponent {
33
+ constructor(_titleService, foehnPageService, supportAlertService, foehnNavigationService, applicationInfoService, gesdemEventService, breadcrumbService, router, sessionInfo, foehnPageModalService, sdkDictionaryService) {
34
+ this._titleService = _titleService;
35
+ this.foehnPageService = foehnPageService;
36
+ this.supportAlertService = supportAlertService;
37
+ this.foehnNavigationService = foehnNavigationService;
38
+ this.applicationInfoService = applicationInfoService;
39
+ this.gesdemEventService = gesdemEventService;
40
+ this.breadcrumbService = breadcrumbService;
41
+ this.router = router;
42
+ this.sessionInfo = sessionInfo;
43
+ this.foehnPageModalService = foehnPageModalService;
44
+ this.sdkDictionaryService = sdkDictionaryService;
45
+ this.neverConnected = false;
46
+ this.supportAlertEnabled = true;
47
+ this.userConnectedAsDisplayed = true;
48
+ this.confirmLeavingAlert = {
49
+ htmlContent: LEAVING_ALERT_CONTENT,
50
+ okButtonLabel: LEAVING_ALERT_OK,
51
+ cancelButtonLabel: LEAVING_ALERT_CANCEL
52
+ };
53
+ /**
54
+ * If set to 'false', hide the default Contact link in the footer.
55
+ */
56
+ this.showDefaultContactFooterLink = true;
57
+ /**
58
+ * If set to 'false', hide the default Guide link in the footer.
59
+ */
60
+ this.showDefaultGuideFooterLink = true;
61
+ /**
62
+ * If set to 'false', hide the default Terms of use link.
63
+ */
64
+ this.showDefaultTermOfUseLink = true;
65
+ /**
66
+ * If set to 'false', hide the default Security Best Practice link.
67
+ */
68
+ this.showDefaultSecurityBestPracticeLink = true;
69
+ this.browserLinkTitlePrefix = 'Lien pour le téléchargement du navigateur internet';
70
+ this.browserNotSupportedBypass = false;
71
+ this.hasBlockingSupportAlert = supportAlertService.getHasAtLeastOneBlockingAlert();
72
+ this.blockedSubscription = combineLatest([
73
+ this.foehnPageService.foehnPageObservable(),
74
+ // Ensures there is at least one value in the observable.
75
+ merge(of(false), this.hasBlockingSupportAlert)
76
+ ]).subscribe(([title, blocked]) => {
77
+ if (blocked) {
78
+ this.setPageTitle('Prestation indisponible');
79
+ }
80
+ else if (title) {
81
+ this.setPageTitle(title);
82
+ }
83
+ });
84
+ this.isBrowserSupported = supportedBrowsers.test(navigator.userAgent);
85
+ this.isApplePlatform = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
86
+ }
87
+ ngOnInit() {
88
+ if (!this.isBrowserSupported) {
89
+ const pageTitle = 'Navigateur non supporté';
90
+ this.foehnPageService.setPageTitle(pageTitle);
91
+ this.breadcrumbService.setCurrentBreadcrumb({
92
+ url: null,
93
+ routerLink: null,
94
+ label: pageTitle
95
+ });
96
+ }
97
+ const isInitialStep = this.applicationInfoService.currentEtapeInfo.pipe(map((currentEtapeInfo) => currentEtapeInfo &&
98
+ currentEtapeInfo.idMetierEtape ===
99
+ currentEtapeInfo.idMetierPrestation));
100
+ // const navigationUpdate: Observable<any> = of (true)
101
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
102
+ const navigationUpdate = this.router.events.pipe(filter(event => event instanceof NavigationEnd));
103
+ // Ensures there is at least one value in the observable.
104
+ const navigationAndInit = merge(of(true), navigationUpdate);
105
+ const formTransmitted = merge(of(undefined), this.gesdemEventService.formTransmittedObservable());
106
+ this.displayUserCategory = combineLatest([
107
+ isInitialStep,
108
+ this.foehnNavigationService.hasBeenInitialized(),
109
+ formTransmitted,
110
+ navigationAndInit
111
+ ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
112
+ map(([initialStep, navServiceInitialized, backendResponse]) => {
113
+ if (navServiceInitialized) {
114
+ const isFirstPage = this.foehnNavigationService.isFirstFormPage();
115
+ const isLastPage = this.foehnNavigationService.isLastFormPage();
116
+ const isCurrentRouteDefined = this.foehnNavigationService.getCurrentRouteIndex() !==
117
+ null;
118
+ return this.foehnPageService.isUserCategoryVisible(isFirstPage, isLastPage, this.userConnectedAsDisplayed, initialStep, this.neverConnected, backendResponse, isCurrentRouteDefined);
119
+ }
120
+ return false;
121
+ }));
122
+ const formInitializationObservable = merge(of(undefined), this.gesdemEventService.formInitializationObservable());
123
+ if (this.neverConnected) {
124
+ this.displayLoginMessages = of(new DisplayLoginMessagesData(false, false));
125
+ }
126
+ else {
127
+ this.displayLoginMessages = combineLatest([
128
+ formInitializationObservable,
129
+ this.sessionInfo.data,
130
+ this.applicationInfoService.currentEtapeInfo
131
+ ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
132
+ map(([formInitialization, sessionInfoData, currentEtapeInfo]) => {
133
+ const isConnectedCyberOrIam = !!sessionInfoData;
134
+ const isLastPage = this.foehnNavigationService.isLastFormPage();
135
+ if (isConnectedCyberOrIam ||
136
+ !currentEtapeInfo.deployeeCyber ||
137
+ !!formInitialization ||
138
+ isLastPage) {
139
+ return new DisplayLoginMessagesData(false, false);
140
+ }
141
+ return new DisplayLoginMessagesData(currentEtapeInfo?.decisionElectroniqueAvailable, true);
142
+ }));
143
+ }
144
+ }
145
+ ngOnChanges(changes) {
146
+ const etapeIdChange = changes.etapeId;
147
+ if (etapeIdChange && etapeIdChange.currentValue) {
148
+ this.foehnPageService.setCurrentEtapeId(etapeIdChange.currentValue);
149
+ }
150
+ const appTitleChange = changes.appTitle;
151
+ if (appTitleChange) {
152
+ this._titleService.setTitle(appTitleChange.currentValue);
153
+ }
154
+ }
155
+ ngOnDestroy() {
156
+ if (this.blockedSubscription) {
157
+ this.blockedSubscription.unsubscribe();
158
+ }
159
+ }
160
+ getFullLoginUrl() {
161
+ return this.foehnPageModalService.buildSelfRedirectionThroughCyberLogin();
162
+ }
163
+ getFullLoginMessage(decisionElectroniqueAvailable) {
164
+ if (decisionElectroniqueAvailable) {
165
+ return combineLatest([
166
+ this.sdkDictionaryService.getKey('use-login.text'),
167
+ this.sdkDictionaryService.getKey('use-login.text.decision-electronique-available')
168
+ ]).pipe(map(([loginMsg, decisionElectroniqueAvailableMsg]) => `${loginMsg}<br/><br/>${decisionElectroniqueAvailableMsg}`));
169
+ }
170
+ return this.sdkDictionaryService.getKey('use-login.text');
171
+ }
172
+ setPageTitle(title) {
173
+ this.pageTitle = title;
174
+ }
175
+ }
176
+ FoehnPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageComponent, deps: [{ token: i1.Title }, { token: i2.FoehnPageService }, { token: i3.SupportAlertService }, { token: i4.FoehnNavigationService }, { token: i5.ApplicationInfoService }, { token: i6.GesdemEventService }, { token: i7.BreadcrumbEventService }, { token: i8.Router }, { token: i9.SessionInfo }, { token: i10.FoehnPageModalService }, { token: i11.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
177
+ FoehnPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageComponent, selector: "foehn-page", inputs: { appTitle: "appTitle", footerLinks: "footerLinks", neverConnected: "neverConnected", supportAlertEnabled: "supportAlertEnabled", supportAlertUrl: "supportAlertUrl", etapeId: "etapeId", userConnectedAsDisplayed: "userConnectedAsDisplayed", confirmLeavingAlert: "confirmLeavingAlert", showDefaultContactFooterLink: "showDefaultContactFooterLink", showDefaultGuideFooterLink: "showDefaultGuideFooterLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0, template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n", components: [{ type: i12.FoehnHeaderComponent, selector: "foehn-header", inputs: ["userInfo", "title", "neverConnected"] }, { type: i13.FoehnGrowlComponent, selector: "foehn-growl" }, { type: i14.FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: ["breadcrumbItems", "currentNav", "neverConnected", "confirmLeavingAlert"] }, { type: i15.FoehnIconExternalLinkAltComponent, selector: "foehn-icon-external-link-alt" }, { type: i16.SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: ["etapeId", "supportAlertUrl"] }, { type: i17.FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as" }, { type: i18.FoehnFooterComponent, selector: "foehn-footer", inputs: ["links", "showDefaultContactLink", "showDefaultGuideLink", "showDefaultTermOfUseLink", "showDefaultSecurityBestPracticeLink"] }, { type: i19.FoehnPageModalComponent, selector: "foehn-page-modal" }, { type: i20.FoehnConfirmModalComponent, selector: "foehn-confirm-modal" }], directives: [{ type: i21.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i21.AsyncPipe, "fromDictionary": i22.SdkDictionaryPipe } });
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageComponent, decorators: [{
179
+ type: Component,
180
+ args: [{ selector: 'foehn-page', template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n" }]
181
+ }], ctorParameters: function () { return [{ type: i1.Title }, { type: i2.FoehnPageService }, { type: i3.SupportAlertService }, { type: i4.FoehnNavigationService }, { type: i5.ApplicationInfoService }, { type: i6.GesdemEventService }, { type: i7.BreadcrumbEventService }, { type: i8.Router }, { type: i9.SessionInfo }, { type: i10.FoehnPageModalService }, { type: i11.SdkDictionaryService }]; }, propDecorators: { appTitle: [{
182
+ type: Input
183
+ }], footerLinks: [{
184
+ type: Input
185
+ }], neverConnected: [{
186
+ type: Input
187
+ }], supportAlertEnabled: [{
188
+ type: Input
189
+ }], supportAlertUrl: [{
190
+ type: Input
191
+ }], etapeId: [{
192
+ type: Input
193
+ }], userConnectedAsDisplayed: [{
194
+ type: Input
195
+ }], confirmLeavingAlert: [{
196
+ type: Input
197
+ }], showDefaultContactFooterLink: [{
198
+ type: Input
199
+ }], showDefaultGuideFooterLink: [{
200
+ type: Input
201
+ }], showDefaultTermOfUseLink: [{
202
+ type: Input
203
+ }], showDefaultSecurityBestPracticeLink: [{
204
+ type: Input
205
+ }] } });
206
+ export class DisplayLoginMessagesData {
207
+ constructor(decisionElectroniqueAvailable, displayShouldLoginMessage) {
208
+ this.decisionElectroniqueAvailable = decisionElectroniqueAvailable;
209
+ this.displayShouldLoginMessage = displayShouldLoginMessage;
210
+ }
211
+ }
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBS3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUt6RCxNQUFNLHFCQUFxQixHQUN2QixrSEFBa0gsQ0FBQztBQUN2SCxNQUFNLGdCQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBQ3ZELE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFNekQsTUFBTSxPQUFPLGtCQUFrQjtJQXdFM0IsWUFDWSxhQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUM5QyxzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGlCQUF5QyxFQUN6QyxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLG9CQUEwQztRQVYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBTztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FB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OytCQUNJLFlBQVk7cWFBS3RCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBV04sNEJBQTRCO3NCQUQzQixLQUFLO2dCQU9OLDBCQUEwQjtzQkFEekIsS0FBSztnQkFPTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBT04sbUNBQW1DO3NCQURsQyxLQUFLOztBQTRNVixNQUFNLE9BQU8sd0JBQXdCO0lBSWpDLFlBQ0ksNkJBQXNDLEVBQ3RDLHlCQUFrQztRQUVsQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsNkJBQTZCLENBQUM7UUFDbkUsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO0lBQy9ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9vdGVyTGluayB9IGZyb20gJy4uL2ZvZWhuLWZvb3Rlci9mb290ZXItbGluay50eXBlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VwcG9ydEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL3Nkay1zdXBwb3J0LWFsZXJ0L3N1cHBvcnQtYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV0YXBlSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHsgR2VzZGVtRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCB9IGZyb20gJy4uL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1icmVhZGNydW1iL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBzdXBwb3J0ZWRCcm93c2VycyB9IGZyb20gJy4uL3N1cHBvcnRlZC1icm93c2VyJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBGb2VoblBhZ2VNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5jb25zdCBMRUFWSU5HX0FMRVJUX0NPTlRFTlQgPVxuICAgICdDZSBjaGFuZ2VtZW50IGRlIHBhZ2UgZW50cmFpbmUgdW5lIHBlcnRlIGRlcyBkb25uw6llcyBub24gc2F1dmVnYXJkw6llcy48YnIvPlNvdWhhaXRlei12b3VzIHF1YW5kIG3Dqm1lIGNvbnRpbnVlciA/JztcbmNvbnN0IExFQVZJTkdfQUxFUlRfT0sgPSAnUG91cnN1aXZyZSBzYW5zIHNhdXZlZ2FyZGVyJztcbmNvbnN0IExFQVZJTkdfQUxFUlRfQ0FOQ0VMID0gJ1JldG91cm5lciDDoCBsYSBwcmVzdGF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGFnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhcHBUaXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBmb290ZXJMaW5rczogRm9vdGVyTGlua1tdO1xuXG4gICAgQElucHV0KClcbiAgICBuZXZlckNvbm5lY3RlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzdXBwb3J0QWxlcnRFbmFibGVkID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc3VwcG9ydEFsZXJ0VXJsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGV0YXBlSWQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdXNlckNvbm5lY3RlZEFzRGlzcGxheWVkID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY29uZmlybUxlYXZpbmdBbGVydDogRm9laG5Db25maXJtTW9kYWxDb250ZW50ID0ge1xuICAgICAgICBodG1sQ29udGVudDogTEVBVklOR19BTEVSVF9DT05URU5ULFxuICAgICAgICBva0J1dHRvbkxhYmVsOiBMRUFWSU5HX0FMRVJUX09LLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogTEVBVklOR19BTEVSVF9DQU5DRUxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgQ29udGFjdCBsaW5rIGluIHRoZSBmb290ZXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdENvbnRhY3RGb290ZXJMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IEd1aWRlIGxpbmsgaW4gdGhlIGZvb3Rlci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0R3VpZGVGb290ZXJMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFRlcm1zIG9mIHVzZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFNlY3VyaXR5IEJlc3QgUHJhY3RpY2UgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rID0gdHJ1ZTtcblxuICAgIHBhZ2VUaXRsZTogc3RyaW5nO1xuXG4gICAgaGFzQmxvY2tpbmdTdXBwb3J0QWxlcnQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBkaXNwbGF5VXNlckNhdGVnb3J5OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgZGlzcGxheUxvZ2luTWVzc2FnZXM6IE9ic2VydmFibGU8RGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhPjtcblxuICAgIGlzQnJvd3NlclN1cHBvcnRlZDogYm9vbGVhbjtcblxuICAgIGlzQXBwbGVQbGF0Zm9ybTogYm9vbGVhbjtcblxuICAgIGJyb3dzZXJMaW5rVGl0bGVQcmVmaXggPVxuICAgICAgICAnTGllbiBwb3VyIGxlIHTDqWzDqWNoYXJnZW1lbnQgZHUgbmF2aWdhdGV1ciBpbnRlcm5ldCc7XG5cbiAgICBicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJsb2NrZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF90aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3VwcG9ydEFsZXJ0U2VydmljZTogU3VwcG9ydEFsZXJ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmb2Vobk5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2VzZGVtRXZlbnRTZXJ2aWNlOiBHZXNkZW1FdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZU1vZGFsU2VydmljZTogRm9laG5QYWdlTW9kYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNka0RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0ID0gc3VwcG9ydEFsZXJ0U2VydmljZS5nZXRIYXNBdExlYXN0T25lQmxvY2tpbmdBbGVydCgpO1xuXG4gICAgICAgIHRoaXMuYmxvY2tlZFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLmZvZWhuUGFnZU9ic2VydmFibGUoKSxcbiAgICAgICAgICAgIC8vIEVuc3VyZXMgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHZhbHVlIGluIHRoZSBvYnNlcnZhYmxlLlxuICAgICAgICAgICAgbWVyZ2Uob2YoZmFsc2UpLCB0aGlzLmhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0KVxuICAgICAgICBdKS5zdWJzY3JpYmUoKFt0aXRsZSwgYmxvY2tlZF0pID0+IHtcbiAgICAgICAgICAgIGlmIChibG9ja2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUoJ1ByZXN0YXRpb24gaW5kaXNwb25pYmxlJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc0Jyb3dzZXJTdXBwb3J0ZWQgPSBzdXBwb3J0ZWRCcm93c2Vycy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgICAgICB0aGlzLmlzQXBwbGVQbGF0Zm9ybSA9IC8oTWFjfGlQaG9uZXxpUG9kfGlQYWQpL2kudGVzdChcbiAgICAgICAgICAgIG5hdmlnYXRvci5wbGF0Zm9ybVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyU3VwcG9ydGVkKSB7XG4gICAgICAgICAgICBjb25zdCBwYWdlVGl0bGUgPSAnTmF2aWdhdGV1ciBub24gc3VwcG9ydMOpJztcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYlNlcnZpY2Uuc2V0Q3VycmVudEJyZWFkY3J1bWIoe1xuICAgICAgICAgICAgICAgIHVybDogbnVsbCxcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBwYWdlVGl0bGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNJbml0aWFsU3RlcCA9IHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5jdXJyZW50RXRhcGVJbmZvLnBpcGUoXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKGN1cnJlbnRFdGFwZUluZm86IEV0YXBlSW5mbykgPT5cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyAmJlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyRXRhcGUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyUHJlc3RhdGlvblxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIGNvbnN0IG5hdmlnYXRpb25VcGRhdGU6IE9ic2VydmFibGU8YW55PiA9IG9mICh0cnVlKVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uVXBkYXRlOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlcyB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgdmFsdWUgaW4gdGhlIG9ic2VydmFibGUuXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25BbmRJbml0ID0gbWVyZ2Uob2YodHJ1ZSksIG5hdmlnYXRpb25VcGRhdGUpO1xuICAgICAgICBjb25zdCBmb3JtVHJhbnNtaXR0ZWQgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtVHJhbnNtaXR0ZWRPYnNlcnZhYmxlKClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlVc2VyQ2F0ZWdvcnkgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIGlzSW5pdGlhbFN0ZXAsXG4gICAgICAgICAgICB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuaGFzQmVlbkluaXRpYWxpemVkKCksXG4gICAgICAgICAgICBmb3JtVHJhbnNtaXR0ZWQsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQW5kSW5pdFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApLCAvLyB3aXRob3V0IGRlYm91bmNlVGltZSwgdGhlIG91dGNvbWUgaXMgbGVzcyBlZmZlY3RpdmUuLi5cbiAgICAgICAgICAgIG1hcCgoW2luaXRpYWxTdGVwLCBuYXZTZXJ2aWNlSW5pdGlhbGl6ZWQsIGJhY2tlbmRSZXNwb25zZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmF2U2VydmljZUluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzRmlyc3RQYWdlID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmlzRmlyc3RGb3JtUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xhc3RQYWdlID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmlzTGFzdEZvcm1QYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVudFJvdXRlRGVmaW5lZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlSW5kZXgoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvZWhuUGFnZVNlcnZpY2UuaXNVc2VyQ2F0ZWdvcnlWaXNpYmxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNGaXJzdFBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xhc3RQYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQ29ubmVjdGVkQXNEaXNwbGF5ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RlcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV2ZXJDb25uZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kUmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0N1cnJlbnRSb3V0ZURlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBmb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlID0gbWVyZ2UoXG4gICAgICAgICAgICBvZih1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1FdmVudFNlcnZpY2UuZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSgpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMubmV2ZXJDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUxvZ2luTWVzc2FnZXMgPSBvZihcbiAgICAgICAgICAgICAgICBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKGZhbHNlLCBmYWxzZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlMb2dpbk1lc3NhZ2VzID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEsXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm9cbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApLCAvLyB3aXRob3V0IGRlYm91bmNlVGltZSwgdGhlIG91dGNvbWUgaXMgbGVzcyBlZmZlY3RpdmUuLi5cbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIChbXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSW5pdGlhbGl6YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uSW5mb0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvXG4gICAgICAgICAgICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQ29ubmVjdGVkQ3liZXJPcklhbSA9ICEhc2Vzc2lvbkluZm9EYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNMYXN0UGFnZSA9IHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5pc0xhc3RGb3JtUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ29ubmVjdGVkQ3liZXJPcklhbSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFjdXJyZW50RXRhcGVJbmZvLmRlcGxveWVlQ3liZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIWZvcm1Jbml0aWFsaXphdGlvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdFBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKGZhbHNlLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8/LmRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBldGFwZUlkQ2hhbmdlID0gY2hhbmdlcy5ldGFwZUlkO1xuICAgICAgICBpZiAoZXRhcGVJZENoYW5nZSAmJiBldGFwZUlkQ2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLnNldEN1cnJlbnRFdGFwZUlkKGV0YXBlSWRDaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFwcFRpdGxlQ2hhbmdlID0gY2hhbmdlcy5hcHBUaXRsZTtcbiAgICAgICAgaWYgKGFwcFRpdGxlQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYXBwVGl0bGVDaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ibG9ja2VkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmJsb2NrZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEZ1bGxMb2dpblVybCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2VoblBhZ2VNb2RhbFNlcnZpY2UuYnVpbGRTZWxmUmVkaXJlY3Rpb25UaHJvdWdoQ3liZXJMb2dpbigpO1xuICAgIH1cblxuICAgIGdldEZ1bGxMb2dpbk1lc3NhZ2UoXG4gICAgICAgIGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlOiBib29sZWFuXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoJ3VzZS1sb2dpbi50ZXh0JyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoXG4gICAgICAgICAgICAgICAgICAgICd1c2UtbG9naW4udGV4dC5kZWNpc2lvbi1lbGVjdHJvbmlxdWUtYXZhaWxhYmxlJ1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW2xvZ2luTXNnLCBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZU1zZ10pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBgJHtsb2dpbk1zZ308YnIvPjxici8+JHtkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZU1zZ31gXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoJ3VzZS1sb2dpbi50ZXh0Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlVGl0bGUodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2VUaXRsZSA9IHRpdGxlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YSB7XG4gICAgZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU6IGJvb2xlYW47XG4gICAgZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZTogYm9vbGVhbixcbiAgICAgICAgZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLmRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlID0gZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU7XG4gICAgICAgIHRoaXMuZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZSA9IGRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2U7XG4gICAgfVxufVxuIiwiPGZvZWhuLWhlYWRlclxuICAgIGlkPVwiZm9laG5faGVhZGVyXCJcbiAgICBbdGl0bGVdPVwiYXBwVGl0bGVcIlxuICAgIFtuZXZlckNvbm5lY3RlZF09XCJuZXZlckNvbm5lY3RlZFwiXG4+PC9mb2Vobi1oZWFkZXI+XG48Zm9laG4tZ3Jvd2wgaWQ9XCJmb2Vobl9ncm93bFwiPjwvZm9laG4tZ3Jvd2w+XG48ZGl2IGNsYXNzPVwidmQtYmctcGF0dGVybi1ncmF5XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8Zm9laG4tYnJlYWRjcnVtYlxuICAgICAgICAgICAgW25ldmVyQ29ubmVjdGVkXT1cIm5ldmVyQ29ubmVjdGVkXCJcbiAgICAgICAgICAgIFtjb25maXJtTGVhdmluZ0FsZXJ0XT1cImNvbmZpcm1MZWF2aW5nQWxlcnRcIlxuICAgICAgICA+PC9mb2Vobi1icmVhZGNydW1iPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48bWFpbiBpZD1cIm1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidmQtYmctcGF0dGVybi1ncmF5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDwhLS0gRml4IGFubm95aW5nIGZsaWNrZXJpbmcgd2hlbiB0aGUgcGFnZSBsb2FkcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoMSBtdC0wXCIgKm5nSWY9XCIhcGFnZVRpdGxlXCI+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICA8aDFcbiAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJwYWdlLXRpdGxlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiEhcGFnZVRpdGxlXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInBhZ2VUaXRsZVwiXG4gICAgICAgICAgICA+PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8c2VjdGlvblxuICAgICAgICAqbmdJZj1cIiFpc0Jyb3dzZXJTdXBwb3J0ZWRcIlxuICAgICAgICBjbGFzcz1cImNvbnRhaW5lciBhbGVydCBhbGVydC1kYW5nZXJcIlxuICAgICAgICBpZD1cImJyb3dzZXJfbm90X3N1cHBvcnRlZF9ibG9ja1wiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgPlxuICAgICAgICA8cCBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+XG4gICAgICAgICAgICAgICAgQ2V0dGUgcHJlc3RhdGlvbiBu4oCZZXN0IHBhcyBjb21wYXRpYmxlIGF2ZWMgdm90cmUgbmF2aWdhdGV1ci5cbiAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxwIGNsYXNzPVwibWItMFwiPlxuICAgICAgICAgICAgTm91cyB2b3VzIGludml0b25zIMOgIHV0aWxpc2VyIHVuZSB2ZXJzaW9uIHLDqWNlbnRlIGRlXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQXBwbGVQbGF0Zm9ybVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJicm93c2VyTGlua1RpdGxlUHJlZml4ICsgJyBFZGdlJ1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5taWNyb3NvZnQuY29tL2ZyLWNoL3dpbmRvd3MvbWljcm9zb2Z0LWVkZ2VcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgRWRnZVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4obGllbiBleHRlcm5lKTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD48L2ZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBcHBsZVBsYXRmb3JtXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImJyb3dzZXJMaW5rVGl0bGVQcmVmaXggKyAnIFNhZmFyaSdcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9zdXBwb3J0LmFwcGxlLmNvbS9kb3dubG9hZHMvc2FmYXJpXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFNhZmFyaVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4obGllbiBleHRlcm5lKTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD48L2ZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJicm93c2VyTGlua1RpdGxlUHJlZml4ICsgJyBGaXJlZm94J1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2ZyL2ZpcmVmb3gvXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEZpcmVmb3hcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4obGllbiBleHRlcm5lKTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIG91XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJicm93c2VyTGlua1RpdGxlUHJlZml4ICsgJyBDaHJvbWUnXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbnRsL2ZyL2Nocm9tZS9cIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQ2hyb21lXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PjwvZm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAuXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpZD1cImJyb3dzZXJfbm90X3N1cHBvcnRlZF9ieXBhc3NcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsb2F0LXJpZ2h0IGJ0biBidG4tZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhYnJvd3Nlck5vdFN1cHBvcnRlZEJ5cGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBDb250aW51ZXIgYXZlYyBjZSBuYXZpZ2F0ZXVyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNkay1zdXBwb3J0LWFsZXJ0LWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cInN1cHBvcnRBbGVydEVuYWJsZWRcIlxuICAgICAgICBbZXRhcGVJZF09XCJldGFwZUlkXCJcbiAgICAgICAgW3N1cHBvcnRBbGVydFVybF09XCJzdXBwb3J0QWxlcnRVcmxcIlxuICAgID48L3Nkay1zdXBwb3J0LWFsZXJ0LWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhKGhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0IHwgYXN5bmMpICYmXG4gICAgICAgICAgICAoaXNCcm93c2VyU3VwcG9ydGVkIHx8IGJyb3dzZXJOb3RTdXBwb3J0ZWRCeXBhc3MpXG4gICAgICAgIFwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiBpZD1cInBhZ2VfY29udGVudFwiPlxuICAgICAgICAgICAgPGZvZWhuLXVzZXItY29ubmVjdGVkLWFzXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5VXNlckNhdGVnb3J5IHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvZm9laG4tdXNlci1jb25uZWN0ZWQtYXM+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TG9naW5NZXNzYWdlcyB8IGFzeW5jIGFzIGRpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YS5kaXNwbGF5U2hvdWxkTG9naW5NZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJkaXNwbGF5TG9naW5NZXNzYWdlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZ1bGxMb2dpbk1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YS5kZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfCBhc3luY1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgbXItMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldEZ1bGxMb2dpblVybCgpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICd1c2UtbG9naW4uYnV0dG9uLnRleHQnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWFpbj5cbjxmb2Vobi1mb290ZXJcbiAgICBpZD1cImZvZWhuX2Zvb3RlclwiXG4gICAgW2xpbmtzXT1cImZvb3RlckxpbmtzXCJcbiAgICBbc2hvd0RlZmF1bHRDb250YWN0TGlua109XCJzaG93RGVmYXVsdENvbnRhY3RGb290ZXJMaW5rXCJcbiAgICBbc2hvd0RlZmF1bHRHdWlkZUxpbmtdPVwic2hvd0RlZmF1bHRHdWlkZUZvb3RlckxpbmtcIlxuICAgIFtzaG93RGVmYXVsdFRlcm1PZlVzZUxpbmtdPVwic2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rXCJcbiAgICBbc2hvd0RlZmF1bHRTZWN1cml0eUJlc3RQcmFjdGljZUxpbmtdPVwic2hvd0RlZmF1bHRTZWN1cml0eUJlc3RQcmFjdGljZUxpbmtcIlxuPjwvZm9laG4tZm9vdGVyPlxuPGZvZWhuLXBhZ2UtbW9kYWw+PC9mb2Vobi1wYWdlLW1vZGFsPlxuPGZvZWhuLWNvbmZpcm0tbW9kYWw+PC9mb2Vobi1jb25maXJtLW1vZGFsPlxuIl19
@@ -16,8 +16,8 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
16
16
  import * as i0 from "@angular/core";
17
17
  export class FoehnPageModule {
18
18
  }
19
- FoehnPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, declarations: [FoehnPageComponent,
19
+ FoehnPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, declarations: [FoehnPageComponent,
21
21
  FoehnPageCounterComponent,
22
22
  FoehnPageModalComponent], imports: [CommonModule,
23
23
  FoehnBreadcrumbModule,
@@ -32,7 +32,7 @@ FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
32
32
  SdkDictionaryModule], exports: [FoehnPageComponent,
33
33
  FoehnPageCounterComponent,
34
34
  FoehnPageModalComponent] });
35
- FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, imports: [[
35
+ FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, imports: [[
36
36
  CommonModule,
37
37
  FoehnBreadcrumbModule,
38
38
  FoehnGrowlModule,
@@ -45,7 +45,7 @@ FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
45
45
  FoehnIconsModule,
46
46
  SdkDictionaryModule
47
47
  ]] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, decorators: [{
49
49
  type: NgModule,
50
50
  args: [{
51
51
  imports: [
@@ -43,9 +43,9 @@ export class FoehnPageService {
43
43
  (isFirstPage || isLastPage));
44
44
  }
45
45
  }
46
- FoehnPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- FoehnPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, decorators: [{
46
+ FoehnPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ FoehnPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root'
@@ -72,17 +72,14 @@ export class FoehnRecapSectionComponent {
72
72
  return !!value || value === 0 || value === false;
73
73
  }
74
74
  }
75
- FoehnRecapSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- FoehnRecapSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnRecapSectionComponent, selector: "foehn-recap-section", inputs: { data: "data", acceptEmptyValues: "acceptEmptyValues" }, ngImport: i0, template: "<section class=\"mb-3 p-1 bg-light\" *ngIf=\"atLeastOneElementHasContent(data)\">\n <h2 class=\"h4 mb-3 pl-1\" [innerHTML]=\"data.titleKey | fromDictionary\"></h2>\n <dl class=\"medium row mr-0 ml-0 pl-3 pr-3\">\n <ng-container *ngFor=\"let element of data.elements\">\n <dt\n *ngIf=\"hasContent(element)\"\n class=\"col-md-4 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"element.key | fromDictionary\"\n ></dt>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"!isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"cleanValue(element)\"\n ></dd>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n >\n <foehn-display-address\n [address]=\"element.value\"\n ></foehn-display-address>\n </dd>\n </ng-container>\n </dl>\n</section>\n", components: [{ type: i1.FoehnDisplayAddressComponent, selector: "foehn-display-address", inputs: ["address"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionComponent, decorators: [{
75
+ FoehnRecapSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ FoehnRecapSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnRecapSectionComponent, selector: "foehn-recap-section", inputs: { data: "data", acceptEmptyValues: "acceptEmptyValues" }, ngImport: i0, template: "<section class=\"mb-3 p-1 bg-light\" *ngIf=\"atLeastOneElementHasContent(data)\">\n <h2 class=\"h4 mb-3 pl-1\" [innerHTML]=\"data.titleKey | fromDictionary\"></h2>\n <dl class=\"medium row mr-0 ml-0 pl-3 pr-3\">\n <ng-container *ngFor=\"let element of data.elements\">\n <dt\n *ngIf=\"hasContent(element)\"\n class=\"col-md-4 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"element.key | fromDictionary\"\n ></dt>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"!isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"cleanValue(element)\"\n ></dd>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n >\n <foehn-display-address\n [address]=\"element.value\"\n ></foehn-display-address>\n </dd>\n </ng-container>\n </dl>\n</section>\n", components: [{ type: i1.FoehnDisplayAddressComponent, selector: "foehn-display-address", inputs: ["address"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionComponent, decorators: [{
78
78
  type: Component,
79
- args: [{
80
- selector: 'foehn-recap-section',
81
- templateUrl: './foehn-recap-section.component.html'
82
- }]
79
+ args: [{ selector: 'foehn-recap-section', template: "<section class=\"mb-3 p-1 bg-light\" *ngIf=\"atLeastOneElementHasContent(data)\">\n <h2 class=\"h4 mb-3 pl-1\" [innerHTML]=\"data.titleKey | fromDictionary\"></h2>\n <dl class=\"medium row mr-0 ml-0 pl-3 pr-3\">\n <ng-container *ngFor=\"let element of data.elements\">\n <dt\n *ngIf=\"hasContent(element)\"\n class=\"col-md-4 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"element.key | fromDictionary\"\n ></dt>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"!isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n [innerHTML]=\"cleanValue(element)\"\n ></dd>\n <dd\n [id]=\"buildId(element)\"\n *ngIf=\"isAddress(element) && hasContent(element)\"\n class=\"col-md-8 font-weight-light border-top border-grey p-1 text-break\"\n >\n <foehn-display-address\n [address]=\"element.value\"\n ></foehn-display-address>\n </dd>\n </ng-container>\n </dl>\n</section>\n" }]
83
80
  }], propDecorators: { data: [{
84
81
  type: Input
85
82
  }], acceptEmptyValues: [{
86
83
  type: Input
87
84
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcmVjYXAtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcmVjYXAtc2VjdGlvbi9mb2Vobi1yZWNhcC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1yZWNhcC1zZWN0aW9uL2ZvZWhuLXJlY2FwLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBV2pELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFTSSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FxRjdCO0lBbkZHLDhEQUE4RDtJQUM5RCxVQUFVLENBQUMsT0FBaUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUF1QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBaUM7UUFDeEMsT0FBTyxDQUNILENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxJQUFJLENBQUMsaUJBQWlCO2dCQUNuQixPQUFPLENBQUMsZ0JBQWdCO2dCQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFpQztRQUNyQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELGlFQUFpRTtRQUNqRSxxQkFBcUI7UUFDckIsT0FBTyxPQUFPLENBQUMsRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFpQztRQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELHNDQUFzQztRQUN0QywwR0FBMEc7UUFDMUcsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN0RCxPQUFPLENBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUN6QyxDQUFDO1NBQ0w7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCLENBQ3BCLE9BQWlDO1FBRWpDLElBQ0ksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQzVCO1lBQ0UsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDeEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsOERBQThEO0lBQ3RELGFBQWEsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUMvQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELDhEQUE4RDtJQUN0RCxLQUFLLENBQUMsS0FBVTtRQUNwQixPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDO0lBQ3JELENBQUM7O3VIQXpGUSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw2SENYdkMscXVDQTJCQTsyRkRoQmEsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxzQ0FBc0M7aUJBQ3REOzhCQUdHLElBQUk7c0JBREgsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZvZWhuUmVjYXBTZWN0aW9uLFxuICAgIEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudFxufSBmcm9tICcuL2ZvZWhuLXJlY2FwLXNlY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vZm9laG4tYWRkcmVzcy9hZGRyZXNzLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXJlY2FwLXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1yZWNhcC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblJlY2FwU2VjdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBkYXRhOiBGb2VoblJlY2FwU2VjdGlvbjtcblxuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0RW1wdHlWYWx1ZXMgPSBmYWxzZTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY2xlYW5WYWx1ZShlbGVtZW50OiBGb2VoblJlY2FwU2VjdGlvbkVsZW1lbnQpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5maXhMaW5lQnJlYWtzKHRoaXMuZm9ybWF0RW1wdHlWYWx1ZShlbGVtZW50KSk7XG4gICAgfVxuXG4gICAgYXRMZWFzdE9uZUVsZW1lbnRIYXNDb250ZW50KGRhdGE6IEZvZWhuUmVjYXBTZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGEuZWxlbWVudHMuc29tZShlbGVtZW50ID0+IHRoaXMuaGFzQ29udGVudChlbGVtZW50KSk7XG4gICAgfVxuXG4gICAgaGFzQ29udGVudChlbGVtZW50OiBGb2VoblJlY2FwU2VjdGlvbkVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhZWxlbWVudCAmJlxuICAgICAgICAgICAgKHRoaXMuYWNjZXB0RW1wdHlWYWx1ZXMgfHxcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFjY2VwdEVtcHR5VmFsdWUgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2V0KGVsZW1lbnQudmFsdWUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGJ1aWxkSWQoZWxlbWVudDogRm9laG5SZWNhcFNlY3Rpb25FbGVtZW50KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvIGluc3RydW1lbnQgdGhlIERPTSBmb3IgYXV0b21hdGVkIHRlc3RpbmcsIGFuIElEIGlzIHJlcXVpcmVkXG4gICAgICAgIC8vIG9uIHRoZSB2YWx1ZSAoZGQpLlxuICAgICAgICByZXR1cm4gZWxlbWVudC5pZCB8fCBgJHt0aGlzLmRhdGEudGl0bGVLZXkgfHwgJyd9LiR7ZWxlbWVudC5rZXkgfHwgJyd9YDtcbiAgICB9XG5cbiAgICBpc0FkZHJlc3MoZWxlbWVudDogRm9laG5SZWNhcFNlY3Rpb25FbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnN0YW5jZW9mIHdvcmsgb25seSB3aXRoIGludGVyZmFjZVxuICAgICAgICAvLyAoU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQ1OTY0MDA4L3R5cGVzY3JpcHQtaW5zdGFuY2VvZi1ub3Qtd29ya2luZy80NzIwNDAzOSM0NzIwNDAzOSkuXG4gICAgICAgIC8vIEJ1dCB3ZSBjYW4gY2hlY2sgaWYgdmFsdWUgaXMgb2JqZWN0IGFuZCBoYXMgcHJvcGVydGllcyBtYW5kYXRvcnkgZm9yIGFuIGFkZHJlc3NcbiAgICAgICAgaWYgKCEhZWxlbWVudC52YWx1ZSAmJiB0eXBlb2YgZWxlbWVudC52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgZWxlbWVudC52YWx1ZS5oYXNPd25Qcm9wZXJ0eSgnY291bnRyeScpICYmXG4gICAgICAgICAgICAgICAgZWxlbWVudC52YWx1ZS5oYXNPd25Qcm9wZXJ0eSgnbG9jYWxpdHknKSAmJlxuICAgICAgICAgICAgICAgIGVsZW1lbnQudmFsdWUuaGFzT3duUHJvcGVydHkoJ3N0cmVldCcpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RW1wdHlWYWx1ZShcbiAgICAgICAgZWxlbWVudDogRm9laG5SZWNhcFNlY3Rpb25FbGVtZW50XG4gICAgKTogc3RyaW5nIHwgbnVtYmVyIHwgQWRkcmVzcyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmFjY2VwdEVtcHR5VmFsdWVzIHx8IGVsZW1lbnQuYWNjZXB0RW1wdHlWYWx1ZSkgJiZcbiAgICAgICAgICAgICF0aGlzLmlzU2V0KGVsZW1lbnQudmFsdWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICctJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50LnZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ091aSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC52YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiAnTm9uJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGZpeExpbmVCcmVha3ModmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlLnJlcGxhY2UgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXHI/XFxufFxcci9nLCAnPGJyLz4nKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF2YWx1ZSB8fCB2YWx1ZSA9PT0gMCB8fCB2YWx1ZSA9PT0gZmFsc2U7XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYi0zIHAtMSBiZy1saWdodFwiICpuZ0lmPVwiYXRMZWFzdE9uZUVsZW1lbnRIYXNDb250ZW50KGRhdGEpXCI+XG4gICAgPGgyIGNsYXNzPVwiaDQgbWItMyBwbC0xXCIgW2lubmVySFRNTF09XCJkYXRhLnRpdGxlS2V5IHwgZnJvbURpY3Rpb25hcnlcIj48L2gyPlxuICAgIDxkbCBjbGFzcz1cIm1lZGl1bSByb3cgbXItMCBtbC0wIHBsLTMgcHItM1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIGRhdGEuZWxlbWVudHNcIj5cbiAgICAgICAgICAgIDxkdFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQ29udGVudChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtNCBmb250LXdlaWdodC1saWdodCBib3JkZXItdG9wIGJvcmRlci1ncmV5IHAtMSB0ZXh0LWJyZWFrXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImVsZW1lbnQua2V5IHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICAgICAgPjwvZHQ+XG4gICAgICAgICAgICA8ZGRcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNBZGRyZXNzKGVsZW1lbnQpICYmIGhhc0NvbnRlbnQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTggZm9udC13ZWlnaHQtbGlnaHQgYm9yZGVyLXRvcCBib3JkZXItZ3JleSBwLTEgdGV4dC1icmVha1wiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjbGVhblZhbHVlKGVsZW1lbnQpXCJcbiAgICAgICAgICAgID48L2RkPlxuICAgICAgICAgICAgPGRkXG4gICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNBZGRyZXNzKGVsZW1lbnQpICYmIGhhc0NvbnRlbnQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTggZm9udC13ZWlnaHQtbGlnaHQgYm9yZGVyLXRvcCBib3JkZXItZ3JleSBwLTEgdGV4dC1icmVha1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZvZWhuLWRpc3BsYXktYWRkcmVzc1xuICAgICAgICAgICAgICAgICAgICBbYWRkcmVzc109XCJlbGVtZW50LnZhbHVlXCJcbiAgICAgICAgICAgICAgICA+PC9mb2Vobi1kaXNwbGF5LWFkZHJlc3M+XG4gICAgICAgICAgICA8L2RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2RsPlxuPC9zZWN0aW9uPlxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcmVjYXAtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcmVjYXAtc2VjdGlvbi9mb2Vobi1yZWNhcC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1yZWNhcC1zZWN0aW9uL2ZvZWhuLXJlY2FwLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBV2pELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFTSSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FxRjdCO0lBbkZHLDhEQUE4RDtJQUM5RCxVQUFVLENBQUMsT0FBaUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUF1QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBaUM7UUFDeEMsT0FBTyxDQUNILENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxJQUFJLENBQUMsaUJBQWlCO2dCQUNuQixPQUFPLENBQUMsZ0JBQWdCO2dCQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFpQztRQUNyQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELGlFQUFpRTtRQUNqRSxxQkFBcUI7UUFDckIsT0FBTyxPQUFPLENBQUMsRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFpQztRQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELHNDQUFzQztRQUN0QywwR0FBMEc7UUFDMUcsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN0RCxPQUFPLENBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUN6QyxDQUFDO1NBQ0w7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCLENBQ3BCLE9BQWlDO1FBRWpDLElBQ0ksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQzVCO1lBQ0UsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDeEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsOERBQThEO0lBQ3RELGFBQWEsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUMvQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELDhEQUE4RDtJQUN0RCxLQUFLLENBQUMsS0FBVTtRQUNwQixPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDO0lBQ3JELENBQUM7O3VIQXpGUSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw2SENYdkMscXVDQTJCQTsyRkRoQmEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNJLHFCQUFxQjs4QkFLL0IsSUFBSTtzQkFESCxLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9laG5SZWNhcFNlY3Rpb24sXG4gICAgRm9laG5SZWNhcFNlY3Rpb25FbGVtZW50XG59IGZyb20gJy4vZm9laG4tcmVjYXAtc2VjdGlvbi50eXBlJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9mb2Vobi1hZGRyZXNzL2FkZHJlc3MudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tcmVjYXAtc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXJlY2FwLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuUmVjYXBTZWN0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGRhdGE6IEZvZWhuUmVjYXBTZWN0aW9uO1xuXG4gICAgQElucHV0KClcbiAgICBhY2NlcHRFbXB0eVZhbHVlcyA9IGZhbHNlO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjbGVhblZhbHVlKGVsZW1lbnQ6IEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpeExpbmVCcmVha3ModGhpcy5mb3JtYXRFbXB0eVZhbHVlKGVsZW1lbnQpKTtcbiAgICB9XG5cbiAgICBhdExlYXN0T25lRWxlbWVudEhhc0NvbnRlbnQoZGF0YTogRm9laG5SZWNhcFNlY3Rpb24pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0YS5lbGVtZW50cy5zb21lKGVsZW1lbnQgPT4gdGhpcy5oYXNDb250ZW50KGVsZW1lbnQpKTtcbiAgICB9XG5cbiAgICBoYXNDb250ZW50KGVsZW1lbnQ6IEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISFlbGVtZW50ICYmXG4gICAgICAgICAgICAodGhpcy5hY2NlcHRFbXB0eVZhbHVlcyB8fFxuICAgICAgICAgICAgICAgIGVsZW1lbnQuYWNjZXB0RW1wdHlWYWx1ZSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuaXNTZXQoZWxlbWVudC52YWx1ZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYnVpbGRJZChlbGVtZW50OiBGb2VoblJlY2FwU2VjdGlvbkVsZW1lbnQpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG8gaW5zdHJ1bWVudCB0aGUgRE9NIGZvciBhdXRvbWF0ZWQgdGVzdGluZywgYW4gSUQgaXMgcmVxdWlyZWRcbiAgICAgICAgLy8gb24gdGhlIHZhbHVlIChkZCkuXG4gICAgICAgIHJldHVybiBlbGVtZW50LmlkIHx8IGAke3RoaXMuZGF0YS50aXRsZUtleSB8fCAnJ30uJHtlbGVtZW50LmtleSB8fCAnJ31gO1xuICAgIH1cblxuICAgIGlzQWRkcmVzcyhlbGVtZW50OiBGb2VoblJlY2FwU2VjdGlvbkVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluc3RhbmNlb2Ygd29yayBvbmx5IHdpdGggaW50ZXJmYWNlXG4gICAgICAgIC8vIChTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDU5NjQwMDgvdHlwZXNjcmlwdC1pbnN0YW5jZW9mLW5vdC13b3JraW5nLzQ3MjA0MDM5IzQ3MjA0MDM5KS5cbiAgICAgICAgLy8gQnV0IHdlIGNhbiBjaGVjayBpZiB2YWx1ZSBpcyBvYmplY3QgYW5kIGhhcyBwcm9wZXJ0aWVzIG1hbmRhdG9yeSBmb3IgYW4gYWRkcmVzc1xuICAgICAgICBpZiAoISFlbGVtZW50LnZhbHVlICYmIHR5cGVvZiBlbGVtZW50LnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBlbGVtZW50LnZhbHVlLmhhc093blByb3BlcnR5KCdjb3VudHJ5JykgJiZcbiAgICAgICAgICAgICAgICBlbGVtZW50LnZhbHVlLmhhc093blByb3BlcnR5KCdsb2NhbGl0eScpICYmXG4gICAgICAgICAgICAgICAgZWxlbWVudC52YWx1ZS5oYXNPd25Qcm9wZXJ0eSgnc3RyZWV0JylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRFbXB0eVZhbHVlKFxuICAgICAgICBlbGVtZW50OiBGb2VoblJlY2FwU2VjdGlvbkVsZW1lbnRcbiAgICApOiBzdHJpbmcgfCBudW1iZXIgfCBBZGRyZXNzIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuYWNjZXB0RW1wdHlWYWx1ZXMgfHwgZWxlbWVudC5hY2NlcHRFbXB0eVZhbHVlKSAmJlxuICAgICAgICAgICAgIXRoaXMuaXNTZXQoZWxlbWVudC52YWx1ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJy0nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnQudmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnT3VpJztcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuICdOb24nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgZml4TGluZUJyZWFrcyh2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUucmVwbGFjZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xccj9cXG58XFxyL2csICc8YnIvPicpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBpc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXZhbHVlIHx8IHZhbHVlID09PSAwIHx8IHZhbHVlID09PSBmYWxzZTtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1iLTMgcC0xIGJnLWxpZ2h0XCIgKm5nSWY9XCJhdExlYXN0T25lRWxlbWVudEhhc0NvbnRlbnQoZGF0YSlcIj5cbiAgICA8aDIgY2xhc3M9XCJoNCBtYi0zIHBsLTFcIiBbaW5uZXJIVE1MXT1cImRhdGEudGl0bGVLZXkgfCBmcm9tRGljdGlvbmFyeVwiPjwvaDI+XG4gICAgPGRsIGNsYXNzPVwibWVkaXVtIHJvdyBtci0wIG1sLTAgcGwtMyBwci0zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZGF0YS5lbGVtZW50c1wiPlxuICAgICAgICAgICAgPGR0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNDb250ZW50KGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC00IGZvbnQtd2VpZ2h0LWxpZ2h0IGJvcmRlci10b3AgYm9yZGVyLWdyZXkgcC0xIHRleHQtYnJlYWtcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZWxlbWVudC5rZXkgfCBmcm9tRGljdGlvbmFyeVwiXG4gICAgICAgICAgICA+PC9kdD5cbiAgICAgICAgICAgIDxkZFxuICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0FkZHJlc3MoZWxlbWVudCkgJiYgaGFzQ29udGVudChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtOCBmb250LXdlaWdodC1saWdodCBib3JkZXItdG9wIGJvcmRlci1ncmV5IHAtMSB0ZXh0LWJyZWFrXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNsZWFuVmFsdWUoZWxlbWVudClcIlxuICAgICAgICAgICAgPjwvZGQ+XG4gICAgICAgICAgICA8ZGRcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0FkZHJlc3MoZWxlbWVudCkgJiYgaGFzQ29udGVudChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtOCBmb250LXdlaWdodC1saWdodCBib3JkZXItdG9wIGJvcmRlci1ncmV5IHAtMSB0ZXh0LWJyZWFrXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Zm9laG4tZGlzcGxheS1hZGRyZXNzXG4gICAgICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cImVsZW1lbnQudmFsdWVcIlxuICAgICAgICAgICAgICAgID48L2ZvZWhuLWRpc3BsYXktYWRkcmVzcz5cbiAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGw+XG48L3NlY3Rpb24+XG4iXX0=
@@ -6,10 +6,10 @@ import { FoehnAddressModule } from '../foehn-address/foehn-address.module';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FoehnRecapSectionModule {
8
8
  }
9
- FoehnRecapSectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- FoehnRecapSectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionModule, declarations: [FoehnRecapSectionComponent], imports: [CommonModule, SdkDictionaryModule, FoehnAddressModule], exports: [FoehnRecapSectionComponent] });
11
- FoehnRecapSectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionModule, imports: [[CommonModule, SdkDictionaryModule, FoehnAddressModule]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnRecapSectionModule, decorators: [{
9
+ FoehnRecapSectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ FoehnRecapSectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionModule, declarations: [FoehnRecapSectionComponent], imports: [CommonModule, SdkDictionaryModule, FoehnAddressModule], exports: [FoehnRecapSectionComponent] });
11
+ FoehnRecapSectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionModule, imports: [[CommonModule, SdkDictionaryModule, FoehnAddressModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnRecapSectionModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [FoehnRecapSectionComponent],