@dsivd/prestations-ng 18.8.0-beta.13 → 19.0.0-beta.1

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 (298) hide show
  1. package/.browserslistrc +12 -21
  2. package/ANGULAR_SIGNALS.md +856 -0
  3. package/CHANGELOG.md +333 -312
  4. package/COMPONENTS.md +350 -0
  5. package/CONTRIBUTING.md +2 -4
  6. package/ESLINT_MIGRATION_GUIDE.md +64 -67
  7. package/IAM_ACV_MIGRATION_OIDC.md +138 -0
  8. package/MULTI_ETAPES.md +1 -1
  9. package/README.md +4 -2
  10. package/UPGRADING_V12.md +0 -10
  11. package/UPGRADING_V16.md +0 -1
  12. package/UPGRADING_V18.md +398 -233
  13. package/UPGRADING_V19.md +174 -0
  14. package/dsivd-prestations-ng-19.0.0-beta.1.tgz +0 -0
  15. package/fesm2022/dsivd-prestations-ng.mjs +9333 -10485
  16. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  17. package/index.html +1 -1
  18. package/package.json +18 -17
  19. package/schematics/utility/add-allow-synthetic-default-imports.js +2 -2
  20. package/schematics/utility/add-allowed-common-js-dependencies.js +3 -3
  21. package/schematics/utility/foehn2-bootstrap5-migration.js +21 -21
  22. package/schematics/utility/migrate-to-karma-coverage.js +2 -2
  23. package/schematics/utility/remove-emit-decorator-metadata.js +2 -2
  24. package/types/dsivd-prestations-ng.d.ts +3699 -0
  25. package/MODULES.md +0 -371
  26. package/abstract-page-component.d.ts +0 -57
  27. package/directives/currency-formatter.directive.d.ts +0 -20
  28. package/directives/formatter.module.d.ts +0 -11
  29. package/directives/iban-formatter.directive.d.ts +0 -10
  30. package/directives/ide-formatter.directive.d.ts +0 -17
  31. package/directives/ndc-formatter.directive.d.ts +0 -24
  32. package/dsivd-prestations-ng-18.8.0-beta.13.tgz +0 -0
  33. package/foehn-address/address.type.d.ts +0 -27
  34. package/foehn-address/foehn-address.module.d.ts +0 -15
  35. package/foehn-address/foehn-display-address.component.d.ts +0 -16
  36. package/foehn-address/foehn-input-address.component.d.ts +0 -107
  37. package/foehn-address/foehn-input-foreign-locality.component.d.ts +0 -16
  38. package/foehn-address/foehn-input-foreign-street.component.d.ts +0 -12
  39. package/foehn-agenda/calendar.type.d.ts +0 -9
  40. package/foehn-agenda/current-week.type.d.ts +0 -5
  41. package/foehn-agenda/day-slots.type.d.ts +0 -5
  42. package/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.d.ts +0 -21
  43. package/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.d.ts +0 -51
  44. package/foehn-agenda/foehn-agenda.component.d.ts +0 -29
  45. package/foehn-agenda/foehn-agenda.module.d.ts +0 -17
  46. package/foehn-agenda/pagination-week.type.d.ts +0 -5
  47. package/foehn-agenda/selected-slot.type.d.ts +0 -7
  48. package/foehn-autocomplete/foehn-autocomplete.component.d.ts +0 -126
  49. package/foehn-autocomplete/foehn-autocomplete.module.d.ts +0 -13
  50. package/foehn-boolean/foehn-boolean-checkbox.component.d.ts +0 -6
  51. package/foehn-boolean/foehn-boolean-radio.component.d.ts +0 -9
  52. package/foehn-boolean/foehn-boolean.module.d.ts +0 -12
  53. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +0 -48
  54. package/foehn-breadcrumb/breadcrumb.d.ts +0 -19
  55. package/foehn-breadcrumb/foehn-breadcrumb.component.d.ts +0 -30
  56. package/foehn-breadcrumb/foehn-breadcrumb.module.d.ts +0 -10
  57. package/foehn-checkables/foehn-checkable-group.component.d.ts +0 -64
  58. package/foehn-checkables/foehn-checkables.module.d.ts +0 -17
  59. package/foehn-checkables/foehn-checkbox.component.d.ts +0 -9
  60. package/foehn-checkables/foehn-radio.component.d.ts +0 -12
  61. package/foehn-checkables/foehn-select.component.d.ts +0 -22
  62. package/foehn-checkables/form-select-option-group.d.ts +0 -4
  63. package/foehn-checkables/form-select-option.d.ts +0 -5
  64. package/foehn-confirm-modal/foehn-confirm-modal-content.d.ts +0 -9
  65. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +0 -17
  66. package/foehn-confirm-modal/foehn-confirm-modal.module.d.ts +0 -9
  67. package/foehn-confirm-modal/foehn-confirm-modal.service.d.ts +0 -18
  68. package/foehn-date-picker/date-picker-navigation.helper.d.ts +0 -26
  69. package/foehn-date-picker/date-picker.helper.d.ts +0 -30
  70. package/foehn-date-picker/day-month.type.d.ts +0 -8
  71. package/foehn-date-picker/focused-day.type.d.ts +0 -6
  72. package/foehn-date-picker/foehn-date-picker.component.d.ts +0 -78
  73. package/foehn-date-picker/foehn-date-picker.module.d.ts +0 -13
  74. package/foehn-date-picker/month-year.type.d.ts +0 -4
  75. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +0 -31
  76. package/foehn-date-picker-button/foehn-date-picker-button.module.d.ts +0 -12
  77. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +0 -21
  78. package/foehn-debug-summary/foehn-debug-summary.component.module.d.ts +0 -9
  79. package/foehn-decision-electronique/foehn-decision-electronique.component.d.ts +0 -11
  80. package/foehn-decision-electronique/foehn-decision-electronique.module.d.ts +0 -11
  81. package/foehn-dropdown-menu/dropdown-menu-group.type.d.ts +0 -5
  82. package/foehn-dropdown-menu/dropdown-menu-item.type.d.ts +0 -9
  83. package/foehn-dropdown-menu/foehn-dropdown-menu.component.d.ts +0 -42
  84. package/foehn-dropdown-menu/foehn-dropdown-menu.module.d.ts +0 -11
  85. package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +0 -32
  86. package/foehn-feedback-notification/foehn-feedback-notification.module.d.ts +0 -11
  87. package/foehn-feedback-notification/foehn-feedback-notification.type.d.ts +0 -8
  88. package/foehn-footer/foehn-footer.component.d.ts +0 -44
  89. package/foehn-footer/foehn-footer.module.d.ts +0 -9
  90. package/foehn-footer/footer-link.type.d.ts +0 -4
  91. package/foehn-form/foehn-form.component.d.ts +0 -27
  92. package/foehn-form/foehn-form.module.d.ts +0 -10
  93. package/foehn-form/register-ng-model.service.d.ts +0 -9
  94. package/foehn-growl/foehn-growl.component.d.ts +0 -17
  95. package/foehn-growl/foehn-growl.module.d.ts +0 -8
  96. package/foehn-growl/growl-broker.service.d.ts +0 -12
  97. package/foehn-growl/growl-message.d.ts +0 -7
  98. package/foehn-growl/growl-types.d.ts +0 -6
  99. package/foehn-header/foehn-header.component.d.ts +0 -47
  100. package/foehn-header/foehn-header.module.d.ts +0 -14
  101. package/foehn-header/foehn-skip-link.component.d.ts +0 -23
  102. package/foehn-help-modal/foehn-help-modal.component.d.ts +0 -17
  103. package/foehn-help-modal/foehn-help-modal.module.d.ts +0 -10
  104. package/foehn-help-modal/foehn-help-modal.type.d.ts +0 -13
  105. package/foehn-icons/abstract-icon-component.d.ts +0 -9
  106. package/foehn-icons/foehn-icon-calendar.component.d.ts +0 -8
  107. package/foehn-icons/foehn-icon-check-square-o.component.d.ts +0 -8
  108. package/foehn-icons/foehn-icon-check.component.d.ts +0 -8
  109. package/foehn-icons/foehn-icon-chevron-down.component.d.ts +0 -8
  110. package/foehn-icons/foehn-icon-chevron-left.component.d.ts +0 -8
  111. package/foehn-icons/foehn-icon-chevron-right.component.d.ts +0 -8
  112. package/foehn-icons/foehn-icon-chevron-up.component.d.ts +0 -8
  113. package/foehn-icons/foehn-icon-clock.component.d.ts +0 -8
  114. package/foehn-icons/foehn-icon-comment-dots.component.d.ts +0 -8
  115. package/foehn-icons/foehn-icon-edit.component.d.ts +0 -8
  116. package/foehn-icons/foehn-icon-external-link-alt.component.d.ts +0 -8
  117. package/foehn-icons/foehn-icon-file-pdf.component.d.ts +0 -8
  118. package/foehn-icons/foehn-icon-info-circle.component.d.ts +0 -8
  119. package/foehn-icons/foehn-icon-lock.component.d.ts +0 -8
  120. package/foehn-icons/foehn-icon-map-marker.component.d.ts +0 -8
  121. package/foehn-icons/foehn-icon-minus-circle.component.d.ts +0 -8
  122. package/foehn-icons/foehn-icon-pencil.component.d.ts +0 -8
  123. package/foehn-icons/foehn-icon-plus-circle.component.d.ts +0 -8
  124. package/foehn-icons/foehn-icon-plus-square.component.d.ts +0 -8
  125. package/foehn-icons/foehn-icon-search.component.d.ts +0 -8
  126. package/foehn-icons/foehn-icon-times.component.d.ts +0 -8
  127. package/foehn-icons/foehn-icon-trash-alt.component.d.ts +0 -8
  128. package/foehn-icons/foehn-icon-unlock-alt.component.d.ts +0 -8
  129. package/foehn-icons/foehn-icon-user.component.d.ts +0 -8
  130. package/foehn-icons/foehn-icons.module.d.ts +0 -31
  131. package/foehn-input/foehn-input-email.component.d.ts +0 -15
  132. package/foehn-input/foehn-input-hidden.component.d.ts +0 -14
  133. package/foehn-input/foehn-input-number.component.d.ts +0 -42
  134. package/foehn-input/foehn-input-password.component.d.ts +0 -12
  135. package/foehn-input/foehn-input-phone.component.d.ts +0 -25
  136. package/foehn-input/foehn-input-prefixed-text.component.d.ts +0 -26
  137. package/foehn-input/foehn-input-string.component.d.ts +0 -9
  138. package/foehn-input/foehn-input-text.component.d.ts +0 -11
  139. package/foehn-input/foehn-input-textarea.component.d.ts +0 -22
  140. package/foehn-input/foehn-input.component.d.ts +0 -127
  141. package/foehn-input/foehn-input.module.d.ts +0 -24
  142. package/foehn-input/pattern.const.d.ts +0 -11
  143. package/foehn-input-date/foehn-input-date.component.d.ts +0 -33
  144. package/foehn-input-date-time/foehn-input-date-time.component.d.ts +0 -40
  145. package/foehn-input-time/foehn-input-time.component.d.ts +0 -19
  146. package/foehn-list/foehn-list.component.d.ts +0 -27
  147. package/foehn-list/foehn-list.module.d.ts +0 -9
  148. package/foehn-list/page-change-event.d.ts +0 -5
  149. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +0 -35
  150. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +0 -13
  151. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +0 -20
  152. package/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.d.ts +0 -12
  153. package/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.d.ts +0 -6
  154. package/foehn-menu-prestation/foehn-list-summary/foehn-list-item.d.ts +0 -5
  155. package/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.d.ts +0 -40
  156. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.d.ts +0 -16
  157. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.d.ts +0 -23
  158. package/foehn-menu-prestation/foehn-menu-prestation.module.d.ts +0 -18
  159. package/foehn-misc/foehn-abbr.component.d.ts +0 -7
  160. package/foehn-misc/foehn-misc.module.d.ts +0 -7
  161. package/foehn-modal/foehn-modal.component.d.ts +0 -24
  162. package/foehn-modal/foehn-modal.module.d.ts +0 -11
  163. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +0 -54
  164. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.d.ts +0 -13
  165. package/foehn-nav13/foehn-input-nav13.component.d.ts +0 -20
  166. package/foehn-nav13/foehn-input-nav13.module.d.ts +0 -11
  167. package/foehn-navigation/abstract-foehn-navigation.component.d.ts +0 -19
  168. package/foehn-navigation/foehn-navigation/foehn-navigation.component.d.ts +0 -22
  169. package/foehn-navigation/foehn-navigation.module.d.ts +0 -13
  170. package/foehn-navigation/foehn-navigation.service.d.ts +0 -69
  171. package/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.d.ts +0 -8
  172. package/foehn-notfound/foehn-notfound.component.d.ts +0 -19
  173. package/foehn-notfound/foehn-notfound.module.d.ts +0 -10
  174. package/foehn-page/foehn-page-counter.component.d.ts +0 -15
  175. package/foehn-page/foehn-page-expiration-timer/current-session-expiration.d.ts +0 -5
  176. package/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.d.ts +0 -15
  177. package/foehn-page/foehn-page-expiration-timer/demande-expiration.service.d.ts +0 -16
  178. package/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.d.ts +0 -36
  179. package/foehn-page/foehn-page-expiration-timer/interval.helper.d.ts +0 -3
  180. package/foehn-page/foehn-page-modal.component.d.ts +0 -23
  181. package/foehn-page/foehn-page-modal.service.d.ts +0 -12
  182. package/foehn-page/foehn-page.component.d.ts +0 -80
  183. package/foehn-page/foehn-page.module.d.ts +0 -24
  184. package/foehn-page/foehn-page.service.d.ts +0 -19
  185. package/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.d.ts +0 -16
  186. package/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.d.ts +0 -11
  187. package/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.d.ts +0 -11
  188. package/foehn-recap-section/foehn-recap-section.component.d.ts +0 -21
  189. package/foehn-recap-section/foehn-recap-section.module.d.ts +0 -10
  190. package/foehn-recap-section/foehn-recap-section.type.d.ts +0 -17
  191. package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.d.ts +0 -20
  192. package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.d.ts +0 -8
  193. package/foehn-status-progress-bar/foehn-status-progress-bar.component.d.ts +0 -23
  194. package/foehn-status-progress-bar/foehn-status-progress-bar.module.d.ts +0 -10
  195. package/foehn-table/foehn-table-column-configuration.d.ts +0 -14
  196. package/foehn-table/foehn-table-page-change-event.d.ts +0 -5
  197. package/foehn-table/foehn-table.component.d.ts +0 -40
  198. package/foehn-table/foehn-table.module.d.ts +0 -13
  199. package/foehn-table/row-element.type.d.ts +0 -4
  200. package/foehn-table/tableSort.d.ts +0 -4
  201. package/foehn-upload/abstract-foehn-uploader.component.d.ts +0 -68
  202. package/foehn-upload/document-reference.d.ts +0 -12
  203. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +0 -27
  204. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.d.ts +0 -11
  205. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +0 -38
  206. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.d.ts +0 -13
  207. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +0 -42
  208. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.d.ts +0 -13
  209. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +0 -29
  210. package/foehn-upload/foehn-multi-upload/multi-upload.type.d.ts +0 -11
  211. package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +0 -26
  212. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +0 -38
  213. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +0 -14
  214. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.d.ts +0 -22
  215. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.d.ts +0 -11
  216. package/foehn-upload/foehn-upload-progress-bar/upload-progress.service.d.ts +0 -19
  217. package/foehn-upload/foehn-upload-progress-bar/upload-progress.type.d.ts +0 -6
  218. package/foehn-upload/page-upload-limit.service.d.ts +0 -22
  219. package/foehn-upload/pending-upload.type.d.ts +0 -9
  220. package/foehn-upload/uploader.helper.d.ts +0 -66
  221. package/foehn-user-connected-as/foehn-user-connected-as.component.d.ts +0 -12
  222. package/foehn-user-connected-as/foehn-user-connected-as.module.d.ts +0 -9
  223. package/foehn-validation-alert-summary/foehn-validation-alert-summary.component.d.ts +0 -20
  224. package/foehn-validation-alert-summary/foehn-validation-alert-summary.module.d.ts +0 -9
  225. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +0 -14
  226. package/foehn-validation-alerts/foehn-validation-alerts.module.d.ts +0 -8
  227. package/form-error.d.ts +0 -5
  228. package/form-post-response.d.ts +0 -19
  229. package/gesdem/gesdem-error-handler.service.d.ts +0 -22
  230. package/gesdem/gesdem-event.service.d.ts +0 -16
  231. package/gesdem/gesdem-handler.service.d.ts +0 -52
  232. package/gesdem/gesdem-loader.guard.d.ts +0 -2
  233. package/gesdem/gesdem-statut-utils.d.ts +0 -12
  234. package/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.d.ts +0 -39
  235. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +0 -59
  236. package/gesdem-action-recovery/gesdem-action-recovery.module.d.ts +0 -17
  237. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +0 -24
  238. package/gesdem-action-recovery/reprise-info.d.ts +0 -6
  239. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +0 -65
  240. package/gesdem-confirmation/gesdem-confirmation.module.d.ts +0 -12
  241. package/gesdem-error/gesdem-error.component.d.ts +0 -34
  242. package/gesdem-error/gesdem-error.module.d.ts +0 -12
  243. package/global.const.d.ts +0 -1
  244. package/helpers/demande.helper.d.ts +0 -3
  245. package/helpers/object.helper.d.ts +0 -30
  246. package/i18n-form.d.ts +0 -5
  247. package/index.d.ts +0 -5
  248. package/pipes/currency.pipe.d.ts +0 -10
  249. package/pipes/date.pipe.d.ts +0 -12
  250. package/pipes/formatIde.pipe.d.ts +0 -7
  251. package/pipes/pipes.module.d.ts +0 -9
  252. package/prestations-ng-core.module.d.ts +0 -12
  253. package/public-api.d.ts +0 -238
  254. package/refinf/model/address-type-light.d.ts +0 -5
  255. package/refinf/model/canton.d.ts +0 -4
  256. package/refinf/model/district.d.ts +0 -7
  257. package/refinf/model/municipality.d.ts +0 -9
  258. package/refinf/model/place-of-origin.d.ts +0 -9
  259. package/refinf/model/postal-locality.d.ts +0 -11
  260. package/sdk-appinfo/application-info.d.ts +0 -61
  261. package/sdk-appinfo/application-info.service.d.ts +0 -32
  262. package/sdk-currency/currency.helper.d.ts +0 -9
  263. package/sdk-date/date.helper.d.ts +0 -20
  264. package/sdk-dictionary/default-dictionary.d.ts +0 -2
  265. package/sdk-dictionary/sdk-dictionary.module.d.ts +0 -7
  266. package/sdk-dictionary/sdk-dictionary.pipe.d.ts +0 -12
  267. package/sdk-dictionary/sdk-dictionary.service.d.ts +0 -44
  268. package/sdk-drafts/draft.model.d.ts +0 -5
  269. package/sdk-drafts/drafts-container.component.d.ts +0 -33
  270. package/sdk-drafts/drafts.module.d.ts +0 -14
  271. package/sdk-drafts/drafts.service.d.ts +0 -20
  272. package/sdk-epayment/model/EPaymentParameters.d.ts +0 -21
  273. package/sdk-epayment/pending-payment/pending-payment.component.d.ts +0 -9
  274. package/sdk-epayment/sdk-epayment.component.d.ts +0 -33
  275. package/sdk-epayment/sdk-epayment.module.d.ts +0 -11
  276. package/sdk-epayment/sdk-epayment.service.d.ts +0 -21
  277. package/sdk-events-logger/sdk-event-type.d.ts +0 -12
  278. package/sdk-events-logger/sdk-event.d.ts +0 -8
  279. package/sdk-events-logger/sdk-events-logger.service.d.ts +0 -18
  280. package/sdk-recaptcha/grecaptcha/grecaptcha.component.d.ts +0 -39
  281. package/sdk-recaptcha/recaptcha.service.d.ts +0 -44
  282. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +0 -27
  283. package/sdk-recaptcha/sdk-recaptcha.module.d.ts +0 -9
  284. package/sdk-redirect/iam-expired-interceptor.service.d.ts +0 -12
  285. package/sdk-redirect/redirect.component.d.ts +0 -22
  286. package/sdk-redirect/sdk-redirect.module.d.ts +0 -9
  287. package/sdk-session-info/session-info-data.d.ts +0 -29
  288. package/sdk-session-info/session-info-with-application.service.d.ts +0 -20
  289. package/sdk-session-info/session-info.service.d.ts +0 -17
  290. package/sdk-statistics/sdk-statistics.service.d.ts +0 -24
  291. package/sdk-support-alert/support-alert-container.component.d.ts +0 -20
  292. package/sdk-support-alert/support-alert.component.d.ts +0 -12
  293. package/sdk-support-alert/support-alert.model.d.ts +0 -12
  294. package/sdk-support-alert/support-alert.module.d.ts +0 -10
  295. package/sdk-support-alert/support-alert.service.d.ts +0 -34
  296. package/service-locator.d.ts +0 -4
  297. package/supported-browser.d.ts +0 -1
  298. package/validation/validation-handler.service.d.ts +0 -15
@@ -40,10 +40,10 @@ Before:
40
40
  builder: '@angular-devkit/build-angular:tslint',
41
41
  options: {
42
42
  tsConfig: ['e2e/tsconfig.e2e.json'],
43
- exclude: ['**/node_modules/**']
44
- }
45
- }
46
- }
43
+ exclude: ['**/node_modules/**'],
44
+ },
45
+ },
46
+ },
47
47
  }
48
48
  ```
49
49
 
@@ -57,10 +57,10 @@ After:
57
57
  lint: {
58
58
  builder: '@angular-eslint/builder:lint',
59
59
  options: {
60
- lintFilePatterns: ['e2e/**/*.ts', 'e2e/**/*.html']
61
- }
62
- }
63
- }
60
+ lintFilePatterns: ['e2e/**/*.ts', 'e2e/**/*.html'],
61
+ },
62
+ },
63
+ },
64
64
  }
65
65
  ```
66
66
 
@@ -80,10 +80,10 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
80
80
  env: {
81
81
  browser: true,
82
82
  es6: true,
83
- node: true
83
+ node: true,
84
84
  },
85
85
  parserOptions: {
86
- ecmaVersion: 8
86
+ ecmaVersion: 8,
87
87
  },
88
88
  ignorePatterns: [
89
89
  '/projects/**/*',
@@ -92,8 +92,7 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
92
92
  '/karma.conf.js',
93
93
  '/.eslintrc.json',
94
94
  '/tsconfig*.json',
95
- '/src/main.ts',
96
- '/src/typings.d.ts'
95
+ '/src/typings.d.ts',
97
96
  ],
98
97
  reportUnusedDisableDirectives: true,
99
98
  settings: {
@@ -101,8 +100,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
101
100
  'import/internal-regex': '^@dsivd/',
102
101
  'import/resolver': {
103
102
  node: { extensions: ['.js', '.ts', '.d.ts'] },
104
- typescript: {}
105
- }
103
+ typescript: {},
104
+ },
106
105
  },
107
106
  overrides: [
108
107
  // Typescript
@@ -111,7 +110,7 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
111
110
  parserOptions: {
112
111
  ecmaVersion: 2020,
113
112
  project: ['tsconfig.json'],
114
- createDefaultProgram: true
113
+ createDefaultProgram: true,
115
114
  },
116
115
  plugins: ['import', 'rxjs', 'rxjs-angular', 'simple-import-sort'],
117
116
  extends: [
@@ -122,7 +121,7 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
122
121
  'plugin:import/recommended',
123
122
  'plugin:import/errors',
124
123
  'plugin:import/warnings',
125
- 'plugin:import/typescript'
124
+ 'plugin:import/typescript',
126
125
  ],
127
126
  rules: {
128
127
  /* @angular-eslint */
@@ -131,16 +130,16 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
131
130
  {
132
131
  type: 'element',
133
132
  prefix: 'app',
134
- style: 'kebab-case'
135
- }
133
+ style: 'kebab-case',
134
+ },
136
135
  ],
137
136
  '@angular-eslint/directive-selector': [
138
137
  'error',
139
138
  {
140
139
  type: 'attribute',
141
140
  prefix: 'app',
142
- style: 'camelCase'
143
- }
141
+ style: 'camelCase',
142
+ },
144
143
  ],
145
144
  '@angular-eslint/no-empty-lifecycle-method': 'error',
146
145
  '@angular-eslint/use-lifecycle-interface': 'error',
@@ -149,8 +148,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
149
148
  'error',
150
149
  {
151
150
  default: 'array',
152
- readonly: 'array'
153
- }
151
+ readonly: 'array',
152
+ },
154
153
  ],
155
154
  '@typescript-eslint/ban-ts-comment': 'error',
156
155
  '@typescript-eslint/ban-tslint-comment': 'error',
@@ -158,8 +157,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
158
157
  'error',
159
158
  '1tbs',
160
159
  {
161
- allowSingleLine: true
162
- }
160
+ allowSingleLine: true,
161
+ },
163
162
  ],
164
163
  '@typescript-eslint/comma-dangle': [
165
164
  'error',
@@ -169,8 +168,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
169
168
  functions: 'never',
170
169
  enums: 'never',
171
170
  generics: 'always-multiline',
172
- tuples: 'always-multiline'
173
- }
171
+ tuples: 'always-multiline',
172
+ },
174
173
  ],
175
174
  '@typescript-eslint/consistent-type-assertions': 'error',
176
175
  '@typescript-eslint/dot-notation': 'error',
@@ -181,14 +180,14 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
181
180
  allowTypedFunctionExpressions: true,
182
181
  allowHigherOrderFunctions: true,
183
182
  allowDirectConstAssertionInArrowFunctions: true,
184
- allowConciseArrowFunctionExpressionsStartingWithVoid: false
185
- }
183
+ allowConciseArrowFunctionExpressionsStartingWithVoid: false,
184
+ },
186
185
  ],
187
186
  '@typescript-eslint/explicit-member-accessibility': [
188
187
  'error',
189
188
  {
190
- accessibility: 'no-public'
191
- }
189
+ accessibility: 'no-public',
190
+ },
192
191
  ],
193
192
  '@typescript-eslint/indent': [
194
193
  'error',
@@ -205,8 +204,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
205
204
  ImportDeclaration: 1,
206
205
  flatTernaryExpressions: false,
207
206
  offsetTernaryExpressions: true,
208
- ignoreComments: false
209
- }
207
+ ignoreComments: false,
208
+ },
210
209
  ],
211
210
  '@typescript-eslint/interface-name-prefix': 'off',
212
211
  '@typescript-eslint/member-delimiter-style': 'error',
@@ -216,14 +215,14 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
216
215
  '@typescript-eslint/no-inferrable-types': [
217
216
  'error',
218
217
  {
219
- ignoreParameters: true
220
- }
218
+ ignoreParameters: true,
219
+ },
221
220
  ],
222
221
  '@typescript-eslint/no-shadow': [
223
222
  'error',
224
223
  {
225
- hoist: 'all'
226
- }
224
+ hoist: 'all',
225
+ },
227
226
  ],
228
227
  '@typescript-eslint/no-unused-expressions': 'error',
229
228
  '@typescript-eslint/no-use-before-define': 'off',
@@ -240,15 +239,15 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
240
239
  {
241
240
  path: 'always',
242
241
  types: 'prefer-import',
243
- lib: 'always'
244
- }
242
+ lib: 'always',
243
+ },
245
244
  ],
246
245
  '@typescript-eslint/type-annotation-spacing': 'error',
247
246
  '@typescript-eslint/typedef': [
248
247
  'error',
249
248
  {
250
- parameter: true
251
- }
249
+ parameter: true,
250
+ },
252
251
  ],
253
252
  '@typescript-eslint/unified-signatures': 'error',
254
253
  /* @eslint */
@@ -273,8 +272,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
273
272
  'no-console': [
274
273
  'error',
275
274
  {
276
- allow: ['log', 'warn', 'error', 'assert', 'clear']
277
- }
275
+ allow: ['log', 'warn', 'error', 'assert', 'clear'],
276
+ },
278
277
  ],
279
278
  'no-debugger': 'error',
280
279
  'no-empty': ['error', { allowEmptyCatch: true }],
@@ -285,8 +284,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
285
284
  'no-restricted-imports': [
286
285
  'error',
287
286
  {
288
- paths: ['rxjs/Rx', 'primeng/primeng', 'primeng']
289
- }
287
+ paths: ['rxjs/Rx', 'primeng/primeng', 'primeng'],
288
+ },
290
289
  ],
291
290
  'no-return-assign': 'error',
292
291
  'no-shadow': 'off',
@@ -303,8 +302,8 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
303
302
  'always',
304
303
  {
305
304
  avoidQuotes: true,
306
- avoidExplicitReturnArrows: false
307
- }
305
+ avoidExplicitReturnArrows: false,
306
+ },
308
307
  ],
309
308
  'one-var': ['error', 'never'],
310
309
  'prefer-arrow-callback': 'error',
@@ -318,16 +317,16 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
318
317
  {
319
318
  anonymous: 'never',
320
319
  asyncArrow: 'always',
321
- named: 'never'
322
- }
320
+ named: 'never',
321
+ },
323
322
  ],
324
323
  'space-in-parens': ['error', 'never'],
325
324
  'spaced-comment': [
326
325
  'error',
327
326
  'always',
328
327
  {
329
- markers: ['/']
330
- }
328
+ markers: ['/'],
329
+ },
331
330
  ],
332
331
  'use-isnan': 'error',
333
332
  'valid-typeof': 'off',
@@ -339,16 +338,16 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
339
338
  'warn',
340
339
  {
341
340
  maxDepth: 3,
342
- ignoreExternal: true
343
- }
341
+ ignoreExternal: true,
342
+ },
344
343
  ],
345
344
  'import/no-deprecated': 'warn',
346
345
  'simple-import-sort/imports': 'error',
347
346
  'simple-import-sort/exports': 'error',
348
347
  'import/first': 'error',
349
348
  'import/newline-after-import': 'error',
350
- 'import/no-duplicates': 'error'
351
- }
349
+ 'import/no-duplicates': 'error',
350
+ },
352
351
  },
353
352
  // HTML
354
353
  {
@@ -360,35 +359,35 @@ You can replace the content of your `.eslintrc.json` with the following `json`.
360
359
  'max-len': [
361
360
  'error',
362
361
  {
363
- code: 200
364
- }
362
+ code: 200,
363
+ },
365
364
  ],
366
- '@angular-eslint/template/button-has-type': 'error'
367
- }
365
+ '@angular-eslint/template/button-has-type': 'error',
366
+ },
368
367
  },
369
368
  // Jasmine
370
369
  {
371
370
  files: ['src/**/*.spec.ts', 'src/**/*.d.ts'],
372
371
  parserOptions: {
373
- project: 'tsconfig.spec.json'
372
+ project: 'tsconfig.spec.json',
374
373
  },
375
374
  extends: ['plugin:jasmine/recommended'],
376
375
  plugins: ['jasmine'],
377
376
  env: { jasmine: true },
378
377
  rules: {
379
378
  '@typescript-eslint/no-unused-vars': 'off',
380
- 'jasmine/new-line-before-expect': 'off'
381
- }
379
+ 'jasmine/new-line-before-expect': 'off',
380
+ },
382
381
  },
383
382
  // Javasript (setup ultra-basique)
384
383
  {
385
384
  files: ['*.js'],
386
385
  extends: ['eslint:recommended'],
387
386
  rules: {
388
- quotes: ['error', 'single']
389
- }
390
- }
391
- ]
387
+ quotes: ['error', 'single'],
388
+ },
389
+ },
390
+ ],
392
391
  }
393
392
  ```
394
393
 
@@ -430,11 +429,9 @@ When you are done with your migration and happy with the result, you can delete
430
429
  ## Configurating IntelliJ IDEA to use ESLint as your JavaScript linter
431
430
 
432
431
  - To configure ESLint automatically in the current project, open "_File -> Settings..._" (`Ctrl+Alt+S`) and either:
433
-
434
432
  - Search for `ESLint`
435
433
 
436
434
  or
437
-
438
435
  - Navigate to "_Languages & Frameworks -> Code Quality Tools -> ESLint_"
439
436
 
440
437
  and check radio box "_Automatic ESLint configuration_"
@@ -0,0 +1,138 @@
1
+ # IAM ACV OIDC MIGRATION GUIDE
2
+
3
+ Back offices that are behind IAM ACV should migrate to OIDC, IAM headers are now deprecated.
4
+
5
+ ## ADMIN
6
+
7
+ - You have to request a new VIP for your application (<env>-<deployunit>.etat-de-vaud.ch)
8
+ - i.e. for eldoradobo (R260219_00034) : https://int-eldoradobo.etat-de-vaud.ch/
9
+ - On IAM side, you have to request a client id / secret on every environment to be used in your configuration
10
+
11
+ ## FRONTEND
12
+
13
+ - Enable the interceptor that is used for dev server by providing the following injection token in your app.component.ts : `{ provide: OIDC_ENABLED, useValue: 'true' }`
14
+ - Update your proxy.conf.json to add `/oauth2`, `/login`, `/logout` :
15
+
16
+ ```json
17
+ [
18
+ {
19
+ "context": ["/api", "/oauth2", "/login", "/logout"],
20
+ "target": "http://localhost:20900",
21
+ "secure": false
22
+ }
23
+ ]
24
+ ```
25
+
26
+ - update your angular.json
27
+
28
+ ```json
29
+ "baseHref": "/",
30
+ ```
31
+
32
+ ## BACKEND
33
+
34
+ - remove the server.servlet.context-path (your application should respond on "/")
35
+ - Replace this import : `cyberadminbe.config.CyberAdminBeSecurityConfig` with this one `backofficebe.config.IamAcvOidcSecurityConfiguration`
36
+ - add the following dependency :
37
+
38
+ ```xml
39
+ <dependency>
40
+ <groupId>org.springframework.boot</groupId>
41
+ <artifactId>spring-boot-starter-oauth2-client</artifactId>
42
+ </dependency>
43
+ ```
44
+
45
+ - update your application.properties with
46
+
47
+ ```properties
48
+ # OIDC common properties
49
+ spring.security.oauth2.client.registration.acv.client-name=SSO ACV
50
+ spring.security.oauth2.client.registration.acv.authorization-grant-type=authorization_code
51
+ spring.security.oauth2.client.registration.acv.scope=openid,profile,email
52
+ ```
53
+
54
+ - update your CO/environment.properties + UT/environment.properties with
55
+
56
+ ```properties
57
+ spring.security.oauth2.client.registration.acv.client-id=mock-client-id
58
+ spring.security.oauth2.client.registration.acv.client-secret=anySecret
59
+ spring.security.oauth2.client.provider.acv.issuer-uri=http://localhost:8080/acv
60
+ ```
61
+
62
+ - Expose the actuators on a different port, by updating your application.properties
63
+
64
+ ```properties
65
+ # With OIDC we have to expose actuators without any security to be called by spring boot admin
66
+ # so the are exposed on another port
67
+ management.server.port=${port.divers:8086}
68
+ # expose liveness/readiness probes on the same port as the application (/livez / readyz)
69
+ management.endpoint.health.probes.add-additional-paths=true
70
+ # send actuator access log to /dev/stdout
71
+ management.server.tomcat.accesslog.enabled=true
72
+ management.server.tomcat.accesslog.directory=/dev
73
+ management.server.tomcat.accesslog.prefix=stdout
74
+ management.server.tomcat.accesslog.suffix=
75
+ ```
76
+
77
+ ### TESTING
78
+
79
+ To be able to use @SpringBootTest, you have to :
80
+
81
+ - add the following dependency :
82
+
83
+ ```xml
84
+ <dependency>
85
+ <groupId>org.springframework.security</groupId>
86
+ <artifactId>spring-security-test</artifactId>
87
+ <scope>test</scope>
88
+ </dependency>
89
+ ```
90
+
91
+ - provide the token in your mock request, you can replace this helper :
92
+
93
+ ```java
94
+ static MockHttpServletRequestBuilder enrichWithAuthHeaders(MockHttpServletRequestBuilder builder) {
95
+ return builder.header("iam-userid", "sar8h6")
96
+ .header("iam-firstname", "Bruce")
97
+ .header("iam-lastname", "Wayne")
98
+ .header("iam-application", "app")
99
+ .header("iam-roles", "app-user");
100
+ }
101
+ ```
102
+
103
+ with methods from `ch.vd.cyber.backofficebe.utils.MVCTestUtils`:
104
+
105
+ - `enrichWithOidcTokenAsUser` : simulates that a request is done by an IAM user, with a valid OIDC token and the role "user"
106
+ - `enrichWithOidcTokenAsRole` : same as previous, but you can set another role than "user"
107
+ - `enrichWithAuthHeadersForEsgateAsUser` : simulates that a request is done by a techincal user through esgate and the role "user"
108
+ - `enrichWithAuthHeadersForEsgate` : same as previous, but you can set another role than "user"
109
+
110
+ ## RUNNING YOUR APP
111
+
112
+ - You can run a mock OIDC server with this command :
113
+
114
+ ```shell
115
+ podman login docker-registry.etat-de-vaud.ch
116
+ ```
117
+
118
+ ```shell
119
+ podman run -p 8080:8080 --rm docker-registry.etat-de-vaud.ch/tools/mock-oidc:latest
120
+ ```
121
+
122
+ - You can also run your app with the mock OIDC server on startup by adding the following line in your TomcatRunner.java
123
+
124
+ ```java
125
+ TomcatRunnerHelper.startIamAcvOIDCMockServer();
126
+ ```
127
+
128
+ ## Troubleshooting
129
+
130
+ ```shell
131
+ Error: writing blob: adding layer with blob "sha256:c0980b751eb29a6c18ccca8f03a091a556268d924d2021c32c94db254c54d304": processing tar file(lchown /home/java: value too large for defined data type): exit status 1
132
+ ```
133
+
134
+ If you have this error when running the mock OIDC server, you need to raise the UID/GID range.
135
+
136
+ - Edit `/etc/subuid` and `/etc/subgid` and change the range for your user (i.e. `youruser:10000:65536` to `youruser:1000000:1000000`)
137
+ - Execute `podman system migrate` to apply the changes
138
+ - Try to run the mock OIDC server again
package/MULTI_ETAPES.md CHANGED
@@ -37,7 +37,7 @@ public class EsproCreationController extends AbstractSdkController<EsproCreation
37
37
 
38
38
  ## Frontend
39
39
 
40
- - Routing update : duplicate main route in `app.routing.module.ts`
40
+ - Routing update : duplicate main route in `app.routes.ts`
41
41
 
42
42
  current:
43
43
 
package/README.md CHANGED
@@ -8,6 +8,7 @@ The generated documentation of our entire library is available online at [https:
8
8
 
9
9
  The documentation is available online at [https://dsi-vd.github.io/prestations-ng/](https://dsi-vd.github.io/prestations-ng/)
10
10
 
11
+ - If you're using **Angular 19**, use `@dsivd/prestations-ng` at version `^18`.
11
12
  - If you're using **Angular 17**, use `@dsivd/prestations-ng` at version `^17`.
12
13
  - If you're using **Angular 15**, use `@dsivd/prestations-ng` at version `^16`.
13
14
  - If you're using **Angular 13**, use `@dsivd/prestations-ng` at version `^15`.
@@ -20,6 +21,7 @@ The documentation is available online at [https://dsi-vd.github.io/prestations-n
20
21
 
21
22
  Migration guides are available to provide an upgrade path from one major version to another.
22
23
 
24
+ - If you need to upgrade to version `19+`, please refer to [the V19 upgrade guide](UPGRADING_V19.md).
23
25
  - If you need to upgrade to version `18+`, please refer to [the V18 upgrade guide](UPGRADING_V18.md).
24
26
  - If you need to upgrade to version `17+`, please refer to [the V17 upgrade guide](UPGRADING_V17.md).
25
27
  - If you need to upgrade to version `16+`, please refer to [the V16 upgrade guide](UPGRADING_V16.md).
@@ -51,9 +53,9 @@ For accessibility testing purpose, an [accessibility page](https://dsi-vd.github
51
53
 
52
54
  More information on how to use `@dsivd/prestations-ng` in a project are available there: [USAGE_IN_PROJECTS.md](USAGE_IN_PROJECTS.md)
53
55
 
54
- ## List of provided modules
56
+ ## List of provided components
55
57
 
56
- A list of modules provided by the library is available there: [MODULES.md](MODULES.md).
58
+ A list of standalone components provided by the library is available there: [COMPONENTS.md](COMPONENTS.md).
57
59
 
58
60
  ## Contributing
59
61
 
package/UPGRADING_V12.md CHANGED
@@ -55,24 +55,20 @@ The following components, attributes or methods have been removed.
55
55
  ### foehn-address component
56
56
 
57
57
  - Removed:
58
-
59
58
  - Component `foehn-address.component.ts` (selector: **foehn-address**)
60
59
  - Model `foehn-address.type.ts` (FoehnAddress)
61
60
 
62
61
  - Replaced by:
63
-
64
62
  - Component [foehn-display-address.component.ts](projects/prestations-ng/src/foehn-address/foehn-display-address.component.ts)
65
63
  - Model `address.type.ts` (Address)
66
64
 
67
65
  ### foehn-upload component
68
66
 
69
67
  - Removed:
70
-
71
68
  - Component `foehn-simple-upload.component.ts` (selector: **foehn-upload**)
72
69
  - Service `upload.service.ts` (UploadService)
73
70
 
74
71
  - Replaced by:
75
-
76
72
  - Component [foehn-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.ts)
77
73
  - Service [multi-upload.service.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/multi-upload.service.ts)
78
74
 
@@ -81,31 +77,25 @@ The following components, attributes or methods have been removed.
81
77
  ### appInfo() from application-info service
82
78
 
83
79
  - Removed:
84
-
85
80
  - getter `appInfo()` returning `ApplicationInfo` in [application-info.service.ts](projects/prestations-ng/src/sdk-appinfo/application-info.service.ts)
86
81
 
87
82
  - Replaced by:
88
-
89
83
  - getter `data()` returning an `Observable<ApplicationInfo>` in [application-info.service.ts](projects/prestations-ng/src/sdk-appinfo/application-info.service.ts)
90
84
 
91
85
  ### isProduction() from foehn-header component
92
86
 
93
87
  - Removed:
94
-
95
88
  - public function `isProduction()` returning a `boolean` because using deleted getter `appInfo`
96
89
 
97
90
  - Replaced by:
98
-
99
91
  - public variable `isProduction` returning an `Observable<boolean>` on which you can either `subscribe` or `pipe async` in your view
100
92
 
101
93
  ### getEnvironment() from foehn-header component
102
94
 
103
95
  - Removed:
104
-
105
96
  - public function `getEnvironment()` returning a `string` because using deleted getter `appInfo`
106
97
 
107
98
  - Replaced by:
108
-
109
99
  - No replacement
110
100
 
111
101
  ### getEnvironmentLabel() from foehn-header component
package/UPGRADING_V16.md CHANGED
@@ -698,7 +698,6 @@ see example in skeleton: https://dsigit.etat-de-vaud.ch/outils/git/projects/CYBS
698
698
  ### POM cleanup
699
699
 
700
700
  - remove the following dependencies that are already imported in ``
701
-
702
701
  - `org.mockito.mockito-core`
703
702
  - `org.mockito.mockito-junit-jupiter`
704
703