@dsivd/prestations-ng 17.0.0-beta.3 → 17.0.0-beta.5

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 (221) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/UPGRADING_V17.md +30 -21
  3. package/dsivd-prestations-ng-17.0.0-beta.5.tgz +0 -0
  4. package/esm2022/abstract-page-component.mjs +10 -6
  5. package/esm2022/directives/currency-formatter.directive.mjs +3 -3
  6. package/esm2022/directives/formatter.module.mjs +4 -4
  7. package/esm2022/directives/iban-formatter.directive.mjs +3 -3
  8. package/esm2022/directives/ide-formatter.directive.mjs +3 -3
  9. package/esm2022/directives/ndc-formatter.directive.mjs +3 -3
  10. package/esm2022/foehn-address/foehn-address.module.mjs +4 -4
  11. package/esm2022/foehn-address/foehn-display-address.component.mjs +3 -3
  12. package/esm2022/foehn-address/foehn-input-address.component.mjs +9 -5
  13. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +3 -3
  14. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +3 -3
  15. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +3 -3
  16. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +3 -3
  17. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +3 -3
  18. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +4 -4
  19. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +3 -3
  20. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +4 -4
  21. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +3 -3
  22. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +3 -3
  23. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +4 -4
  24. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +24 -17
  25. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +3 -3
  26. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +4 -4
  27. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +3 -3
  28. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +4 -4
  29. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +3 -3
  30. package/esm2022/foehn-checkables/foehn-radio.component.mjs +3 -3
  31. package/esm2022/foehn-checkables/foehn-select.component.mjs +3 -3
  32. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +3 -3
  33. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +4 -4
  34. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +3 -3
  35. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +3 -3
  36. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +4 -4
  37. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +3 -3
  38. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +4 -4
  39. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +3 -3
  40. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +4 -4
  41. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +3 -3
  42. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +4 -4
  43. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +3 -3
  44. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +4 -4
  45. package/esm2022/foehn-footer/foehn-footer.component.mjs +3 -3
  46. package/esm2022/foehn-footer/foehn-footer.module.mjs +4 -4
  47. package/esm2022/foehn-form/foehn-form.component.mjs +3 -3
  48. package/esm2022/foehn-form/foehn-form.module.mjs +4 -4
  49. package/esm2022/foehn-form/register-ng-model.service.mjs +3 -3
  50. package/esm2022/foehn-growl/foehn-growl.component.mjs +3 -3
  51. package/esm2022/foehn-growl/foehn-growl.module.mjs +4 -4
  52. package/esm2022/foehn-growl/growl-broker.service.mjs +3 -3
  53. package/esm2022/foehn-header/foehn-header.component.mjs +3 -3
  54. package/esm2022/foehn-header/foehn-header.module.mjs +4 -4
  55. package/esm2022/foehn-header/foehn-skip-link.component.mjs +3 -3
  56. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +3 -3
  57. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +4 -4
  58. package/esm2022/foehn-icons/abstract-icon-component.mjs +3 -3
  59. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +3 -3
  60. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +3 -3
  61. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +3 -3
  62. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +3 -3
  63. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +3 -3
  64. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +3 -3
  65. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +3 -3
  66. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +3 -3
  67. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +3 -3
  68. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +3 -3
  69. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +3 -3
  70. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +3 -3
  71. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +3 -3
  72. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +3 -3
  73. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +3 -3
  74. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +3 -3
  75. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +3 -3
  76. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +3 -3
  77. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +3 -3
  78. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +3 -3
  79. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +3 -3
  80. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +3 -3
  81. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +3 -3
  82. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +3 -3
  83. package/esm2022/foehn-icons/foehn-icons.module.mjs +4 -4
  84. package/esm2022/foehn-input/foehn-input-email.component.mjs +3 -3
  85. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +3 -3
  86. package/esm2022/foehn-input/foehn-input-number.component.mjs +3 -3
  87. package/esm2022/foehn-input/foehn-input-password.component.mjs +3 -3
  88. package/esm2022/foehn-input/foehn-input-phone.component.mjs +3 -3
  89. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +3 -3
  90. package/esm2022/foehn-input/foehn-input-string.component.mjs +3 -3
  91. package/esm2022/foehn-input/foehn-input-text.component.mjs +3 -3
  92. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +3 -3
  93. package/esm2022/foehn-input/foehn-input.component.mjs +3 -3
  94. package/esm2022/foehn-input/foehn-input.module.mjs +4 -4
  95. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +3 -3
  96. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +3 -3
  97. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +6 -6
  98. package/esm2022/foehn-list/foehn-list.component.mjs +3 -3
  99. package/esm2022/foehn-list/foehn-list.module.mjs +4 -4
  100. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +3 -3
  101. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +3 -3
  102. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +3 -3
  103. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +3 -3
  104. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +3 -3
  105. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +3 -3
  106. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +3 -3
  107. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +4 -4
  108. package/esm2022/foehn-misc/foehn-abbr.component.mjs +3 -3
  109. package/esm2022/foehn-misc/foehn-misc.module.mjs +4 -4
  110. package/esm2022/foehn-modal/foehn-modal.component.mjs +3 -3
  111. package/esm2022/foehn-modal/foehn-modal.module.mjs +4 -4
  112. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +3 -3
  113. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +4 -4
  114. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +3 -3
  115. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +4 -4
  116. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +3 -3
  117. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +3 -3
  118. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +4 -4
  119. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +3 -3
  120. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +3 -3
  121. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +3 -3
  122. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +4 -4
  123. package/esm2022/foehn-page/foehn-page-counter.component.mjs +3 -3
  124. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +3 -3
  125. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +3 -3
  126. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +3 -3
  127. package/esm2022/foehn-page/foehn-page-modal.component.mjs +3 -3
  128. package/esm2022/foehn-page/foehn-page-modal.service.mjs +3 -3
  129. package/esm2022/foehn-page/foehn-page.component.mjs +3 -3
  130. package/esm2022/foehn-page/foehn-page.module.mjs +4 -4
  131. package/esm2022/foehn-page/foehn-page.service.mjs +3 -3
  132. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +3 -3
  133. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +3 -3
  134. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +3 -3
  135. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +3 -3
  136. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +4 -4
  137. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +3 -3
  138. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +4 -4
  139. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +3 -3
  140. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +4 -4
  141. package/esm2022/foehn-table/foehn-table.component.mjs +3 -3
  142. package/esm2022/foehn-table/foehn-table.module.mjs +4 -4
  143. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +3 -3
  144. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +3 -3
  145. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +3 -3
  146. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +4 -4
  147. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +3 -3
  148. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +4 -4
  149. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +3 -3
  150. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +8 -6
  151. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +3 -3
  152. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +4 -4
  153. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +3 -3
  154. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +4 -4
  155. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +3 -3
  156. package/esm2022/foehn-upload/page-upload-limit.service.mjs +3 -3
  157. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +3 -3
  158. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +4 -4
  159. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +3 -3
  160. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +4 -4
  161. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +3 -3
  162. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +4 -4
  163. package/esm2022/gesdem/gesdem-error-handler.service.mjs +5 -4
  164. package/esm2022/gesdem/gesdem-event.service.mjs +3 -3
  165. package/esm2022/gesdem/gesdem-handler.service.mjs +11 -5
  166. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +3 -3
  167. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +3 -3
  168. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +4 -4
  169. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +3 -3
  170. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +17 -13
  171. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +4 -4
  172. package/esm2022/gesdem-error/gesdem-error.component.mjs +8 -6
  173. package/esm2022/gesdem-error/gesdem-error.module.mjs +4 -4
  174. package/esm2022/pipes/currency.pipe.mjs +3 -3
  175. package/esm2022/pipes/date.pipe.mjs +3 -3
  176. package/esm2022/pipes/formatIde.pipe.mjs +3 -3
  177. package/esm2022/pipes/pipes.module.mjs +4 -4
  178. package/esm2022/prestations-ng-core.module.mjs +4 -4
  179. package/esm2022/sdk-appinfo/application-info.mjs +7 -1
  180. package/esm2022/sdk-appinfo/application-info.service.mjs +24 -6
  181. package/esm2022/sdk-currency/currency.helper.mjs +3 -3
  182. package/esm2022/sdk-date/date.helper.mjs +3 -3
  183. package/esm2022/sdk-dictionary/default-dictionary.mjs +6 -3
  184. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +4 -4
  185. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +3 -3
  186. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +3 -3
  187. package/esm2022/sdk-drafts/drafts-container.component.mjs +3 -3
  188. package/esm2022/sdk-drafts/drafts.module.mjs +4 -4
  189. package/esm2022/sdk-drafts/drafts.service.mjs +3 -3
  190. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +3 -3
  191. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +4 -4
  192. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +3 -3
  193. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +3 -3
  194. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +3 -3
  195. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +3 -3
  196. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +3 -3
  197. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +4 -4
  198. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +7 -9
  199. package/esm2022/sdk-redirect/redirect.component.mjs +27 -16
  200. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +4 -4
  201. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +3 -3
  202. package/esm2022/sdk-session-info/session-info.service.mjs +3 -3
  203. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +3 -3
  204. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +3 -3
  205. package/esm2022/sdk-support-alert/support-alert.component.mjs +3 -3
  206. package/esm2022/sdk-support-alert/support-alert.module.mjs +4 -4
  207. package/esm2022/sdk-support-alert/support-alert.service.mjs +3 -3
  208. package/esm2022/supported-browser.mjs +2 -2
  209. package/esm2022/validation/validation-handler.service.mjs +3 -3
  210. package/fesm2022/dsivd-prestations-ng.mjs +958 -896
  211. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  212. package/foehn-address/foehn-input-address.component.d.ts +2 -1
  213. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +3 -1
  214. package/gesdem/gesdem-error-handler.service.d.ts +1 -0
  215. package/gesdem/gesdem-handler.service.d.ts +1 -1
  216. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -0
  217. package/gesdem-error/gesdem-error.component.d.ts +1 -0
  218. package/package.json +1 -1
  219. package/sdk-appinfo/application-info.d.ts +3 -2
  220. package/sdk-redirect/redirect.component.d.ts +4 -2
  221. package/dsivd-prestations-ng-17.0.0-beta.3.tgz +0 -0
@@ -626,8 +626,8 @@ export class FoehnAutocompleteComponent extends FoehnCheckableGroupComponent {
626
626
  escapeRegexp(value) {
627
627
  return value.replace(this.REGEX_TO_ESCAPE_REGEX, '\\$&');
628
628
  }
629
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
630
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnAutocompleteComponent, selector: "foehn-autocomplete", inputs: { searchValueMinCharsCount: "searchValueMinCharsCount", allowCustomValue: "allowCustomValue", isSuggestionListDynamic: "isSuggestionListDynamic", customValueModelGenerator: "customValueModelGenerator", itemHeightInSuggestionListInPx: "itemHeightInSuggestionListInPx", elementSuggestionLabel: "elementSuggestionLabel", caseSensitiveSearch: "caseSensitiveSearch", disabled: "disabled" }, outputs: { userSearchInput: "userSearchInput" }, providers: [
629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
630
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnAutocompleteComponent, selector: "foehn-autocomplete", inputs: { searchValueMinCharsCount: "searchValueMinCharsCount", allowCustomValue: "allowCustomValue", isSuggestionListDynamic: "isSuggestionListDynamic", customValueModelGenerator: "customValueModelGenerator", itemHeightInSuggestionListInPx: "itemHeightInSuggestionListInPx", elementSuggestionLabel: "elementSuggestionLabel", caseSensitiveSearch: "caseSensitiveSearch", disabled: "disabled" }, outputs: { userSearchInput: "userSearchInput" }, providers: [
631
631
  {
632
632
  provide: FoehnInputComponent,
633
633
  useExisting: forwardRef(() => FoehnAutocompleteComponent),
@@ -635,7 +635,7 @@ export class FoehnAutocompleteComponent extends FoehnCheckableGroupComponent {
635
635
  }
636
636
  ], viewQueries: [{ propertyName: "virtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }, { propertyName: "suggestionsList", first: true, predicate: ["suggestionsList"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["entryComponent"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!--\n Accessible autocomplete widget following the listbox combobox pattern.\n ref: https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html\n-->\n<div\n class=\"form-group autocomplete-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.aria-expanded]=\"shouldDisplayListbox()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n [attr.id]=\"buildChildId() + 'Label'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"visually-hidden\">\n Utilisez les fl\u00E8ches haut et bas pour naviguer dans la liste, puis la\n touche Entrer pour s\u00E9lectionner une option.\n </div>\n\n <!-- Give screen reader users the total of results when then input changes. -->\n <div\n class=\"visually-hidden\"\n aria-live=\"polite\"\n role=\"status\"\n aria-atomic=\"true\"\n *ngIf=\"displayedElements && shouldDisplayListbox()\"\n >\n Nombre de r\u00E9sultats: {{ displayedElements.length }}\n <!-- Trick to have NVDA re-reading this properly -->\n <span>{{ notificationMessageUpdated ? ',' : ',,' }}</span>\n </div>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay()\"\n class=\"form-control autocomplete\"\n type=\"text\"\n role=\"textbox\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.disabled]=\"disabledSubject | async\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-required]=\"required || null\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.autocomplete]=\"'off'\"\n [attr.aria-activedescendant]=\"getActiveDescendantId()\"\n [attr.aria-owns]=\"\n shouldDisplayListbox() ? buildChildId() + 'Listbox' : null\n \"\n [attr.list]=\"buildChildId() + 'list'\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"showSuggestionsWhenInputHasFocusAndIsEmpty($event)\"\n (input)=\"handleSearchInputChange(entryComponent.value)\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (click)=\"onInputClick()\"\n autocomplete=\"off\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n *ngIf=\"displayClearButton() | async\"\n class=\"autocomplete-clear-button btn\"\n (click)=\"onClear()\"\n [id]=\"buildChildId() + 'Clear'\"\n >\n <foehn-icon-times\n class=\"autocomplete-clear-button-icon\"\n [title]=\"'foehn-input.clear-button.label' | fromDictionary\"\n ></foehn-icon-times>\n </button>\n\n <div\n class=\"form-group suggestions-list-container\"\n *ngIf=\"shouldDisplayListbox()\"\n >\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeightInSuggestionListInPx\"\n [style.height.px]=\"VIEW_PORT_HEIGHT\"\n >\n <ul\n [attr.id]=\"buildChildId() + 'Listbox'\"\n [attr.aria-labelledby]=\"buildChildId() + 'Label'\"\n role=\"listbox\"\n class=\"suggestions-list\"\n #suggestionsList\n >\n <li\n tabindex=\"-1\"\n role=\"option\"\n class=\"suggestion\"\n *cdkVirtualFor=\"\n let element of displayedElements;\n index as i\n \"\n [attr.id]=\"buildChildId() + 'Option' + i\"\n (click)=\"onClickSuggestion(element)\"\n (mousedown)=\"onListOptionMouseDown($event)\"\n (focus)=\"onListOptionFocus()\"\n (blur)=\"onListOptionBlur()\"\n [style.min-height.px]=\"itemHeightInSuggestionListInPx\"\n [attr.label-value]=\"getLabel(element)\"\n >\n <!-- Ensures that screen readers don't consider any spaces around the emphasis -->\n <span [innerHtml]=\"getLabelWithEmphasis(element)\"></span>\n </li>\n </ul>\n </cdk-virtual-scroll-viewport>\n </div>\n</div>\n", styles: ["div.suggestions-list-container{position:relative;width:100%}cdk-virtual-scroll-viewport{width:100%;position:absolute;top:0;left:0;z-index:10;background:#fff;overflow-y:auto;box-shadow:0 4px 8px #0003,0 6px 20px #00000030;list-style:none;margin:inherit;padding:inherit}ul.suggestions-list{list-style:none;margin:0;padding:0}li.suggestion{width:100%;padding:.5em;font-size:1em}li.suggestion:hover,.suggestion-selected{background-color:var(--vd-info)}li.suggestion:hover{cursor:pointer;background-color:#dfdfdf}input.autocomplete::-ms-clear{display:none}input.autocomplete{padding-right:30px}.autocomplete-form-group{position:relative}.autocomplete-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.autocomplete-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .autocomplete-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .autocomplete-clear-button.btn:hover .svg-inline--fa{color:#000!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "component", type: i3.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SdkDictionaryPipe, name: "fromDictionary" }] }); }
637
637
  }
638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteComponent, decorators: [{
638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteComponent, decorators: [{
639
639
  type: Component,
640
640
  args: [{ selector: 'foehn-autocomplete', providers: [
641
641
  {
@@ -8,21 +8,21 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
8
8
  import { FoehnAutocompleteComponent } from './foehn-autocomplete.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class FoehnAutocompleteModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteModule, declarations: [FoehnAutocompleteComponent], imports: [CommonModule,
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteModule, declarations: [FoehnAutocompleteComponent], imports: [CommonModule,
13
13
  FoehnIconsModule,
14
14
  FoehnValidationAlertsModule,
15
15
  FormsModule,
16
16
  ScrollingModule,
17
17
  SdkDictionaryModule], exports: [FoehnAutocompleteComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteModule, imports: [CommonModule,
18
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteModule, imports: [CommonModule,
19
19
  FoehnIconsModule,
20
20
  FoehnValidationAlertsModule,
21
21
  FormsModule,
22
22
  ScrollingModule,
23
23
  SdkDictionaryModule] }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnAutocompleteModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnAutocompleteModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  imports: [
@@ -6,8 +6,8 @@ import * as i2 from "../foehn-validation-alerts/foehn-validation-alerts.componen
6
6
  import * as i3 from "@angular/forms";
7
7
  import * as i4 from "../sdk-dictionary/sdk-dictionary.pipe";
8
8
  export class FoehnBooleanCheckboxComponent extends FoehnInputComponent {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnBooleanCheckboxComponent, selector: "foehn-boolean-checkbox", providers: [
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnBooleanCheckboxComponent, selector: "foehn-boolean-checkbox", providers: [
11
11
  {
12
12
  provide: FoehnInputComponent,
13
13
  useExisting: forwardRef(() => FoehnBooleanCheckboxComponent),
@@ -15,7 +15,7 @@ export class FoehnBooleanCheckboxComponent extends FoehnInputComponent {
15
15
  }
16
16
  ], usesInheritance: true, ngImport: i0, template: "<div\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n class=\"form-group\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [name]=\"buildChildName()\"\n [attr.name]=\"buildChildName()\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n (change)=\"handleChange(model)\"\n #entryComponent\n />\n <label\n [ngClass]=\"\n isLabelSrOnly\n ? 'form-check-label visually-hidden'\n : 'form-check-label vd-p'\n \"\n [for]=\"buildChildId()\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanCheckboxComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanCheckboxComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'foehn-boolean-checkbox', providers: [
21
21
  {
@@ -12,8 +12,8 @@ export class FoehnBooleanRadioComponent extends FoehnInputComponent {
12
12
  this.falseLabel = 'Non';
13
13
  this.verticalDisplay = false;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnBooleanRadioComponent, selector: "foehn-boolean-radio", inputs: { trueLabel: "trueLabel", falseLabel: "falseLabel", verticalDisplay: "verticalDisplay" }, providers: [
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnBooleanRadioComponent, selector: "foehn-boolean-radio", inputs: { trueLabel: "trueLabel", falseLabel: "falseLabel", verticalDisplay: "verticalDisplay" }, providers: [
17
17
  {
18
18
  provide: FoehnInputComponent,
19
19
  useExisting: forwardRef(() => FoehnBooleanRadioComponent),
@@ -21,7 +21,7 @@ export class FoehnBooleanRadioComponent extends FoehnInputComponent {
21
21
  }
22
22
  ], usesInheritance: true, ngImport: i0, template: "<div\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n class=\"form-group\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset [attr.aria-describedby]=\"getDescribedBy()\">\n <legend\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div\n class=\"d-flex\"\n [ngClass]=\"verticalDisplay ? 'flex-column' : 'flex-row'\"\n >\n <div class=\"form-check\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [name]=\"buildChildName()\"\n [attr.name]=\"buildChildName()\"\n [value]=\"true\"\n [attr.id]=\"buildChildId('True')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n (change)=\"handleChange(true)\"\n #entryComponent\n />\n <label\n class=\"form-check-label\"\n [for]=\"buildChildId('True')\"\n [innerHTML]=\"trueLabel\"\n ></label>\n </div>\n\n <div class=\"form-check\" [ngClass]=\"verticalDisplay ? '' : 'ms-2'\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [name]=\"buildChildName()\"\n [attr.name]=\"buildChildName()\"\n [value]=\"false\"\n [attr.id]=\"buildChildId('False')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n (change)=\"handleChange(false)\"\n />\n <label\n class=\"form-check-label\"\n [for]=\"buildChildId('False')\"\n [innerHTML]=\"falseLabel\"\n ></label>\n </div>\n </div>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanRadioComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanRadioComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'foehn-boolean-radio', providers: [
27
27
  {
@@ -7,17 +7,17 @@ import { FoehnBooleanCheckboxComponent } from './foehn-boolean-checkbox.componen
7
7
  import { FoehnBooleanRadioComponent } from './foehn-boolean-radio.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class FoehnBooleanModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanModule, declarations: [FoehnBooleanCheckboxComponent, FoehnBooleanRadioComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanModule, declarations: [FoehnBooleanCheckboxComponent, FoehnBooleanRadioComponent], imports: [CommonModule,
12
12
  FoehnValidationAlertsModule,
13
13
  FormsModule,
14
14
  SdkDictionaryModule], exports: [FoehnBooleanCheckboxComponent, FoehnBooleanRadioComponent] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanModule, imports: [CommonModule,
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanModule, imports: [CommonModule,
16
16
  FoehnValidationAlertsModule,
17
17
  FormsModule,
18
18
  SdkDictionaryModule] }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBooleanModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBooleanModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  imports: [
@@ -4,18 +4,19 @@ import { map } from 'rxjs/operators';
4
4
  import { Breadcrumb } from './breadcrumb';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../sdk-session-info/session-info.service";
7
+ import * as i2 from "../sdk-appinfo/application-info.service";
7
8
  const DEFAULT_VALUES = {
8
9
  espaceSecuriseUrl: '/100002/accueil',
9
10
  allPrestationsUrl: '/100002/prestations',
10
- vdChUrl: 'https://www.vd.ch/',
11
- descriptionPageBaseUrl: 'https://www.vd.ch/go.to?prestation=',
11
+ vdChUrl: null,
12
+ descriptionPageBaseUrl: null,
12
13
  // It's better to not display the breadcrumb item if the prestation doesn't give its code.
13
14
  prestationCode: null
14
15
  };
15
16
  // eslint-disable-next-line jsdoc/require-jsdoc
16
- function getNotConnectedBreadcrumb({ vdChUrl = DEFAULT_VALUES.vdChUrl, descriptionPageBaseUrl = DEFAULT_VALUES.descriptionPageBaseUrl, prestationCode = DEFAULT_VALUES.prestationCode }) {
17
+ function getNotConnectedBreadcrumb({ vdChUrl, descriptionPageBaseUrl, prestationCode = DEFAULT_VALUES.prestationCode }, vdChUrlFromAppInfo) {
17
18
  const rootElement = {
18
- url: vdChUrl,
19
+ url: vdChUrl || vdChUrlFromAppInfo,
19
20
  routerLink: null,
20
21
  label: 'vd.ch'
21
22
  };
@@ -29,7 +30,9 @@ function getNotConnectedBreadcrumb({ vdChUrl = DEFAULT_VALUES.vdChUrl, descripti
29
30
  rootElement,
30
31
  {
31
32
  // e.g. https://www.vd.ch/go.to?prestation=101016
32
- url: `${descriptionPageBaseUrl}${prestationCode}`,
33
+ url: descriptionPageBaseUrl
34
+ ? `${descriptionPageBaseUrl}${prestationCode}`
35
+ : `${vdChUrlFromAppInfo}/go.to?prestation=${prestationCode}`,
33
36
  routerLink: null,
34
37
  label: 'Description de la prestation'
35
38
  }
@@ -55,22 +58,23 @@ function getConnectedBreadcrumb({ espaceSecuriseUrl = DEFAULT_VALUES.espaceSecur
55
58
  * @param sessionInfoData data info on session
56
59
  * @param configuration as breadcrumb config.
57
60
  * @param currentItem as breadcrumb current item
61
+ * @param vdChBaseUrl typo3 base url for current env
58
62
  * @returns Breadcrumb
59
63
  */
60
- function getBreadcrumb(sessionInfoData, configuration, currentItem) {
64
+ function getBreadcrumb(sessionInfoData, configuration, currentItem, vdChBaseUrl) {
61
65
  // Whether the user has a context we consider it as connected.
62
66
  const isConnectedCyber = !!sessionInfoData && !!sessionInfoData.context;
63
67
  const breadcrumb = new Breadcrumb();
64
68
  // Depending on whether the user is connected, the content of the items change.
65
69
  breadcrumb.breadcrumbItems = isConnectedCyber
66
70
  ? getConnectedBreadcrumb(configuration, sessionInfoData)
67
- : getNotConnectedBreadcrumb(configuration);
71
+ : getNotConnectedBreadcrumb(configuration, vdChBaseUrl);
68
72
  // Optionally set the current item.
69
73
  breadcrumb.current = currentItem;
70
74
  return breadcrumb;
71
75
  }
72
76
  // eslint-disable-next-line jsdoc/require-jsdoc
73
- function mapBreadcrumb([override, configuration, currentItem, sessionInfoData]) {
77
+ function mapBreadcrumb([override, configuration, currentItem, sessionInfoData, applicationInfo]) {
74
78
  // Take the override if it exists
75
79
  if (override) {
76
80
  // Although there's an override, we do want to assign the current item
@@ -83,14 +87,15 @@ function mapBreadcrumb([override, configuration, currentItem, sessionInfoData])
83
87
  }
84
88
  // Otherwise get a breadcrumb based on the configuration
85
89
  if (configuration) {
86
- return getBreadcrumb(sessionInfoData, configuration, currentItem);
90
+ return getBreadcrumb(sessionInfoData, configuration, currentItem, applicationInfo.configuration.portail.baseVdChUrl);
87
91
  }
88
92
  // Only output a breadcrumb of there's a configuration or an override
89
93
  return null;
90
94
  }
91
95
  export class BreadcrumbEventService {
92
- constructor(sessionInfo) {
96
+ constructor(sessionInfo, applicationInfoService) {
93
97
  this.sessionInfo = sessionInfo;
98
+ this.applicationInfoService = applicationInfoService;
94
99
  this._breadcrumbOverride = new BehaviorSubject(null);
95
100
  this._breadcrumbConfiguration = new BehaviorSubject(null);
96
101
  this._currentBreadcrumbItem = new BehaviorSubject(null);
@@ -100,7 +105,8 @@ export class BreadcrumbEventService {
100
105
  this._breadcrumbOverride,
101
106
  this._breadcrumbConfiguration,
102
107
  this._currentBreadcrumbItem,
103
- this.sessionInfo.data
108
+ this.sessionInfo.data,
109
+ this.applicationInfoService.data
104
110
  ]).pipe(
105
111
  // Put together the breadcrumb, or just take the override if it exists.
106
112
  map(mapBreadcrumb));
@@ -109,7 +115,8 @@ export class BreadcrumbEventService {
109
115
  this._breadcrumbOverride,
110
116
  this._breadcrumbConfiguration,
111
117
  this._currentBreadcrumbItem,
112
- of(null)
118
+ of(null),
119
+ this.applicationInfoService.data
113
120
  ]).pipe(
114
121
  // Put together the breadcrumb, or just take the override if it exists.
115
122
  map(mapBreadcrumb));
@@ -158,13 +165,13 @@ export class BreadcrumbEventService {
158
165
  setConfiguration(configuration) {
159
166
  this._breadcrumbConfiguration.next(configuration);
160
167
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BreadcrumbEventService, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BreadcrumbEventService, providedIn: 'root' }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BreadcrumbEventService, deps: [{ token: i1.SessionInfo }, { token: i2.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable }); }
169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BreadcrumbEventService, providedIn: 'root' }); }
163
170
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BreadcrumbEventService, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BreadcrumbEventService, decorators: [{
165
172
  type: Injectable,
166
173
  args: [{
167
174
  providedIn: 'root'
168
175
  }]
169
- }], ctorParameters: () => [{ type: i1.SessionInfo }] });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWJyZWFkY3J1bWIvYnJlYWRjcnVtYi1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQyxPQUFPLEVBQ0gsVUFBVSxFQUdiLE1BQU0sY0FBYyxDQUFDOzs7QUFFdEIsTUFBTSxjQUFjLEdBQTRCO0lBQzVDLGlCQUFpQixFQUFFLGlCQUFpQjtJQUNwQyxpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsT0FBTyxFQUFFLG9CQUFvQjtJQUM3QixzQkFBc0IsRUFBRSxxQ0FBcUM7SUFDN0QsMEZBQTBGO0lBQzFGLGNBQWMsRUFBRSxJQUFJO0NBQ3ZCLENBQUM7QUFFRiwrQ0FBK0M7QUFDL0MsU0FBUyx5QkFBeUIsQ0FBQyxFQUMvQixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFDaEMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixFQUM5RCxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFDeEI7SUFDdEIsTUFBTSxXQUFXLEdBQW1CO1FBQ2hDLEdBQUcsRUFBRSxPQUFPO1FBQ1osVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLE9BQU87S0FDakIsQ0FBQztJQUVGLG1GQUFtRjtJQUNuRixzRkFBc0Y7SUFDdEYsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDSCxX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QUN2RSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQ3JCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSwwQ0FBMEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsMkNBQTJDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksMENBQTBDLENBQUMsS0FBYztRQUN6RCxJQUFJLENBQUMsMkNBQTJDLEdBQUcsS0FBSyxDQUFDO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0NBQWtDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLG1DQUFtQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxXQUEyQjtRQUM1QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLGFBQXNDO1FBQ25ELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FuRlEsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuaW1wb3J0IHtcbiAgICBCcmVhZGNydW1iLFxuICAgIEJyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgIEJyZWFkY3J1bWJJdGVtXG59IGZyb20gJy4vYnJlYWRjcnVtYic7XG5cbmNvbnN0IERFRkFVTFRfVkFMVUVTOiBCcmVhZGNydW1iQ29uZmlndXJhdGlvbiA9IHtcbiAgICBlc3BhY2VTZWN1cmlzZVVybDogJy8xMDAwMDIvYWNjdWVpbCcsXG4gICAgYWxsUHJlc3RhdGlvbnNVcmw6ICcvMTAwMDAyL3ByZXN0YXRpb25zJyxcbiAgICB2ZENoVXJsOiAnaHR0cHM6Ly93d3cudmQuY2gvJyxcbiAgICBkZXNjcmlwdGlvblBhZ2VCYXNlVXJsOiAnaHR0cHM6Ly93d3cudmQuY2gvZ28udG8/cHJlc3RhdGlvbj0nLFxuICAgIC8vIEl0J3MgYmV0dGVyIHRvIG5vdCBkaXNwbGF5IHRoZSBicmVhZGNydW1iIGl0ZW0gaWYgdGhlIHByZXN0YXRpb24gZG9lc24ndCBnaXZlIGl0cyBjb2RlLlxuICAgIHByZXN0YXRpb25Db2RlOiBudWxsXG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZ2V0Tm90Q29ubmVjdGVkQnJlYWRjcnVtYih7XG4gICAgdmRDaFVybCA9IERFRkFVTFRfVkFMVUVTLnZkQ2hVcmwsXG4gICAgZGVzY3JpcHRpb25QYWdlQmFzZVVybCA9IERFRkFVTFRfVkFMVUVTLmRlc2NyaXB0aW9uUGFnZUJhc2VVcmwsXG4gICAgcHJlc3RhdGlvbkNvZGUgPSBERUZBVUxUX1ZBTFVFUy5wcmVzdGF0aW9uQ29kZVxufTogQnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24pOiBCcmVhZGNydW1iSXRlbVtdIHtcbiAgICBjb25zdCByb290RWxlbWVudDogQnJlYWRjcnVtYkl0ZW0gPSB7XG4gICAgICAgIHVybDogdmRDaFVybCxcbiAgICAgICAgcm91dGVyTGluazogbnVsbCxcbiAgICAgICAgbGFiZWw6ICd2ZC5jaCdcbiAgICB9O1xuXG4gICAgLy8gRG8gbm90IGRpc3BsYXkgdGhlIHNlY29uZCBlbGVtZW50IGlmIHRoZSBwcmVzdGF0aW9uIGNvZGUgaXMgbm90IHRoZXJlIHNvIHdlIGhhdmVcbiAgICAvLyBhIGNoYW5jZSB0byByZWFsaXplIHRoYXQgc29tZXRoaW5nJ3MgbWlzc2luZyByYXRoZXIgdGhhbiBoYXZpbmcgYSBsaW5rIHRoYXQgZG9lc24ndFxuICAgIC8vIHBvaW50IHRvIHNvbWV0aGluZyBtZWFuaW5nZnVsLlxuICAgIGlmICghcHJlc3RhdGlvbkNvZGUpIHtcbiAgICAgICAgcmV0dXJuIFtyb290RWxlbWVudF07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgcm9vdEVsZW1lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vIGUuZy4gaHR0cHM6Ly93d3cudmQuY2gvZ28udG8/cHJlc3RhdGlvbj0xMDEwMTZcbiAgICAgICAgICAgIHVybDogYCR7ZGVzY3JpcHRpb25QYWdlQmFzZVVybH0ke3ByZXN0YXRpb25Db2RlfWAsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6ICdEZXNjcmlwdGlvbiBkZSBsYSBwcmVzdGF0aW9uJ1xuICAgICAgICB9XG4gICAgXTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGdldENvbm5lY3RlZEJyZWFkY3J1bWIoXG4gICAge1xuICAgICAgICBlc3BhY2VTZWN1cmlzZVVybCA9IERFRkFVTFRfVkFMVUVTLmVzcGFjZVNlY3VyaXNlVXJsXG4gICAgfTogQnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24sXG4gICAgc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGFcbik6IEJyZWFkY3J1bWJJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHVybDogZXNwYWNlU2VjdXJpc2VVcmwsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6IHNlc3Npb25JbmZvRGF0YS5lc3BhY2VMYWJlbFxuICAgICAgICB9XG4gICAgXTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGJyZWFkY3J1bWIgZGVwZW5kaW5nIG9uIHRoZSBzdGF0ZSBvZiB0aGUgdXNlci5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIENvbm5lY3RlZCB1c2VyIDogXCJNb24gZXNwYWNlXCJcbiAqIEFub255bW91cyB1c2VyIDogXCJ2ZC5jaCA+IERlc2NyaXB0aW9uIGRlIGxhIHByZXN0YXRpb25cIlxuICogQHBhcmFtIHNlc3Npb25JbmZvRGF0YSBkYXRhIGluZm8gb24gc2Vzc2lvblxuICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gYXMgYnJlYWRjcnVtYiBjb25maWcuXG4gKiBAcGFyYW0gY3VycmVudEl0ZW0gYXMgYnJlYWRjcnVtYiBjdXJyZW50IGl0ZW1cbiAqIEByZXR1cm5zIEJyZWFkY3J1bWJcbiAqL1xuZnVuY3Rpb24gZ2V0QnJlYWRjcnVtYihcbiAgICBzZXNzaW9uSW5mb0RhdGE6IFNlc3Npb25JbmZvRGF0YSxcbiAgICBjb25maWd1cmF0aW9uOiBCcmVhZGNydW1iQ29uZmlndXJhdGlvbixcbiAgICBjdXJyZW50SXRlbTogQnJlYWRjcnVtYkl0ZW1cbik6IEJyZWFkY3J1bWIge1xuICAgIC8vIFdoZXRoZXIgdGhlIHVzZXIgaGFzIGEgY29udGV4dCB3ZSBjb25zaWRlciBpdCBhcyBjb25uZWN0ZWQuXG4gICAgY29uc3QgaXNDb25uZWN0ZWRDeWJlciA9ICEhc2Vzc2lvbkluZm9EYXRhICYmICEhc2Vzc2lvbkluZm9EYXRhLmNvbnRleHQ7XG5cbiAgICBjb25zdCBicmVhZGNydW1iID0gbmV3IEJyZWFkY3J1bWIoKTtcblxuICAgIC8vIERlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB1c2VyIGlzIGNvbm5lY3RlZCwgdGhlIGNvbnRlbnQgb2YgdGhlIGl0ZW1zIGNoYW5nZS5cbiAgICBicmVhZGNydW1iLmJyZWFkY3J1bWJJdGVtcyA9IGlzQ29ubmVjdGVkQ3liZXJcbiAgICAgICAgPyBnZXRDb25uZWN0ZWRCcmVhZGNydW1iKGNvbmZpZ3VyYXRpb24sIHNlc3Npb25JbmZvRGF0YSlcbiAgICAgICAgOiBnZXROb3RDb25uZWN0ZWRCcmVhZGNydW1iKGNvbmZpZ3VyYXRpb24pO1xuXG4gICAgLy8gT3B0aW9uYWxseSBzZXQgdGhlIGN1cnJlbnQgaXRlbS5cbiAgICBicmVhZGNydW1iLmN1cnJlbnQgPSBjdXJyZW50SXRlbTtcblxuICAgIHJldHVybiBicmVhZGNydW1iO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gbWFwQnJlYWRjcnVtYihbXG4gICAgb3ZlcnJpZGUsXG4gICAgY29uZmlndXJhdGlvbixcbiAgICBjdXJyZW50SXRlbSxcbiAgICBzZXNzaW9uSW5mb0RhdGFcbl06IFtcbiAgICBCcmVhZGNydW1iLFxuICAgIEJyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgIEJyZWFkY3J1bWJJdGVtLFxuICAgIFNlc3Npb25JbmZvRGF0YVxuXSk6IEJyZWFkY3J1bWIge1xuICAgIC8vIFRha2UgdGhlIG92ZXJyaWRlIGlmIGl0IGV4aXN0c1xuICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICAvLyBBbHRob3VnaCB0aGVyZSdzIGFuIG92ZXJyaWRlLCB3ZSBkbyB3YW50IHRvIGFzc2lnbiB0aGUgY3VycmVudCBpdGVtXG4gICAgICAgIC8vIHNvIGVhY2ggcGFnZSBkYW5zIHNldCBpdHMgb3duIG5hbWUgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgb3ZlcnJpZGVcbiAgICAgICAgLy8gaGFuZGxlIHRoaXMuXG4gICAgICAgIGlmIChjdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgb3ZlcnJpZGUuY3VycmVudCA9IGN1cnJlbnRJdGVtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdmVycmlkZTtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UgZ2V0IGEgYnJlYWRjcnVtYiBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvblxuICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBnZXRCcmVhZGNydW1iKHNlc3Npb25JbmZvRGF0YSwgY29uZmlndXJhdGlvbiwgY3VycmVudEl0ZW0pO1xuICAgIH1cblxuICAgIC8vIE9ubHkgb3V0cHV0IGEgYnJlYWRjcnVtYiBvZiB0aGVyZSdzIGEgY29uZmlndXJhdGlvbiBvciBhbiBvdmVycmlkZVxuICAgIHJldHVybiBudWxsO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJFdmVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2JyZWFkY3J1bWJPdmVycmlkZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWRjcnVtYj4obnVsbCk7XG4gICAgcHJpdmF0ZSBfYnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24gPVxuICAgICAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJDb25maWd1cmF0aW9uPihudWxsKTtcbiAgICBwcml2YXRlIF9jdXJyZW50QnJlYWRjcnVtYkl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJJdGVtPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9icmVhZGNydW1iT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxCcmVhZGNydW1iPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZXZlckNvbm5lY3RlZEJyZWFkY3J1bWJPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+O1xuXG4gICAgcHJpdmF0ZSBfc2tpcExlYXZpbmdBbGVydEJlY2F1c2VEZW1hbmRJc1RyYW5zbWl0dGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbykge1xuICAgICAgICAvLyBXaGVuIHRoZSB1c2VyIG1pZ2h0IGJlIGNvbm5lY3RlZFxuICAgICAgICB0aGlzLl9icmVhZGNydW1iT2JzZXJ2YWJsZSA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYk92ZXJyaWRlLFxuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYkl0ZW0sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGFcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIC8vIFB1dCB0b2dldGhlciB0aGUgYnJlYWRjcnVtYiwgb3IganVzdCB0YWtlIHRoZSBvdmVycmlkZSBpZiBpdCBleGlzdHMuXG4gICAgICAgICAgICBtYXAobWFwQnJlYWRjcnVtYilcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBORVZFUiBjb25uZWN0ZWQgKGZvciBpbnN0YW5jZSBpbiBjeWJlcmxvZ2luKVxuICAgICAgICB0aGlzLl9uZXZlckNvbm5lY3RlZEJyZWFkY3J1bWJPYnNlcnZhYmxlID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLl9icmVhZGNydW1iT3ZlcnJpZGUsXG4gICAgICAgICAgICB0aGlzLl9icmVhZGNydW1iQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRCcmVhZGNydW1iSXRlbSxcbiAgICAgICAgICAgIG9mKG51bGwpXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAvLyBQdXQgdG9nZXRoZXIgdGhlIGJyZWFkY3J1bWIsIG9yIGp1c3QgdGFrZSB0aGUgb3ZlcnJpZGUgaWYgaXQgZXhpc3RzLlxuICAgICAgICAgICAgbWFwKG1hcEJyZWFkY3J1bWIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHNraXBMZWF2aW5nQWxlcnRCZWNhdXNlRGVtYW5kSXNUcmFuc21pdHRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NraXBMZWF2aW5nQWxlcnRCZWNhdXNlRGVtYW5kSXNUcmFuc21pdHRlZDtcbiAgICB9XG5cbiAgICBzZXQgc2tpcExlYXZpbmdBbGVydEJlY2F1c2VEZW1hbmRJc1RyYW5zbWl0dGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NraXBMZWF2aW5nQWxlcnRCZWNhdXNlRGVtYW5kSXNUcmFuc21pdHRlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgYnJlYWRjcnVtYi4gVGhpcyB2YWx1ZSB3aWxsIG92ZXJyaWRlIGFueSBjb25maWd1cmF0aW9uIGluamVjdGVkIHdpdGhcbiAgICAgKiBgc2V0Q29uZmlndXJhdGlvbmAuIE9ubHkgdXNlIGlmIHlvdSB3YW50IHRvIGhhbmRsZSB0aGUgYnJlYWRjcnVtYiBtYW51YWxseS5cbiAgICAgKiBAcGFyYW0gYnJlYWRjcnVtYiBhcyBCcmVhZGNydW1iXG4gICAgICovXG4gICAgc2V0QnJlYWRjcnVtYihicmVhZGNydW1iOiBCcmVhZGNydW1iKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJPdmVycmlkZS5uZXh0KGJyZWFkY3J1bWIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBicmVhZGNydW1iIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8QnJlYWRjcnVtYj5cbiAgICAgKi9cbiAgICBicmVhZGNydW1iT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFkY3J1bWJPYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBicmVhZGNydW1iIHZhbHVlIGlmIG5ldmVyIGNvbm5lY3RlZC5cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+XG4gICAgICovXG4gICAgbmV2ZXJDb25uZWN0ZWRCcmVhZGNydW1iT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25ldmVyQ29ubmVjdGVkQnJlYWRjcnVtYk9ic2VydmFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IGl0ZW0uIFVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuXG4gICAgICogQHBhcmFtIGN1cnJlbnRJdGVtIGFzIEJyZWFkY3J1bWJJdGVtXG4gICAgICovXG4gICAgc2V0Q3VycmVudEJyZWFkY3J1bWIoY3VycmVudEl0ZW06IEJyZWFkY3J1bWJJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRCcmVhZGNydW1iSXRlbS5uZXh0KGN1cnJlbnRJdGVtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGN1cnJlbnQgYnJlYWRjcnVtYiBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogU2V0IHRvIGBudWxsYCB0byBkaXNhYmxlIHRoZSBicmVhZGNydW1iLlxuICAgICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIGFzIEJyZWFkY3J1bWJDb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgc2V0Q29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uOiBCcmVhZGNydW1iQ29uZmlndXJhdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9icmVhZGNydW1iQ29uZmlndXJhdGlvbi5uZXh0KGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cbn1cbiJdfQ==
176
+ }], ctorParameters: () => [{ type: i1.SessionInfo }, { type: i2.ApplicationInfoService }] });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWJyZWFkY3J1bWIvYnJlYWRjcnVtYi1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1yQyxPQUFPLEVBQ0gsVUFBVSxFQUdiLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXRCLE1BQU0sY0FBYyxHQUE0QjtJQUM1QyxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsaUJBQWlCLEVBQUUscUJBQXFCO0lBQ3hDLE9BQU8sRUFBRSxJQUFJO0lBQ2Isc0JBQXNCLEVBQUUsSUFBSTtJQUM1QiwwRkFBMEY7SUFDMUYsY0FBYyxFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQUVGLCtDQUErQztBQUMvQyxTQUFTLHlCQUF5QixDQUM5QixFQUNJLE9BQU8sRUFDUCxzQkFBc0IsRUFDdEIsY0FBYyxHQUFHLGNBQWMsQ0FBQyxjQUFjLEVBQ3hCLEVBQzFCLGtCQUEwQjtJQUUxQixNQUFNLFdBQVcsR0FBbUI7UUFDaEMsR0FBRyxFQUFFLE9BQU8sSUFBSSxrQkFBa0I7UUFDbEMsVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLE9BQU87S0FDakIsQ0FBQztJQUVGLG1GQUFtRjtJQUNuRixzRkFBc0Y7SUFDdEYsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDSCxXQUFXO1FBQ1g7WUFDSSxpREFBaUQ7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c0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuaW1wb3J0IHtcbiAgICBCcmVhZGNydW1iLFxuICAgIEJyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgIEJyZWFkY3J1bWJJdGVtXG59IGZyb20gJy4vYnJlYWRjcnVtYic7XG5cbmNvbnN0IERFRkFVTFRfVkFMVUVTOiBCcmVhZGNydW1iQ29uZmlndXJhdGlvbiA9IHtcbiAgICBlc3BhY2VTZWN1cmlzZVVybDogJy8xMDAwMDIvYWNjdWVpbCcsXG4gICAgYWxsUHJlc3RhdGlvbnNVcmw6ICcvMTAwMDAyL3ByZXN0YXRpb25zJyxcbiAgICB2ZENoVXJsOiBudWxsLFxuICAgIGRlc2NyaXB0aW9uUGFnZUJhc2VVcmw6IG51bGwsXG4gICAgLy8gSXQncyBiZXR0ZXIgdG8gbm90IGRpc3BsYXkgdGhlIGJyZWFkY3J1bWIgaXRlbSBpZiB0aGUgcHJlc3RhdGlvbiBkb2Vzbid0IGdpdmUgaXRzIGNvZGUuXG4gICAgcHJlc3RhdGlvbkNvZGU6IG51bGxcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBnZXROb3RDb25uZWN0ZWRCcmVhZGNydW1iKFxuICAgIHtcbiAgICAgICAgdmRDaFVybCxcbiAgICAgICAgZGVzY3JpcHRpb25QYWdlQmFzZVVybCxcbiAgICAgICAgcHJlc3RhdGlvbkNvZGUgPSBERUZBVUxUX1ZBTFVFUy5wcmVzdGF0aW9uQ29kZVxuICAgIH06IEJyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgIHZkQ2hVcmxGcm9tQXBwSW5mbzogc3RyaW5nXG4pOiBCcmVhZGNydW1iSXRlbVtdIHtcbiAgICBjb25zdCByb290RWxlbWVudDogQnJlYWRjcnVtYkl0ZW0gPSB7XG4gICAgICAgIHVybDogdmRDaFVybCB8fCB2ZENoVXJsRnJvbUFwcEluZm8sXG4gICAgICAgIHJvdXRlckxpbms6IG51bGwsXG4gICAgICAgIGxhYmVsOiAndmQuY2gnXG4gICAgfTtcblxuICAgIC8vIERvIG5vdCBkaXNwbGF5IHRoZSBzZWNvbmQgZWxlbWVudCBpZiB0aGUgcHJlc3RhdGlvbiBjb2RlIGlzIG5vdCB0aGVyZSBzbyB3ZSBoYXZlXG4gICAgLy8gYSBjaGFuY2UgdG8gcmVhbGl6ZSB0aGF0IHNvbWV0aGluZydzIG1pc3NpbmcgcmF0aGVyIHRoYW4gaGF2aW5nIGEgbGluayB0aGF0IGRvZXNuJ3RcbiAgICAvLyBwb2ludCB0byBzb21ldGhpbmcgbWVhbmluZ2Z1bC5cbiAgICBpZiAoIXByZXN0YXRpb25Db2RlKSB7XG4gICAgICAgIHJldHVybiBbcm9vdEVsZW1lbnRdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAgIHJvb3RFbGVtZW50LFxuICAgICAgICB7XG4gICAgICAgICAgICAvLyBlLmcuIGh0dHBzOi8vd3d3LnZkLmNoL2dvLnRvP3ByZXN0YXRpb249MTAxMDE2XG4gICAgICAgICAgICB1cmw6IGRlc2NyaXB0aW9uUGFnZUJhc2VVcmxcbiAgICAgICAgICAgICAgICA/IGAke2Rlc2NyaXB0aW9uUGFnZUJhc2VVcmx9JHtwcmVzdGF0aW9uQ29kZX1gXG4gICAgICAgICAgICAgICAgOiBgJHt2ZENoVXJsRnJvbUFwcEluZm99L2dvLnRvP3ByZXN0YXRpb249JHtwcmVzdGF0aW9uQ29kZX1gLFxuICAgICAgICAgICAgcm91dGVyTGluazogbnVsbCxcbiAgICAgICAgICAgIGxhYmVsOiAnRGVzY3JpcHRpb24gZGUgbGEgcHJlc3RhdGlvbidcbiAgICAgICAgfVxuICAgIF07XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBnZXRDb25uZWN0ZWRCcmVhZGNydW1iKFxuICAgIHtcbiAgICAgICAgZXNwYWNlU2VjdXJpc2VVcmwgPSBERUZBVUxUX1ZBTFVFUy5lc3BhY2VTZWN1cmlzZVVybFxuICAgIH06IEJyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgIHNlc3Npb25JbmZvRGF0YTogU2Vzc2lvbkluZm9EYXRhXG4pOiBCcmVhZGNydW1iSXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgICB1cmw6IGVzcGFjZVNlY3VyaXNlVXJsLFxuICAgICAgICAgICAgcm91dGVyTGluazogbnVsbCxcbiAgICAgICAgICAgIGxhYmVsOiBzZXNzaW9uSW5mb0RhdGEuZXNwYWNlTGFiZWxcbiAgICAgICAgfVxuICAgIF07XG59XG5cbi8qKlxuICogR2V0IHRoZSBicmVhZGNydW1iIGRlcGVuZGluZyBvbiB0aGUgc3RhdGUgb2YgdGhlIHVzZXIuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBDb25uZWN0ZWQgdXNlciA6IFwiTW9uIGVzcGFjZVwiXG4gKiBBbm9ueW1vdXMgdXNlciA6IFwidmQuY2ggPiBEZXNjcmlwdGlvbiBkZSBsYSBwcmVzdGF0aW9uXCJcbiAqIEBwYXJhbSBzZXNzaW9uSW5mb0RhdGEgZGF0YSBpbmZvIG9uIHNlc3Npb25cbiAqIEBwYXJhbSBjb25maWd1cmF0aW9uIGFzIGJyZWFkY3J1bWIgY29uZmlnLlxuICogQHBhcmFtIGN1cnJlbnRJdGVtIGFzIGJyZWFkY3J1bWIgY3VycmVudCBpdGVtXG4gKiBAcGFyYW0gdmRDaEJhc2VVcmwgdHlwbzMgYmFzZSB1cmwgZm9yIGN1cnJlbnQgZW52XG4gKiBAcmV0dXJucyBCcmVhZGNydW1iXG4gKi9cbmZ1bmN0aW9uIGdldEJyZWFkY3J1bWIoXG4gICAgc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEsXG4gICAgY29uZmlndXJhdGlvbjogQnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24sXG4gICAgY3VycmVudEl0ZW06IEJyZWFkY3J1bWJJdGVtLFxuICAgIHZkQ2hCYXNlVXJsOiBzdHJpbmdcbik6IEJyZWFkY3J1bWIge1xuICAgIC8vIFdoZXRoZXIgdGhlIHVzZXIgaGFzIGEgY29udGV4dCB3ZSBjb25zaWRlciBpdCBhcyBjb25uZWN0ZWQuXG4gICAgY29uc3QgaXNDb25uZWN0ZWRDeWJlciA9ICEhc2Vzc2lvbkluZm9EYXRhICYmICEhc2Vzc2lvbkluZm9EYXRhLmNvbnRleHQ7XG5cbiAgICBjb25zdCBicmVhZGNydW1iID0gbmV3IEJyZWFkY3J1bWIoKTtcblxuICAgIC8vIERlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB1c2VyIGlzIGNvbm5lY3RlZCwgdGhlIGNvbnRlbnQgb2YgdGhlIGl0ZW1zIGNoYW5nZS5cbiAgICBicmVhZGNydW1iLmJyZWFkY3J1bWJJdGVtcyA9IGlzQ29ubmVjdGVkQ3liZXJcbiAgICAgICAgPyBnZXRDb25uZWN0ZWRCcmVhZGNydW1iKGNvbmZpZ3VyYXRpb24sIHNlc3Npb25JbmZvRGF0YSlcbiAgICAgICAgOiBnZXROb3RDb25uZWN0ZWRCcmVhZGNydW1iKGNvbmZpZ3VyYXRpb24sIHZkQ2hCYXNlVXJsKTtcblxuICAgIC8vIE9wdGlvbmFsbHkgc2V0IHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgYnJlYWRjcnVtYi5jdXJyZW50ID0gY3VycmVudEl0ZW07XG5cbiAgICByZXR1cm4gYnJlYWRjcnVtYjtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIG1hcEJyZWFkY3J1bWIoW1xuICAgIG92ZXJyaWRlLFxuICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgY3VycmVudEl0ZW0sXG4gICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgIGFwcGxpY2F0aW9uSW5mb1xuXTogW1xuICAgIEJyZWFkY3J1bWIsXG4gICAgQnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24sXG4gICAgQnJlYWRjcnVtYkl0ZW0sXG4gICAgU2Vzc2lvbkluZm9EYXRhLFxuICAgIEFwcGxpY2F0aW9uSW5mb1xuXSk6IEJyZWFkY3J1bWIge1xuICAgIC8vIFRha2UgdGhlIG92ZXJyaWRlIGlmIGl0IGV4aXN0c1xuICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICAvLyBBbHRob3VnaCB0aGVyZSdzIGFuIG92ZXJyaWRlLCB3ZSBkbyB3YW50IHRvIGFzc2lnbiB0aGUgY3VycmVudCBpdGVtXG4gICAgICAgIC8vIHNvIGVhY2ggcGFnZSBkYW5zIHNldCBpdHMgb3duIG5hbWUgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgb3ZlcnJpZGVcbiAgICAgICAgLy8gaGFuZGxlIHRoaXMuXG4gICAgICAgIGlmIChjdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgb3ZlcnJpZGUuY3VycmVudCA9IGN1cnJlbnRJdGVtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdmVycmlkZTtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UgZ2V0IGEgYnJlYWRjcnVtYiBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvblxuICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBnZXRCcmVhZGNydW1iKFxuICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIGN1cnJlbnRJdGVtLFxuICAgICAgICAgICAgYXBwbGljYXRpb25JbmZvLmNvbmZpZ3VyYXRpb24ucG9ydGFpbC5iYXNlVmRDaFVybFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIE9ubHkgb3V0cHV0IGEgYnJlYWRjcnVtYiBvZiB0aGVyZSdzIGEgY29uZmlndXJhdGlvbiBvciBhbiBvdmVycmlkZVxuICAgIHJldHVybiBudWxsO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJFdmVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2JyZWFkY3J1bWJPdmVycmlkZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWRjcnVtYj4obnVsbCk7XG4gICAgcHJpdmF0ZSBfYnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24gPVxuICAgICAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJDb25maWd1cmF0aW9uPihudWxsKTtcbiAgICBwcml2YXRlIF9jdXJyZW50QnJlYWRjcnVtYkl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJJdGVtPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9icmVhZGNydW1iT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxCcmVhZGNydW1iPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZXZlckNvbm5lY3RlZEJyZWFkY3J1bWJPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+O1xuXG4gICAgcHJpdmF0ZSBfc2tpcExlYXZpbmdBbGVydEJlY2F1c2VEZW1hbmRJc1RyYW5zbWl0dGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm8sXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICkge1xuICAgICAgICAvLyBXaGVuIHRoZSB1c2VyIG1pZ2h0IGJlIGNvbm5lY3RlZFxuICAgICAgICB0aGlzLl9icmVhZGNydW1iT2JzZXJ2YWJsZSA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYk92ZXJyaWRlLFxuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYkl0ZW0sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEsXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgLy8gUHV0IHRvZ2V0aGVyIHRoZSBicmVhZGNydW1iLCBvciBqdXN0IHRha2UgdGhlIG92ZXJyaWRlIGlmIGl0IGV4aXN0cy5cbiAgICAgICAgICAgIG1hcChtYXBCcmVhZGNydW1iKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIE5FVkVSIGNvbm5lY3RlZCAoZm9yIGluc3RhbmNlIGluIGN5YmVybG9naW4pXG4gICAgICAgIHRoaXMuX25ldmVyQ29ubmVjdGVkQnJlYWRjcnVtYk9ic2VydmFibGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJPdmVycmlkZSxcbiAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgdGhpcy5fY3VycmVudEJyZWFkY3J1bWJJdGVtLFxuICAgICAgICAgICAgb2YobnVsbCksXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgLy8gUHV0IHRvZ2V0aGVyIHRoZSBicmVhZGNydW1iLCBvciBqdXN0IHRha2UgdGhlIG92ZXJyaWRlIGlmIGl0IGV4aXN0cy5cbiAgICAgICAgICAgIG1hcChtYXBCcmVhZGNydW1iKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBza2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQ7XG4gICAgfVxuXG4gICAgc2V0IHNraXBMZWF2aW5nQWxlcnRCZWNhdXNlRGVtYW5kSXNUcmFuc21pdHRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGJyZWFkY3J1bWIuIFRoaXMgdmFsdWUgd2lsbCBvdmVycmlkZSBhbnkgY29uZmlndXJhdGlvbiBpbmplY3RlZCB3aXRoXG4gICAgICogYHNldENvbmZpZ3VyYXRpb25gLiBPbmx5IHVzZSBpZiB5b3Ugd2FudCB0byBoYW5kbGUgdGhlIGJyZWFkY3J1bWIgbWFudWFsbHkuXG4gICAgICogQHBhcmFtIGJyZWFkY3J1bWIgYXMgQnJlYWRjcnVtYlxuICAgICAqL1xuICAgIHNldEJyZWFkY3J1bWIoYnJlYWRjcnVtYjogQnJlYWRjcnVtYik6IHZvaWQge1xuICAgICAgICB0aGlzLl9icmVhZGNydW1iT3ZlcnJpZGUubmV4dChicmVhZGNydW1iKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYnJlYWRjcnVtYiB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEJyZWFkY3J1bWI+XG4gICAgICovXG4gICAgYnJlYWRjcnVtYk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxCcmVhZGNydW1iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1iT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYnJlYWRjcnVtYiB2YWx1ZSBpZiBuZXZlciBjb25uZWN0ZWQuXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxCcmVhZGNydW1iPlxuICAgICAqL1xuICAgIG5ldmVyQ29ubmVjdGVkQnJlYWRjcnVtYk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxCcmVhZGNydW1iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXZlckNvbm5lY3RlZEJyZWFkY3J1bWJPYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBpdGVtLiBVc2VkIGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLlxuICAgICAqIEBwYXJhbSBjdXJyZW50SXRlbSBhcyBCcmVhZGNydW1iSXRlbVxuICAgICAqL1xuICAgIHNldEN1cnJlbnRCcmVhZGNydW1iKGN1cnJlbnRJdGVtOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYkl0ZW0ubmV4dChjdXJyZW50SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IGJyZWFkY3J1bWIgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIFNldCB0byBgbnVsbGAgdG8gZGlzYWJsZSB0aGUgYnJlYWRjcnVtYi5cbiAgICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiBhcyBCcmVhZGNydW1iQ29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHNldENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbjogQnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkNvbmZpZ3VyYXRpb24ubmV4dChjb25maWd1cmF0aW9uKTtcbiAgICB9XG59XG4iXX0=
@@ -64,10 +64,10 @@ export class FoehnBreadcrumbComponent {
64
64
  this.redirect(item);
65
65
  }
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: i1.BreadcrumbEventService }, { token: i2.Router }, { token: i3.FoehnConfirmModalService }, { token: i4.SessionInfo }], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: "breadcrumbItems", currentNav: "currentNav", confirmLeavingAlert: "confirmLeavingAlert" }, ngImport: i0, template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: i1.BreadcrumbEventService }, { token: i2.Router }, { token: i3.FoehnConfirmModalService }, { token: i4.SessionInfo }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: "breadcrumbItems", currentNav: "currentNav", confirmLeavingAlert: "confirmLeavingAlert" }, ngImport: i0, template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'foehn-breadcrumb', template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"] }]
73
73
  }], ctorParameters: () => [{ type: i1.BreadcrumbEventService }, { type: i2.Router }, { type: i3.FoehnConfirmModalService }, { type: i4.SessionInfo }], propDecorators: { breadcrumbItems: [{
@@ -4,11 +4,11 @@ import { RouterModule } from '@angular/router';
4
4
  import { FoehnBreadcrumbComponent } from './foehn-breadcrumb.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class FoehnBreadcrumbModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbModule, declarations: [FoehnBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [FoehnBreadcrumbComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbModule, imports: [CommonModule, RouterModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbModule, declarations: [FoehnBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [FoehnBreadcrumbComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbModule, imports: [CommonModule, RouterModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnBreadcrumbModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBreadcrumbModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, RouterModule],
@@ -271,10 +271,10 @@ export class FoehnCheckableGroupComponent extends FoehnInputComponent {
271
271
  this.fetchElementsFromUrl();
272
272
  }
273
273
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckableGroupComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
275
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FoehnCheckableGroupComponent, inputs: { elements: "elements", elementsUrl: "elementsUrl", elementValue: "elementValue", elementLabel: "elementLabel", elementValueIdentity: "elementValueIdentity", elementDisabled: "elementDisabled", elementGroup: "elementGroup", defaultElementValue: "defaultElementValue" }, outputs: { elementsLoaded: "elementsLoaded" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckableGroupComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
275
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: FoehnCheckableGroupComponent, inputs: { elements: "elements", elementsUrl: "elementsUrl", elementValue: "elementValue", elementLabel: "elementLabel", elementValueIdentity: "elementValueIdentity", elementDisabled: "elementDisabled", elementGroup: "elementGroup", defaultElementValue: "defaultElementValue" }, outputs: { elementsLoaded: "elementsLoaded" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckableGroupComponent, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckableGroupComponent, decorators: [{
278
278
  type: Directive
279
279
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { elements: [{
280
280
  type: Input
@@ -13,8 +13,8 @@ import { FoehnRadioComponent } from './foehn-radio.component';
13
13
  import { FoehnSelectComponent } from './foehn-select.component';
14
14
  import * as i0 from "@angular/core";
15
15
  export class FoehnCheckablesModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckablesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckablesModule, declarations: [FoehnCheckboxComponent,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckablesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckablesModule, declarations: [FoehnCheckboxComponent,
18
18
  FoehnRadioComponent,
19
19
  FoehnSelectComponent], imports: [CommonModule,
20
20
  FormsModule,
@@ -28,7 +28,7 @@ export class FoehnCheckablesModule {
28
28
  FoehnRadioComponent,
29
29
  FoehnSelectComponent,
30
30
  FoehnAutocompleteModule] }); }
31
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckablesModule, imports: [CommonModule,
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckablesModule, imports: [CommonModule,
32
32
  FormsModule,
33
33
  FoehnIconsModule,
34
34
  HttpClientModule,
@@ -38,7 +38,7 @@ export class FoehnCheckablesModule {
38
38
  FoehnHelpModalModule,
39
39
  FoehnModalModule, FoehnAutocompleteModule] }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckablesModule, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckablesModule, decorators: [{
42
42
  type: NgModule,
43
43
  args: [{
44
44
  imports: [
@@ -15,8 +15,8 @@ export class FoehnCheckboxComponent extends FoehnCheckableGroupComponent {
15
15
  super.ngOnInit();
16
16
  this.multiple = true;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckboxComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnCheckboxComponent, selector: "foehn-checkbox", providers: [
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckboxComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnCheckboxComponent, selector: "foehn-checkbox", providers: [
20
20
  {
21
21
  provide: FoehnInputComponent,
22
22
  useExisting: forwardRef(() => FoehnCheckboxComponent),
@@ -24,7 +24,7 @@ export class FoehnCheckboxComponent extends FoehnCheckableGroupComponent {
24
24
  }
25
25
  ], usesInheritance: true, ngImport: i0, template: "<div\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset class=\"form-group\" [attr.aria-describedby]=\"getDescribedBy()\">\n <div class=\"d-flex justify-content-between\">\n <legend\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div\n *ngFor=\"\n let elementsGroup of groupedElements;\n let groupIndex = index\n \"\n >\n <!-- TODO remove aria-hidden and make this accessible -->\n <div\n *ngIf=\"!!elementsGroup.groupTitle\"\n class=\"pt-2 fw-bold\"\n [attr.id]=\"'checkGroup_' + groupIndex\"\n aria-hidden=\"true\"\n >\n {{ elementsGroup.groupTitle | fromDictionary }}\n </div>\n\n <div\n *ngFor=\"let element of elementsGroup.elements; let i = index\"\n [class.disabled]=\"getDisabled(element)\"\n class=\"form-check\"\n >\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"getValue(element)\"\n [ngModel]=\"isElementSelected(element)\"\n (ngModelChange)=\"onCheck(element, $event)\"\n [name]=\"buildChildName('' + groupIndex + '_' + i)\"\n [attr.name]=\"buildChildName('' + groupIndex + '_' + i)\"\n [attr.id]=\"buildChildId() + groupIndex + '_' + i\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n (change)=\"handleChange(model)\"\n />\n <label\n class=\"form-check-label mb-0\"\n [for]=\"buildChildId() + groupIndex + '_' + i\"\n [innerHTML]=\"getLabel(element)\"\n ></label>\n </div>\n </div>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i4.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnCheckboxComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnCheckboxComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'foehn-checkbox', providers: [
30
30
  {
@@ -42,8 +42,8 @@ export class FoehnRadioComponent extends FoehnCheckableGroupComponent {
42
42
  }
43
43
  return this.getValue(element);
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnRadioComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnRadioComponent, selector: "foehn-radio", providers: [
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnRadioComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnRadioComponent, selector: "foehn-radio", providers: [
47
47
  {
48
48
  provide: FoehnInputComponent,
49
49
  useExisting: forwardRef(() => FoehnRadioComponent),
@@ -51,7 +51,7 @@ export class FoehnRadioComponent extends FoehnCheckableGroupComponent {
51
51
  }
52
52
  ], usesInheritance: true, ngImport: i0, template: "<div\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset class=\"form-group\" [attr.aria-describedby]=\"getDescribedBy()\">\n <div class=\"d-flex justify-content-between\">\n <legend\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n <div\n *ngFor=\"\n let elementsGroup of groupedElements;\n let groupIndex = index\n \"\n >\n <!-- TODO remove aria-hidden and make this accessible -->\n <div\n *ngIf=\"!!elementsGroup.groupTitle\"\n class=\"pt-2 fw-bold\"\n [attr.id]=\"'checkGroup_' + groupIndex\"\n aria-hidden=\"true\"\n >\n {{ elementsGroup.groupTitle | fromDictionary }}\n </div>\n <div\n *ngFor=\"let element of elementsGroup.elements; let i = index\"\n [class.disabled]=\"getDisabled(element)\"\n class=\"form-check\"\n >\n <input\n class=\"form-check-input\"\n type=\"radio\"\n [value]=\"getValueOrObject(element)\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onCheck(element, $event)\"\n [name]=\"buildChildName()\"\n [attr.name]=\"buildChildName()\"\n [attr.id]=\"buildChildId() + groupIndex + '_' + i\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n (change)=\"handleChange(getValue(element))\"\n />\n <label\n class=\"form-check-label mb-0\"\n [for]=\"buildChildId() + groupIndex + '_' + i\"\n [innerHTML]=\"getLabel(element)\"\n ></label>\n </div>\n </div>\n </fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i4.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnRadioComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnRadioComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{ selector: 'foehn-radio', providers: [
57
57
  {
@@ -29,8 +29,8 @@ export class FoehnSelectComponent extends FoehnCheckableGroupComponent {
29
29
  showEmptyOption() {
30
30
  return this.required && this.isEmpty(this.model);
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnSelectComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnSelectComponent, selector: "foehn-select", inputs: { multiple: "multiple", noSelectionLabel: "noSelectionLabel" }, providers: [
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnSelectComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnSelectComponent, selector: "foehn-select", inputs: { multiple: "multiple", noSelectionLabel: "noSelectionLabel" }, providers: [
34
34
  {
35
35
  provide: FoehnInputComponent,
36
36
  useExisting: forwardRef(() => FoehnSelectComponent),
@@ -38,7 +38,7 @@ export class FoehnSelectComponent extends FoehnCheckableGroupComponent {
38
38
  }
39
39
  ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i4.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnSelectComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnSelectComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'foehn-select', providers: [
44
44
  {
@@ -30,10 +30,10 @@ export class FoehnConfirmModalComponent {
30
30
  // In case the modal is closed by another mean such as the Escape key.
31
31
  this.isVisible = status;
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalComponent, deps: [{ token: i1.FoehnConfirmModalService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end me-2 mb-2 mt-2\">\n <button\n id=\"cancelButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"confirmButton\"\n class=\"btn btn-primary ms-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalComponent, deps: [{ token: i1.FoehnConfirmModalService }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end me-2 mb-2 mt-2\">\n <button\n id=\"cancelButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"confirmButton\"\n class=\"btn btn-primary ms-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'foehn-confirm-modal', template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end me-2 mb-2 mt-2\">\n <button\n id=\"cancelButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"confirmButton\"\n class=\"btn btn-primary ms-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n" }]
39
39
  }], ctorParameters: () => [{ type: i1.FoehnConfirmModalService }] });
@@ -4,11 +4,11 @@ import { FoehnModalModule } from '../foehn-modal/foehn-modal.module';
4
4
  import { FoehnConfirmModalComponent } from './foehn-confirm-modal.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class FoehnConfirmModalModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalModule, declarations: [FoehnConfirmModalComponent], imports: [CommonModule, FoehnModalModule], exports: [FoehnConfirmModalComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalModule, imports: [CommonModule, FoehnModalModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalModule, declarations: [FoehnConfirmModalComponent], imports: [CommonModule, FoehnModalModule], exports: [FoehnConfirmModalComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalModule, imports: [CommonModule, FoehnModalModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnConfirmModalModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnConfirmModalModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, FoehnModalModule],