@dsivd/prestations-ng 15.5.13 → 16.0.0-beta1

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 (590) hide show
  1. package/CHANGELOG.md +666 -1
  2. package/CONTRIBUTING.md +32 -1
  3. package/ESLINT_MIGRATION_GUIDE.md +1 -1
  4. package/README.md +6 -0
  5. package/UPGRADING_V12.md +0 -15
  6. package/UPGRADING_V13.md +0 -15
  7. package/UPGRADING_V14.md +8 -26
  8. package/UPGRADING_V15.md +113 -0
  9. package/UPGRADING_V16.md +63 -0
  10. package/abstract-page-component.d.ts +8 -8
  11. package/directives/currency-formatter.directive.d.ts +4 -1
  12. package/directives/iban-formatter.directive.d.ts +1 -1
  13. package/directives/ide-formatter.directive.d.ts +1 -1
  14. package/directives/ndc-formatter.directive.d.ts +1 -1
  15. package/dsivd-prestations-ng-v16.0.0-beta1.tgz +0 -0
  16. package/esm2020/abstract-page-component.mjs +223 -0
  17. package/esm2020/directives/currency-formatter.directive.mjs +143 -0
  18. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +8 -8
  19. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +4 -4
  20. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +4 -4
  21. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +4 -4
  22. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  23. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +1 -1
  24. package/esm2020/foehn-address/foehn-address.module.mjs +55 -0
  25. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  26. package/esm2020/foehn-address/foehn-input-address.component.mjs +406 -0
  27. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  28. package/esm2020/foehn-address/foehn-input-foreign-street.component.mjs +55 -0
  29. package/esm2020/foehn-agenda/calendar.type.mjs +3 -0
  30. package/esm2020/foehn-agenda/current-week.type.mjs +4 -0
  31. package/esm2020/foehn-agenda/day-slots.type.mjs +3 -0
  32. package/esm2020/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +74 -0
  33. package/esm2020/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +242 -0
  34. package/esm2020/foehn-agenda/foehn-agenda.component.mjs +95 -0
  35. package/esm2020/foehn-agenda/foehn-agenda.module.mjs +62 -0
  36. package/esm2020/foehn-agenda/pagination-week.type.mjs +3 -0
  37. package/esm2020/foehn-agenda/selected-slot.type.mjs +3 -0
  38. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +608 -0
  39. package/esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs +40 -0
  40. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  41. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +40 -0
  42. package/esm2020/foehn-boolean/foehn-boolean.module.mjs +33 -0
  43. package/esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs +181 -0
  44. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  45. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs +80 -0
  46. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs +19 -0
  47. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +298 -0
  48. package/esm2020/foehn-checkables/foehn-checkables.module.mjs +68 -0
  49. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +37 -0
  50. package/esm2020/foehn-checkables/foehn-radio.component.mjs +64 -0
  51. package/esm2020/foehn-checkables/foehn-select.component.mjs +53 -0
  52. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  53. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  54. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +1 -1
  55. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +40 -0
  56. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs +19 -0
  57. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +4 -4
  58. package/esm2020/foehn-date-picker/date-picker-navigation.helper.mjs +167 -0
  59. package/esm2020/foehn-date-picker/date-picker.helper.mjs +132 -0
  60. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  61. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  62. package/esm2020/foehn-date-picker/foehn-date-picker.component.mjs +387 -0
  63. package/esm2020/foehn-date-picker/foehn-date-picker.module.mjs +40 -0
  64. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  65. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +97 -0
  66. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs +36 -0
  67. package/esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs +67 -0
  68. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +7 -7
  69. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +37 -0
  70. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs +32 -0
  71. package/esm2020/foehn-footer/foehn-footer.component.mjs +130 -0
  72. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +6 -6
  73. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  74. package/esm2020/foehn-form/foehn-form.component.mjs +135 -0
  75. package/esm2020/foehn-form/foehn-form.module.mjs +32 -0
  76. package/esm2020/foehn-form/register-ng-model.service.mjs +23 -0
  77. package/esm2020/foehn-growl/foehn-growl.component.mjs +44 -0
  78. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +6 -6
  79. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +5 -5
  80. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +1 -1
  81. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  82. package/esm2020/foehn-header/foehn-header.component.mjs +68 -0
  83. package/esm2020/foehn-header/foehn-header.module.mjs +21 -0
  84. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  85. package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +44 -0
  86. package/esm2020/foehn-help-modal/foehn-help-modal.module.mjs +20 -0
  87. package/esm2020/foehn-help-modal/foehn-help-modal.type.mjs +2 -0
  88. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +5 -5
  89. package/esm2020/foehn-icons/foehn-icon-calendar.component.mjs +19 -0
  90. package/esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs +19 -0
  91. package/esm2020/foehn-icons/foehn-icon-check.component.mjs +19 -0
  92. package/esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs +19 -0
  93. package/esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs +19 -0
  94. package/esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs +19 -0
  95. package/esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs +19 -0
  96. package/esm2020/foehn-icons/foehn-icon-clock.component.mjs +19 -0
  97. package/esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs +19 -0
  98. package/esm2020/foehn-icons/foehn-icon-edit.component.mjs +19 -0
  99. package/esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs +19 -0
  100. package/esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs +19 -0
  101. package/esm2020/foehn-icons/foehn-icon-info-circle.component.mjs +19 -0
  102. package/esm2020/foehn-icons/foehn-icon-lock.component.mjs +19 -0
  103. package/esm2020/foehn-icons/foehn-icon-map-marker.component.mjs +19 -0
  104. package/esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs +19 -0
  105. package/esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs +19 -0
  106. package/esm2020/foehn-icons/foehn-icon-plus-square.component.mjs +19 -0
  107. package/esm2020/foehn-icons/foehn-icon-search.component.mjs +19 -0
  108. package/esm2020/foehn-icons/foehn-icon-times.component.mjs +19 -0
  109. package/esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs +19 -0
  110. package/esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs +19 -0
  111. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +20 -20
  112. package/esm2020/foehn-input/foehn-input-email.component.mjs +59 -0
  113. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +55 -0
  114. package/esm2020/foehn-input/foehn-input-number.component.mjs +276 -0
  115. package/esm2020/foehn-input/foehn-input-password.component.mjs +52 -0
  116. package/esm2020/foehn-input/foehn-input-phone.component.mjs +92 -0
  117. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +5 -5
  118. package/esm2020/foehn-input/foehn-input-text.component.mjs +76 -0
  119. package/esm2020/foehn-input/foehn-input-textarea.component.mjs +109 -0
  120. package/esm2020/foehn-input/foehn-input.component.mjs +390 -0
  121. package/esm2020/foehn-input/foehn-input.module.mjs +93 -0
  122. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  123. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +118 -0
  124. package/esm2020/foehn-input-date-time/foehn-input-date-time.component.mjs +143 -0
  125. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +74 -0
  126. package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
  127. package/esm2020/foehn-list/foehn-list.module.mjs +19 -0
  128. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  129. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  130. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +4 -4
  131. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +4 -4
  132. package/esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +23 -0
  133. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  134. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  135. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  136. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  137. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +51 -0
  138. package/esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs +59 -0
  139. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  140. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +5 -5
  141. package/esm2020/foehn-modal/foehn-modal.component.mjs +94 -0
  142. package/esm2020/foehn-modal/foehn-modal.module.mjs +21 -0
  143. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +268 -0
  144. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +40 -0
  145. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +114 -0
  146. package/esm2020/foehn-nav13/foehn-input-nav13.module.mjs +32 -0
  147. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  148. package/esm2020/foehn-navigation/foehn-navigation.module.mjs +32 -0
  149. package/esm2020/foehn-navigation/foehn-navigation.service.mjs +303 -0
  150. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +7 -10
  151. package/esm2020/foehn-notfound/foehn-notfound.module.mjs +20 -0
  152. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  153. package/esm2020/foehn-page/foehn-page-modal.component.mjs +53 -0
  154. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +4 -4
  155. package/esm2020/foehn-page/foehn-page.component.mjs +218 -0
  156. package/esm2020/foehn-page/foehn-page.module.mjs +78 -0
  157. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
  158. package/esm2020/foehn-recap-section/foehn-recap-section.component.mjs +88 -0
  159. package/esm2020/foehn-recap-section/foehn-recap-section.module.mjs +20 -0
  160. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  161. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  162. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +6 -6
  163. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +56 -0
  164. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +20 -0
  165. package/esm2020/foehn-table/foehn-table-column-configuration.mjs +3 -0
  166. package/esm2020/foehn-table/foehn-table-page-change-event.mjs +3 -0
  167. package/esm2020/foehn-table/foehn-table.component.mjs +148 -0
  168. package/esm2020/foehn-table/foehn-table.module.mjs +32 -0
  169. package/esm2020/foehn-table/tableSort.mjs +3 -0
  170. package/esm2020/foehn-upload/abstract-foehn-uploader.component.mjs +192 -0
  171. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  172. package/esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +71 -0
  173. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  174. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +174 -0
  175. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +40 -0
  176. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +224 -0
  177. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +40 -0
  178. package/esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +83 -0
  179. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  180. package/esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +158 -0
  181. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +202 -0
  182. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +44 -0
  183. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +75 -0
  184. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +21 -0
  185. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +62 -0
  186. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +3 -0
  187. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +1 -1
  188. package/esm2020/foehn-upload/uploader.helper.mjs +327 -0
  189. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  190. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +6 -6
  191. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +96 -0
  192. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +19 -0
  193. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
  194. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +6 -6
  195. package/esm2020/form-error.mjs +2 -0
  196. package/esm2020/form-post-response.mjs +10 -0
  197. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +4 -4
  198. package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
  199. package/esm2020/gesdem/gesdem-handler.service.mjs +160 -0
  200. package/esm2020/gesdem/gesdem-loader.guard.mjs +41 -0
  201. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  202. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +101 -0
  203. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +130 -0
  204. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs +50 -0
  205. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
  206. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  207. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +201 -0
  208. package/esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs +32 -0
  209. package/esm2020/gesdem-error/gesdem-error.component.mjs +87 -0
  210. package/esm2020/gesdem-error/gesdem-error.module.mjs +36 -0
  211. package/esm2020/global.const.mjs +5 -0
  212. package/esm2020/helpers/object.helper.mjs +89 -0
  213. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  214. package/esm2020/index.mjs +263 -0
  215. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +4 -4
  216. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +4 -4
  217. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  218. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +7 -7
  219. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +7 -7
  220. package/esm2020/refinf/model/address-type-light.mjs +3 -0
  221. package/esm2020/refinf/model/canton.mjs +3 -0
  222. package/esm2020/refinf/model/district.mjs +3 -0
  223. package/esm2020/refinf/model/municipality.mjs +3 -0
  224. package/esm2020/refinf/model/place-of-origin.mjs +3 -0
  225. package/esm2020/refinf/model/postal-locality.mjs +3 -0
  226. package/esm2020/sdk-appinfo/application-info.mjs +14 -0
  227. package/esm2020/sdk-appinfo/application-info.service.mjs +104 -0
  228. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  229. package/esm2020/sdk-date/date.helper.mjs +100 -0
  230. package/esm2020/sdk-dictionary/default-dictionary.mjs +166 -0
  231. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +5 -5
  232. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +6 -6
  233. package/esm2020/sdk-dictionary/sdk-dictionary.service.mjs +111 -0
  234. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  235. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +81 -0
  236. package/esm2020/sdk-epayment/sdk-epayment.module.mjs +21 -0
  237. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +52 -0
  238. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +6 -10
  239. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
  240. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +69 -0
  241. package/esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs +19 -0
  242. package/esm2020/sdk-redirect/iam-expired-interceptor.service.mjs +58 -0
  243. package/esm2020/sdk-redirect/redirect.component.mjs +35 -0
  244. package/esm2020/sdk-redirect/sdk-redirect.module.mjs +19 -0
  245. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
  246. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +5 -5
  247. package/esm2020/sdk-session-info/session-info.service.mjs +50 -0
  248. package/esm2020/sdk-statistics/sdk-statistics.service.mjs +70 -0
  249. package/esm2020/sdk-support-alert/support-alert-container.component.mjs +49 -0
  250. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  251. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  252. package/esm2020/sdk-support-alert/support-alert.module.mjs +21 -0
  253. package/esm2020/sdk-support-alert/support-alert.service.mjs +117 -0
  254. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  255. package/esm2020/supported-browser.mjs +2 -0
  256. package/esm2020/validation/validation-handler.service.mjs +44 -0
  257. package/fesm2015/dsivd-prestations-ng.mjs +13397 -0
  258. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  259. package/fesm2020/dsivd-prestations-ng.mjs +13372 -0
  260. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  261. package/foehn-address/address.type.d.ts +3 -3
  262. package/foehn-address/foehn-display-address.component.d.ts +1 -1
  263. package/foehn-address/foehn-input-address.component.d.ts +18 -8
  264. package/foehn-address/foehn-input-foreign-locality.component.d.ts +1 -1
  265. package/foehn-address/foehn-input-foreign-street.component.d.ts +1 -1
  266. package/foehn-agenda/calendar.type.d.ts +9 -0
  267. package/foehn-agenda/current-week.type.d.ts +5 -0
  268. package/foehn-agenda/day-slots.type.d.ts +5 -0
  269. package/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.d.ts +21 -0
  270. package/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.d.ts +51 -0
  271. package/foehn-agenda/foehn-agenda.component.d.ts +29 -0
  272. package/foehn-agenda/foehn-agenda.module.d.ts +17 -0
  273. package/foehn-agenda/pagination-week.type.d.ts +5 -0
  274. package/foehn-agenda/selected-slot.type.d.ts +7 -0
  275. package/foehn-autocomplete/foehn-autocomplete.component.d.ts +22 -6
  276. package/foehn-boolean/foehn-boolean-checkbox.component.d.ts +1 -1
  277. package/foehn-boolean/foehn-boolean-radio.component.d.ts +2 -1
  278. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  279. package/foehn-breadcrumb/foehn-breadcrumb.component.d.ts +6 -5
  280. package/foehn-checkables/foehn-checkable-group.component.d.ts +8 -8
  281. package/foehn-checkables/foehn-checkables.module.d.ts +3 -1
  282. package/foehn-checkables/foehn-checkbox.component.d.ts +1 -1
  283. package/foehn-checkables/foehn-radio.component.d.ts +1 -1
  284. package/foehn-checkables/foehn-select.component.d.ts +2 -10
  285. package/foehn-confirm-modal/foehn-confirm-modal-content.d.ts +1 -0
  286. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +2 -2
  287. package/foehn-date-picker/date-picker-navigation.helper.d.ts +7 -1
  288. package/foehn-date-picker/date-picker.helper.d.ts +3 -2
  289. package/foehn-date-picker/foehn-date-picker.component.d.ts +21 -10
  290. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +13 -5
  291. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +7 -5
  292. package/foehn-decision-electronique/foehn-decision-electronique.component.d.ts +2 -2
  293. package/foehn-decision-electronique/foehn-decision-electronique.module.d.ts +2 -1
  294. package/foehn-footer/foehn-footer.component.d.ts +4 -4
  295. package/foehn-form/foehn-form.component.d.ts +7 -4
  296. package/foehn-form/register-ng-model.service.d.ts +9 -0
  297. package/foehn-growl/foehn-growl.component.d.ts +3 -3
  298. package/foehn-growl/growl-broker.service.d.ts +1 -1
  299. package/foehn-header/foehn-header.component.d.ts +7 -7
  300. package/foehn-header/foehn-skip-link.component.d.ts +2 -2
  301. package/foehn-help-modal/foehn-help-modal.component.d.ts +1 -1
  302. package/foehn-help-modal/foehn-help-modal.type.d.ts +4 -0
  303. package/foehn-icons/abstract-icon-component.d.ts +1 -1
  304. package/foehn-icons/foehn-icon-calendar.component.d.ts +1 -1
  305. package/foehn-icons/foehn-icon-check-square-o.component.d.ts +1 -1
  306. package/foehn-icons/foehn-icon-check.component.d.ts +1 -1
  307. package/foehn-icons/foehn-icon-chevron-down.component.d.ts +1 -1
  308. package/foehn-icons/foehn-icon-chevron-left.component.d.ts +1 -1
  309. package/foehn-icons/foehn-icon-chevron-right.component.d.ts +1 -1
  310. package/foehn-icons/foehn-icon-chevron-up.component.d.ts +1 -1
  311. package/foehn-icons/foehn-icon-clock.component.d.ts +1 -1
  312. package/foehn-icons/foehn-icon-comment-dots.component.d.ts +1 -1
  313. package/foehn-icons/foehn-icon-edit.component.d.ts +1 -1
  314. package/foehn-icons/foehn-icon-external-link-alt.component.d.ts +1 -1
  315. package/foehn-icons/foehn-icon-file-pdf.component.d.ts +1 -1
  316. package/foehn-icons/foehn-icon-info-circle.component.d.ts +1 -1
  317. package/foehn-icons/foehn-icon-lock.component.d.ts +1 -1
  318. package/foehn-icons/foehn-icon-map-marker.component.d.ts +1 -1
  319. package/foehn-icons/foehn-icon-minus-circle.component.d.ts +1 -1
  320. package/foehn-icons/foehn-icon-plus-circle.component.d.ts +1 -1
  321. package/foehn-icons/foehn-icon-plus-square.component.d.ts +1 -1
  322. package/foehn-icons/foehn-icon-search.component.d.ts +1 -1
  323. package/foehn-icons/foehn-icon-times.component.d.ts +1 -1
  324. package/foehn-icons/foehn-icon-trash-alt.component.d.ts +1 -1
  325. package/foehn-icons/foehn-icon-unlock-alt.component.d.ts +1 -1
  326. package/foehn-input/foehn-input-email.component.d.ts +4 -2
  327. package/foehn-input/foehn-input-hidden.component.d.ts +1 -1
  328. package/foehn-input/foehn-input-number.component.d.ts +16 -6
  329. package/foehn-input/foehn-input-password.component.d.ts +1 -1
  330. package/foehn-input/foehn-input-phone.component.d.ts +1 -1
  331. package/foehn-input/foehn-input-string.component.d.ts +1 -1
  332. package/foehn-input/foehn-input-text.component.d.ts +1 -1
  333. package/foehn-input/foehn-input-textarea.component.d.ts +5 -2
  334. package/foehn-input/foehn-input.component.d.ts +25 -9
  335. package/foehn-input/foehn-input.module.d.ts +9 -6
  336. package/foehn-input-date/foehn-input-date.component.d.ts +10 -3
  337. package/foehn-input-date-time/foehn-input-date-time.component.d.ts +29 -0
  338. package/foehn-input-time/foehn-input-time.component.d.ts +1 -1
  339. package/foehn-list/foehn-list.component.d.ts +2 -3
  340. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +5 -5
  341. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
  342. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
  343. package/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.d.ts +1 -1
  344. package/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.d.ts +3 -3
  345. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.d.ts +1 -1
  346. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.d.ts +2 -2
  347. package/foehn-misc/foehn-abbr.component.d.ts +1 -1
  348. package/foehn-modal/foehn-modal.component.d.ts +2 -3
  349. package/foehn-modal/foehn-modal.module.d.ts +3 -1
  350. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +51 -0
  351. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.d.ts +13 -0
  352. package/foehn-nav13/foehn-input-nav13.component.d.ts +2 -1
  353. package/foehn-navigation/foehn-navigation.component.d.ts +2 -2
  354. package/foehn-navigation/foehn-navigation.service.d.ts +4 -3
  355. package/foehn-notfound/foehn-notfound.component.d.ts +1 -1
  356. package/foehn-page/foehn-page-counter.component.d.ts +1 -1
  357. package/foehn-page/foehn-page-modal.component.d.ts +1 -1
  358. package/foehn-page/foehn-page-modal.service.d.ts +1 -1
  359. package/foehn-page/foehn-page.component.d.ts +15 -12
  360. package/foehn-page/foehn-page.module.d.ts +2 -1
  361. package/foehn-page/foehn-page.service.d.ts +2 -2
  362. package/foehn-recap-section/foehn-recap-section.component.d.ts +3 -1
  363. package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.d.ts +1 -1
  364. package/foehn-status-progress-bar/foehn-status-progress-bar.component.d.ts +23 -0
  365. package/foehn-status-progress-bar/foehn-status-progress-bar.module.d.ts +10 -0
  366. package/foehn-table/foehn-table-column-configuration.d.ts +18 -0
  367. package/foehn-table/foehn-table-page-change-event.d.ts +5 -0
  368. package/foehn-table/foehn-table.component.d.ts +33 -0
  369. package/foehn-table/foehn-table.module.d.ts +11 -0
  370. package/foehn-table/tableSort.d.ts +4 -0
  371. package/foehn-upload/abstract-foehn-uploader.component.d.ts +7 -7
  372. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +6 -4
  373. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +6 -5
  374. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.d.ts +2 -1
  375. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +9 -8
  376. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.d.ts +2 -1
  377. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +6 -4
  378. package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +3 -3
  379. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +7 -4
  380. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +2 -1
  381. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.d.ts +19 -0
  382. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.d.ts +11 -0
  383. package/foehn-upload/foehn-upload-progress-bar/upload-progress.service.d.ts +19 -0
  384. package/foehn-upload/foehn-upload-progress-bar/upload-progress.type.d.ts +4 -0
  385. package/foehn-upload/pending-upload.type.d.ts +1 -0
  386. package/foehn-upload/uploader.helper.d.ts +13 -13
  387. package/foehn-user-connected-as/foehn-user-connected-as.component.d.ts +2 -2
  388. package/foehn-validation-alert-summary/foehn-validation-alert-summary.component.d.ts +2 -2
  389. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +4 -4
  390. package/{error-template.d.ts → form-error.d.ts} +1 -1
  391. package/form-post-response.d.ts +17 -0
  392. package/gesdem/gesdem-error-handler.service.d.ts +2 -2
  393. package/gesdem/gesdem-event.service.d.ts +7 -7
  394. package/gesdem/gesdem-handler.service.d.ts +8 -6
  395. package/gesdem/gesdem-loader.guard.d.ts +1 -1
  396. package/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.d.ts +5 -5
  397. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +7 -7
  398. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +3 -3
  399. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +10 -9
  400. package/gesdem-error/gesdem-error.component.d.ts +10 -3
  401. package/gesdem-error/gesdem-error.module.d.ts +2 -1
  402. package/global.const.d.ts +1 -0
  403. package/index.d.ts +102 -70
  404. package/package.json +34 -21
  405. package/pipes/currency.pipe.d.ts +1 -1
  406. package/pipes/date.pipe.d.ts +1 -1
  407. package/pipes/formatIde.pipe.d.ts +1 -1
  408. package/refinf/model/address-type-light.d.ts +5 -0
  409. package/refinf/model/canton.d.ts +4 -0
  410. package/refinf/model/district.d.ts +7 -0
  411. package/refinf/model/municipality.d.ts +8 -0
  412. package/refinf/model/place-of-origin.d.ts +9 -0
  413. package/refinf/model/postal-locality.d.ts +11 -0
  414. package/schematics/ng-add/index.js +10 -10
  415. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  416. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  417. package/schematics/ng-update/migrations/update-13_5_1/index.js +3 -3
  418. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  419. package/schematics/update-karma-config/index.js +2 -2
  420. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  421. package/sdk-appinfo/application-info.d.ts +1 -0
  422. package/sdk-appinfo/application-info.service.d.ts +4 -4
  423. package/sdk-dictionary/sdk-dictionary.pipe.d.ts +1 -1
  424. package/sdk-dictionary/sdk-dictionary.service.d.ts +9 -0
  425. package/sdk-epayment/sdk-epayment.component.d.ts +6 -16
  426. package/sdk-epayment/sdk-epayment.service.d.ts +3 -6
  427. package/sdk-recaptcha/grecaptcha/grecaptcha.component.d.ts +2 -2
  428. package/sdk-recaptcha/recaptcha.service.d.ts +5 -5
  429. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +4 -4
  430. package/sdk-redirect/iam-expired-interceptor.service.d.ts +3 -3
  431. package/sdk-redirect/redirect.component.d.ts +3 -9
  432. package/sdk-session-info/session-info-data.d.ts +0 -1
  433. package/sdk-session-info/session-info.service.d.ts +4 -4
  434. package/sdk-statistics/sdk-statistics.service.d.ts +22 -0
  435. package/sdk-support-alert/support-alert-container.component.d.ts +3 -3
  436. package/sdk-support-alert/support-alert.component.d.ts +1 -1
  437. package/sdk-support-alert/support-alert.service.d.ts +5 -4
  438. package/validation/validation-handler.service.d.ts +4 -4
  439. package/backend-response.d.ts +0 -18
  440. package/bundles/dsivd-prestations-ng.umd.js +0 -13188
  441. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  442. package/dsivd-prestations-ng-v15.5.13.tgz +0 -0
  443. package/dsivd-prestations-ng.d.ts +0 -5
  444. package/esm2015/abstract-page-component.js +0 -224
  445. package/esm2015/backend-response.js +0 -10
  446. package/esm2015/directives/currency-formatter.directive.js +0 -116
  447. package/esm2015/error-template.js +0 -2
  448. package/esm2015/foehn-address/foehn-address.module.js +0 -57
  449. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  450. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  451. package/esm2015/foehn-address/foehn-input-foreign-street.component.js +0 -60
  452. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  453. package/esm2015/foehn-autocomplete/foehn-autocomplete.module.js +0 -42
  454. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  455. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  456. package/esm2015/foehn-boolean/foehn-boolean.module.js +0 -35
  457. package/esm2015/foehn-breadcrumb/breadcrumb-event.service.js +0 -182
  458. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js +0 -85
  459. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js +0 -19
  460. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  461. package/esm2015/foehn-checkables/foehn-checkables.module.js +0 -62
  462. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  463. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  464. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  465. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  466. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js +0 -19
  467. package/esm2015/foehn-date-picker/date-picker-navigation.helper.js +0 -117
  468. package/esm2015/foehn-date-picker/date-picker.helper.js +0 -126
  469. package/esm2015/foehn-date-picker/foehn-date-picker.component.js +0 -300
  470. package/esm2015/foehn-date-picker/foehn-date-picker.module.js +0 -42
  471. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  472. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js +0 -38
  473. package/esm2015/foehn-debug-summary/foehn-debug-summary.component.js +0 -61
  474. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  475. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js +0 -20
  476. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  477. package/esm2015/foehn-form/foehn-form.component.js +0 -146
  478. package/esm2015/foehn-form/foehn-form.module.js +0 -20
  479. package/esm2015/foehn-growl/foehn-growl.component.js +0 -47
  480. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  481. package/esm2015/foehn-header/foehn-header.module.js +0 -21
  482. package/esm2015/foehn-help-modal/foehn-help-modal.component.js +0 -48
  483. package/esm2015/foehn-help-modal/foehn-help-modal.module.js +0 -20
  484. package/esm2015/foehn-help-modal/foehn-help-modal.type.js +0 -2
  485. package/esm2015/foehn-icons/foehn-icon-calendar.component.js +0 -22
  486. package/esm2015/foehn-icons/foehn-icon-check-square-o.component.js +0 -22
  487. package/esm2015/foehn-icons/foehn-icon-check.component.js +0 -22
  488. package/esm2015/foehn-icons/foehn-icon-chevron-down.component.js +0 -22
  489. package/esm2015/foehn-icons/foehn-icon-chevron-left.component.js +0 -22
  490. package/esm2015/foehn-icons/foehn-icon-chevron-right.component.js +0 -22
  491. package/esm2015/foehn-icons/foehn-icon-chevron-up.component.js +0 -22
  492. package/esm2015/foehn-icons/foehn-icon-clock.component.js +0 -22
  493. package/esm2015/foehn-icons/foehn-icon-comment-dots.component.js +0 -22
  494. package/esm2015/foehn-icons/foehn-icon-edit.component.js +0 -22
  495. package/esm2015/foehn-icons/foehn-icon-external-link-alt.component.js +0 -22
  496. package/esm2015/foehn-icons/foehn-icon-file-pdf.component.js +0 -22
  497. package/esm2015/foehn-icons/foehn-icon-info-circle.component.js +0 -22
  498. package/esm2015/foehn-icons/foehn-icon-lock.component.js +0 -22
  499. package/esm2015/foehn-icons/foehn-icon-map-marker.component.js +0 -22
  500. package/esm2015/foehn-icons/foehn-icon-minus-circle.component.js +0 -22
  501. package/esm2015/foehn-icons/foehn-icon-plus-circle.component.js +0 -22
  502. package/esm2015/foehn-icons/foehn-icon-plus-square.component.js +0 -22
  503. package/esm2015/foehn-icons/foehn-icon-search.component.js +0 -22
  504. package/esm2015/foehn-icons/foehn-icon-times.component.js +0 -22
  505. package/esm2015/foehn-icons/foehn-icon-trash-alt.component.js +0 -22
  506. package/esm2015/foehn-icons/foehn-icon-unlock-alt.component.js +0 -22
  507. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  508. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  509. package/esm2015/foehn-input/foehn-input-number.component.js +0 -190
  510. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  511. package/esm2015/foehn-input/foehn-input-phone.component.js +0 -96
  512. package/esm2015/foehn-input/foehn-input-text.component.js +0 -80
  513. package/esm2015/foehn-input/foehn-input-textarea.component.js +0 -104
  514. package/esm2015/foehn-input/foehn-input.component.js +0 -364
  515. package/esm2015/foehn-input/foehn-input.module.js +0 -82
  516. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  517. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  518. package/esm2015/foehn-list/foehn-list.component.js +0 -135
  519. package/esm2015/foehn-list/foehn-list.module.js +0 -19
  520. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  521. package/esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js +0 -26
  522. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  523. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  524. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js +0 -54
  525. package/esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js +0 -61
  526. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  527. package/esm2015/foehn-modal/foehn-modal.module.js +0 -19
  528. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  529. package/esm2015/foehn-nav13/foehn-input-nav13.module.js +0 -34
  530. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  531. package/esm2015/foehn-navigation/foehn-navigation.module.js +0 -34
  532. package/esm2015/foehn-navigation/foehn-navigation.service.js +0 -297
  533. package/esm2015/foehn-notfound/foehn-notfound.module.js +0 -20
  534. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  535. package/esm2015/foehn-page/foehn-page.component.js +0 -214
  536. package/esm2015/foehn-page/foehn-page.module.js +0 -76
  537. package/esm2015/foehn-recap-section/foehn-recap-section.component.js +0 -88
  538. package/esm2015/foehn-recap-section/foehn-recap-section.module.js +0 -20
  539. package/esm2015/foehn-upload/abstract-foehn-uploader.component.js +0 -192
  540. package/esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js +0 -62
  541. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -168
  542. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js +0 -38
  543. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -217
  544. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js +0 -38
  545. package/esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js +0 -76
  546. package/esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js +0 -157
  547. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -164
  548. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js +0 -42
  549. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  550. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js +0 -88
  551. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js +0 -19
  552. package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
  553. package/esm2015/gesdem/gesdem-event.service.js +0 -38
  554. package/esm2015/gesdem/gesdem-handler.service.js +0 -151
  555. package/esm2015/gesdem/gesdem-loader.guard.js +0 -40
  556. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js +0 -103
  557. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  558. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js +0 -52
  559. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
  560. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  561. package/esm2015/gesdem-confirmation/gesdem-confirmation.module.js +0 -34
  562. package/esm2015/gesdem-error/gesdem-error.component.js +0 -70
  563. package/esm2015/gesdem-error/gesdem-error.module.js +0 -34
  564. package/esm2015/helpers/object.helper.js +0 -88
  565. package/esm2015/index.js +0 -224
  566. package/esm2015/sdk-appinfo/application-info.js +0 -14
  567. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  568. package/esm2015/sdk-date/date.helper.js +0 -90
  569. package/esm2015/sdk-dictionary/default-dictionary.js +0 -80
  570. package/esm2015/sdk-dictionary/sdk-dictionary.service.js +0 -96
  571. package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
  572. package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
  573. package/esm2015/sdk-epayment/sdk-epayment.module.js +0 -21
  574. package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
  575. package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
  576. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  577. package/esm2015/sdk-recaptcha/sdk-recaptcha.module.js +0 -19
  578. package/esm2015/sdk-redirect/iam-expired-interceptor.service.js +0 -48
  579. package/esm2015/sdk-redirect/redirect.component.js +0 -47
  580. package/esm2015/sdk-redirect/sdk-redirect.module.js +0 -19
  581. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  582. package/esm2015/sdk-support-alert/support-alert-container.component.js +0 -53
  583. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  584. package/esm2015/sdk-support-alert/support-alert.module.js +0 -21
  585. package/esm2015/sdk-support-alert/support-alert.service.js +0 -113
  586. package/esm2015/supported-browser.js +0 -2
  587. package/esm2015/validation/validation-handler.service.js +0 -44
  588. package/fesm2015/dsivd-prestations-ng.js +0 -11618
  589. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
  590. package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
@@ -1,190 +0,0 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { CLEAN_DECIMAL_NUMBERS_PATTERN, CLEAN_NEGATIVE_AND_DECIMAL_NUMBERS_PATTERN, CLEAN_NEGATIVE_NUMBERS_PATTERN, CLEAN_NUMBERS_PATTERN, DECIMAL_NUMBERS_PATTERN, HTML_DECIMAL_PATTERN, HTML_NO_DECIMAL_PATTERN, NEGATIVE_AND_DECIMAL_NUMBERS_PATTERN, NEGATIVE_NUMBERS_PATTERN, NUMBERS_PATTERN } from './pattern.const';
3
- import { FoehnInputStringComponent } from './foehn-input-string.component';
4
- import { FoehnInputComponent } from './foehn-input.component';
5
- import { DECIMALS_SEPARATOR } from '../sdk-currency/currency.helper';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../foehn-validation-alerts/foehn-validation-alerts.component";
8
- import * as i2 from "../foehn-icons/foehn-icon-times.component";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
12
- export class FoehnInputNumberComponent extends FoehnInputStringComponent {
13
- constructor() {
14
- super(...arguments);
15
- this.maxDecimalCount = 2;
16
- }
17
- set model(value) {
18
- // This doesn't trigger the component's version of updateNgModel strait away as this might
19
- // be called before allowDecimal or allowNegative are properly set (before the init lifecycle
20
- // of the component). This is critical to not re-format the input before the OnInit, otherwise
21
- // we might end up with invalid value displayed to the user. this.updateNgModel is called implicitly
22
- // as super.updateNgModel will emit a change on this.modelChange.
23
- // FIXME this is a hack and should be refactored.
24
- super.updateNgModel(value);
25
- }
26
- get model() {
27
- // If the setter is overridden, it's critical to override the getter too.
28
- return this.model_;
29
- }
30
- ngOnInit() {
31
- super.ngOnInit();
32
- this.type = 'text';
33
- // Pattern used only for numpad trigger on mobile phones
34
- this.pattern = this.allowDecimal
35
- ? HTML_DECIMAL_PATTERN
36
- : HTML_NO_DECIMAL_PATTERN;
37
- }
38
- updateNgModel(value) {
39
- if (this.isEmpty(value)) {
40
- this.setToEmpty(value);
41
- return;
42
- }
43
- let cleanNumber = this.getCleanNumber(value.toString());
44
- const isModelValid = this.isModelValid(cleanNumber);
45
- if (!isModelValid) {
46
- cleanNumber = this.model;
47
- }
48
- super.updateNgModel(cleanNumber);
49
- // Need to update HTML input value because we let user input what he wants and then we clean model
50
- this.updateInputElementValue(cleanNumber);
51
- }
52
- /**
53
- * To be used for post-formatting by directives.
54
- *
55
- * @param value of model
56
- */
57
- forceUpdateNgModel(value) {
58
- this.model_ = value;
59
- this.updateInputElementValue(value);
60
- }
61
- isValueInRange(value) {
62
- if (this.allowNegative && value === '-') {
63
- return true;
64
- }
65
- const valueAsNumber = this.toNumber(value);
66
- if (!this.isEmpty(this.min) || !this.isEmpty(this.max)) {
67
- if (isNaN(valueAsNumber)) {
68
- return false;
69
- }
70
- if (!this.isEmpty(this.min) && !this.isEmpty(this.max)) {
71
- return valueAsNumber >= this.min && valueAsNumber <= this.max;
72
- }
73
- if (!this.isEmpty(this.min)) {
74
- return valueAsNumber >= this.min;
75
- }
76
- if (!this.isEmpty(this.max)) {
77
- return valueAsNumber <= this.max;
78
- }
79
- }
80
- return true;
81
- }
82
- toNumber(value) {
83
- return this.allowDecimal ? parseFloat(value) : parseInt(value, 10);
84
- }
85
- isStringAValidNumber(value) {
86
- return this.getValidationRegex().test(value);
87
- }
88
- isModelValid(value) {
89
- return this.isStringAValidNumber(value) && this.isValueInRange(value);
90
- }
91
- getValidationRegex(isForClean = false) {
92
- if (this.allowDecimal || this.allowNegative) {
93
- // Allow decimal and negative
94
- if (this.allowDecimal && this.allowNegative) {
95
- return !isForClean
96
- ? NEGATIVE_AND_DECIMAL_NUMBERS_PATTERN
97
- : CLEAN_NEGATIVE_AND_DECIMAL_NUMBERS_PATTERN;
98
- }
99
- // Allow decimal
100
- if (this.allowDecimal) {
101
- return !isForClean
102
- ? DECIMAL_NUMBERS_PATTERN
103
- : CLEAN_DECIMAL_NUMBERS_PATTERN;
104
- }
105
- // Allow negative
106
- return !isForClean
107
- ? NEGATIVE_NUMBERS_PATTERN
108
- : CLEAN_NEGATIVE_NUMBERS_PATTERN;
109
- }
110
- return !isForClean ? NUMBERS_PATTERN : CLEAN_NUMBERS_PATTERN;
111
- }
112
- replaceCommaWithDot(value) {
113
- return value && typeof value === 'string'
114
- ? value.replace(new RegExp(',', 'g'), DECIMALS_SEPARATOR)
115
- : value;
116
- }
117
- removeNonNumericCharacters(value) {
118
- return value && typeof value === 'string'
119
- ? value.replace(this.getValidationRegex(true), '')
120
- : value;
121
- }
122
- cleanDecimals(value, separator = DECIMALS_SEPARATOR) {
123
- if (!value || !this.allowDecimal || !value.includes(separator)) {
124
- return value;
125
- }
126
- const [intg, dec] = value.split(separator);
127
- const cleanDec = dec.substring(0, this.maxDecimalCount);
128
- return intg + separator + cleanDec;
129
- }
130
- getCleanNumber(value) {
131
- const noCommaString = this.replaceCommaWithDot(value);
132
- const cleanDecimals = this.cleanDecimals(noCommaString);
133
- const cleanNumber = this.removeNonNumericCharacters(cleanDecimals);
134
- if (cleanNumber && cleanNumber.length) {
135
- return cleanNumber.substring(0, this.getMaxLength());
136
- }
137
- return cleanNumber;
138
- }
139
- updateInputElementValue(cleanNumber) {
140
- if (!this.inputElement) {
141
- // No need to update the native element if it doesn't yet exist.
142
- return;
143
- }
144
- const inputElemValue = this.inputElement.nativeElement.value;
145
- if (inputElemValue !== cleanNumber) {
146
- // Need to update HTML input value because we let user input what he wants and then we clean model
147
- this.inputElement.nativeElement.value = cleanNumber;
148
- }
149
- }
150
- setToEmpty(value) {
151
- // Empty means null, otherwise the backend doesn't handle numbers properly. We have to keep 'undefined'
152
- // if 'undefined' otherwise Angular complains about the value of the model being changed without updating
153
- // the view.
154
- const emptyValue = value === '' ? null : value;
155
- super.updateNgModel(emptyValue);
156
- this.updateInputElementValue(emptyValue);
157
- }
158
- }
159
- FoehnInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
160
- FoehnInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnInputNumberComponent, selector: "foehn-input-number", inputs: { allowDecimal: "allowDecimal", allowNegative: "allowNegative", maxDecimalCount: "maxDecimalCount", model: "model" }, providers: [
161
- {
162
- provide: FoehnInputComponent,
163
- useExisting: forwardRef(() => FoehnInputNumberComponent),
164
- multi: true
165
- }
166
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <label\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 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\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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]" }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe, "async": i3.AsyncPipe } });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputNumberComponent, decorators: [{
168
- type: Component,
169
- args: [{
170
- selector: 'foehn-input-number',
171
- templateUrl: './foehn-input.component.html',
172
- styleUrls: ['./foehn-input.component.css'],
173
- providers: [
174
- {
175
- provide: FoehnInputComponent,
176
- useExisting: forwardRef(() => FoehnInputNumberComponent),
177
- multi: true
178
- }
179
- ]
180
- }]
181
- }], propDecorators: { allowDecimal: [{
182
- type: Input
183
- }], allowNegative: [{
184
- type: Input
185
- }], maxDecimalCount: [{
186
- type: Input
187
- }], model: [{
188
- type: Input
189
- }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLDBDQUEwQyxFQUMxQyw4QkFBOEIsRUFDOUIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsdUJBQXVCLEVBQ3ZCLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIsZUFBZSxFQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBY3JFLE1BQU0sT0FBTyx5QkFDVCxTQUFRLHlCQUF5QjtJQWJyQzs7UUFzQkksb0JBQWUsR0FBRyxDQUFDLENBQUM7S0FnTHZCO0lBOUtHLElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDbkIsMEZBQTBGO1FBQzFGLDZGQUE2RjtRQUM3Riw4RkFBOEY7UUFDOUYsb0dBQW9HO1FBQ3BHLGlFQUFpRTtRQUNqRSxpREFBaUQ7UUFDakQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wseUVBQXlFO1FBQ3pFLE9B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IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENMRUFOX0RFQ0lNQUxfTlVNQkVSU19QQVRURVJOLFxuICAgIENMRUFOX05FR0FUSVZFX0FORF9ERUNJTUFMX05VTUJFUlNfUEFUVEVSTixcbiAgICBDTEVBTl9ORUdBVElWRV9OVU1CRVJTX1BBVFRFUk4sXG4gICAgQ0xFQU5fTlVNQkVSU19QQVRURVJOLFxuICAgIERFQ0lNQUxfTlVNQkVSU19QQVRURVJOLFxuICAgIEhUTUxfREVDSU1BTF9QQVRURVJOLFxuICAgIEhUTUxfTk9fREVDSU1BTF9QQVRURVJOLFxuICAgIE5FR0FUSVZFX0FORF9ERUNJTUFMX05VTUJFUlNfUEFUVEVSTixcbiAgICBORUdBVElWRV9OVU1CRVJTX1BBVFRFUk4sXG4gICAgTlVNQkVSU19QQVRURVJOXG59IGZyb20gJy4vcGF0dGVybi5jb25zdCc7XG5pbXBvcnQgeyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC1zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUNJTUFMU19TRVBBUkFUT1IgfSBmcm9tICcuLi9zZGstY3VycmVuY3kvY3VycmVuY3kuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC1udW1iZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4taW5wdXQuY29tcG9uZW50LmNzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5JbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dEZWNpbWFsOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBhbGxvd05lZ2F0aXZlOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhEZWNpbWFsQ291bnQgPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgbW9kZWwodmFsdWU6IHN0cmluZykge1xuICAgICAgICAvLyBUaGlzIGRvZXNuJ3QgdHJpZ2dlciB0aGUgY29tcG9uZW50J3MgdmVyc2lvbiBvZiB1cGRhdGVOZ01vZGVsIHN0cmFpdCBhd2F5IGFzIHRoaXMgbWlnaHRcbiAgICAgICAgLy8gYmUgY2FsbGVkIGJlZm9yZSBhbGxvd0RlY2ltYWwgb3IgYWxsb3dOZWdhdGl2ZSBhcmUgcHJvcGVybHkgc2V0IChiZWZvcmUgdGhlIGluaXQgbGlmZWN5Y2xlXG4gICAgICAgIC8vIG9mIHRoZSBjb21wb25lbnQpLiBUaGlzIGlzIGNyaXRpY2FsIHRvIG5vdCByZS1mb3JtYXQgdGhlIGlucHV0IGJlZm9yZSB0aGUgT25Jbml0LCBvdGhlcndpc2VcbiAgICAgICAgLy8gd2UgbWlnaHQgZW5kIHVwIHdpdGggaW52YWxpZCB2YWx1ZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuIHRoaXMudXBkYXRlTmdNb2RlbCBpcyBjYWxsZWQgaW1wbGljaXRseVxuICAgICAgICAvLyBhcyBzdXBlci51cGRhdGVOZ01vZGVsIHdpbGwgZW1pdCBhIGNoYW5nZSBvbiB0aGlzLm1vZGVsQ2hhbmdlLlxuICAgICAgICAvLyBGSVhNRSB0aGlzIGlzIGEgaGFjayBhbmQgc2hvdWxkIGJlIHJlZmFjdG9yZWQuXG4gICAgICAgIHN1cGVyLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBtb2RlbCgpOiBzdHJpbmcge1xuICAgICAgICAvLyBJZiB0aGUgc2V0dGVyIGlzIG92ZXJyaWRkZW4sIGl0J3MgY3JpdGljYWwgdG8gb3ZlcnJpZGUgdGhlIGdldHRlciB0b28uXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsXztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLnR5cGUgPSAndGV4dCc7XG5cbiAgICAgICAgLy8gUGF0dGVybiB1c2VkIG9ubHkgZm9yIG51bXBhZCB0cmlnZ2VyIG9uIG1vYmlsZSBwaG9uZXNcbiAgICAgICAgdGhpcy5wYXR0ZXJuID0gdGhpcy5hbGxvd0RlY2ltYWxcbiAgICAgICAgICAgID8gSFRNTF9ERUNJTUFMX1BBVFRFUk5cbiAgICAgICAgICAgIDogSFRNTF9OT19ERUNJTUFMX1BBVFRFUk47XG4gICAgfVxuXG4gICAgdXBkYXRlTmdNb2RlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRvRW1wdHkodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNsZWFuTnVtYmVyID0gdGhpcy5nZXRDbGVhbk51bWJlcih2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgY29uc3QgaXNNb2RlbFZhbGlkID0gdGhpcy5pc01vZGVsVmFsaWQoY2xlYW5OdW1iZXIpO1xuICAgICAgICBpZiAoIWlzTW9kZWxWYWxpZCkge1xuICAgICAgICAgICAgY2xlYW5OdW1iZXIgPSB0aGlzLm1vZGVsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIudXBkYXRlTmdNb2RlbChjbGVhbk51bWJlcik7XG5cbiAgICAgICAgLy8gTmVlZCB0byB1cGRhdGUgSFRNTCBpbnB1dCB2YWx1ZSBiZWNhdXNlIHdlIGxldCB1c2VyIGlucHV0IHdoYXQgaGUgd2FudHMgYW5kIHRoZW4gd2UgY2xlYW4gbW9kZWxcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dEVsZW1lbnRWYWx1ZShjbGVhbk51bWJlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG8gYmUgdXNlZCBmb3IgcG9zdC1mb3JtYXR0aW5nIGJ5IGRpcmVjdGl2ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgb2YgbW9kZWxcbiAgICAgKi9cbiAgICBmb3JjZVVwZGF0ZU5nTW9kZWwodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsXyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0RWxlbWVudFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsdWVJblJhbmdlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dOZWdhdGl2ZSAmJiB2YWx1ZSA9PT0gJy0nKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlQXNOdW1iZXIgPSB0aGlzLnRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzRW1wdHkodGhpcy5taW4pIHx8ICF0aGlzLmlzRW1wdHkodGhpcy5tYXgpKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4odmFsdWVBc051bWJlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc0VtcHR5KHRoaXMubWluKSAmJiAhdGhpcy5pc0VtcHR5KHRoaXMubWF4KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZUFzTnVtYmVyID49IHRoaXMubWluICYmIHZhbHVlQXNOdW1iZXIgPD0gdGhpcy5tYXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc0VtcHR5KHRoaXMubWluKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZUFzTnVtYmVyID49IHRoaXMubWluO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNFbXB0eSh0aGlzLm1heCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVBc051bWJlciA8PSB0aGlzLm1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxvd0RlY2ltYWwgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHBhcnNlSW50KHZhbHVlLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1N0cmluZ0FWYWxpZE51bWJlcih2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkYXRpb25SZWdleCgpLnRlc3QodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNNb2RlbFZhbGlkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTdHJpbmdBVmFsaWROdW1iZXIodmFsdWUpICYmIHRoaXMuaXNWYWx1ZUluUmFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsaWRhdGlvblJlZ2V4KGlzRm9yQ2xlYW46IGJvb2xlYW4gPSBmYWxzZSk6IFJlZ0V4cCB7XG4gICAgICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbCB8fCB0aGlzLmFsbG93TmVnYXRpdmUpIHtcbiAgICAgICAgICAgIC8vIEFsbG93IGRlY2ltYWwgYW5kIG5lZ2F0aXZlXG4gICAgICAgICAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWwgJiYgdGhpcy5hbGxvd05lZ2F0aXZlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0ZvckNsZWFuXG4gICAgICAgICAgICAgICAgICAgID8gTkVHQVRJVkVfQU5EX0RFQ0lNQUxfTlVNQkVSU19QQVRURVJOXG4gICAgICAgICAgICAgICAgICAgIDogQ0xFQU5fTkVHQVRJVkVfQU5EX0RFQ0lNQUxfTlVNQkVSU19QQVRURVJOO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQWxsb3cgZGVjaW1hbFxuICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0ZvckNsZWFuXG4gICAgICAgICAgICAgICAgICAgID8gREVDSU1BTF9OVU1CRVJTX1BBVFRFUk5cbiAgICAgICAgICAgICAgICAgICAgOiBDTEVBTl9ERUNJTUFMX05VTUJFUlNfUEFUVEVSTjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFsbG93IG5lZ2F0aXZlXG4gICAgICAgICAgICByZXR1cm4gIWlzRm9yQ2xlYW5cbiAgICAgICAgICAgICAgICA/IE5FR0FUSVZFX05VTUJFUlNfUEFUVEVSTlxuICAgICAgICAgICAgICAgIDogQ0xFQU5fTkVHQVRJVkVfTlVNQkVSU19QQVRURVJOO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhaXNGb3JDbGVhbiA/IE5VTUJFUlNfUEFUVEVSTiA6IENMRUFOX05VTUJFUlNfUEFUVEVSTjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcGxhY2VDb21tYVdpdGhEb3QodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgnLCcsICdnJyksIERFQ0lNQUxTX1NFUEFSQVRPUilcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVOb25OdW1lcmljQ2hhcmFjdGVycyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gdmFsdWUucmVwbGFjZSh0aGlzLmdldFZhbGlkYXRpb25SZWdleCh0cnVlKSwgJycpXG4gICAgICAgICAgICA6IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYW5EZWNpbWFscyhcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgICAgc2VwYXJhdG9yOiBzdHJpbmcgPSBERUNJTUFMU19TRVBBUkFUT1JcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlIHx8ICF0aGlzLmFsbG93RGVjaW1hbCB8fCAhdmFsdWUuaW5jbHVkZXMoc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2ludGcsIGRlY10gPSB2YWx1ZS5zcGxpdChzZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBjbGVhbkRlYyA9IGRlYy5zdWJzdHJpbmcoMCwgdGhpcy5tYXhEZWNpbWFsQ291bnQpO1xuXG4gICAgICAgIHJldHVybiBpbnRnICsgc2VwYXJhdG9yICsgY2xlYW5EZWM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDbGVhbk51bWJlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgbm9Db21tYVN0cmluZyA9IHRoaXMucmVwbGFjZUNvbW1hV2l0aERvdCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNsZWFuRGVjaW1hbHMgPSB0aGlzLmNsZWFuRGVjaW1hbHMobm9Db21tYVN0cmluZyk7XG4gICAgICAgIGNvbnN0IGNsZWFuTnVtYmVyID0gdGhpcy5yZW1vdmVOb25OdW1lcmljQ2hhcmFjdGVycyhjbGVhbkRlY2ltYWxzKTtcblxuICAgICAgICBpZiAoY2xlYW5OdW1iZXIgJiYgY2xlYW5OdW1iZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xlYW5OdW1iZXIuc3Vic3RyaW5nKDAsIHRoaXMuZ2V0TWF4TGVuZ3RoKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsZWFuTnVtYmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5wdXRFbGVtZW50VmFsdWUoY2xlYW5OdW1iZXI6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAvLyBObyBuZWVkIHRvIHVwZGF0ZSB0aGUgbmF0aXZlIGVsZW1lbnQgaWYgaXQgZG9lc24ndCB5ZXQgZXhpc3QuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dEVsZW1WYWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIGlmIChpbnB1dEVsZW1WYWx1ZSAhPT0gY2xlYW5OdW1iZXIpIHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gdXBkYXRlIEhUTUwgaW5wdXQgdmFsdWUgYmVjYXVzZSB3ZSBsZXQgdXNlciBpbnB1dCB3aGF0IGhlIHdhbnRzIGFuZCB0aGVuIHdlIGNsZWFuIG1vZGVsXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gY2xlYW5OdW1iZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRvRW1wdHkodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAvLyBFbXB0eSBtZWFucyBudWxsLCBvdGhlcndpc2UgdGhlIGJhY2tlbmQgZG9lc24ndCBoYW5kbGUgbnVtYmVycyBwcm9wZXJseS4gV2UgaGF2ZSB0byBrZWVwICd1bmRlZmluZWQnXG4gICAgICAgIC8vIGlmICd1bmRlZmluZWQnIG90aGVyd2lzZSBBbmd1bGFyIGNvbXBsYWlucyBhYm91dCB0aGUgdmFsdWUgb2YgdGhlIG1vZGVsIGJlaW5nIGNoYW5nZWQgd2l0aG91dCB1cGRhdGluZ1xuICAgICAgICAvLyB0aGUgdmlldy5cbiAgICAgICAgY29uc3QgZW1wdHlWYWx1ZSA9IHZhbHVlID09PSAnJyA/IG51bGwgOiB2YWx1ZTtcbiAgICAgICAgc3VwZXIudXBkYXRlTmdNb2RlbChlbXB0eVZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dEVsZW1lbnRWYWx1ZShlbXB0eVZhbHVlKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICpuZ0lmPVwibGFiZWwgJiYgdHlwZSAhPT0gJ2hpZGRlbidcIlxuICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0ICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGlucHV0XG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IGhhc0luaGVyaXRFcnJvckZyb21QYXJlbnQoKVwiXG4gICAgICAgIFtjbGFzcy5jbGVhcmFibGUtaW5wdXRdPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJnZXRNYXhMZW5ndGgoKVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJnZXRBdXRvQ29tcGxldGUoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { Component, forwardRef } from '@angular/core';
2
- import { FoehnInputStringComponent } from './foehn-input-string.component';
3
- import { FoehnInputComponent } from './foehn-input.component';
4
- import { first } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../foehn-validation-alerts/foehn-validation-alerts.component";
7
- import * as i2 from "../foehn-icons/foehn-icon-times.component";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
11
- export class FoehnInputPasswordComponent extends FoehnInputStringComponent {
12
- constructor(ngZone) {
13
- super();
14
- this.ngZone = ngZone;
15
- }
16
- ngOnInit() {
17
- super.ngOnInit();
18
- this.type = 'password';
19
- this.autocomplete = 'current-password';
20
- }
21
- onModelChange(value) {
22
- if (value === undefined || !!value) {
23
- this.updateNgModel(value);
24
- }
25
- else {
26
- this.ngZone.onMicrotaskEmpty.pipe(first()).subscribe(() => {
27
- this.updateNgModel(null);
28
- });
29
- }
30
- }
31
- }
32
- FoehnInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputPasswordComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
33
- FoehnInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnInputPasswordComponent, selector: "foehn-input-password", providers: [
34
- {
35
- provide: FoehnInputComponent,
36
- useExisting: forwardRef(() => FoehnInputPasswordComponent),
37
- multi: true
38
- }
39
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <label\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 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\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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]" }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe, "async": i3.AsyncPipe } });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputPasswordComponent, decorators: [{
41
- type: Component,
42
- args: [{
43
- selector: 'foehn-input-password',
44
- templateUrl: './foehn-input.component.html',
45
- styleUrls: ['./foehn-input.component.css'],
46
- providers: [
47
- {
48
- provide: FoehnInputComponent,
49
- useExisting: forwardRef(() => FoehnInputPasswordComponent),
50
- multi: true
51
- }
52
- ]
53
- }]
54
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBY3ZDLE1BQU0sT0FBTywyQkFDVCxTQUFRLHlCQUF5QjtJQUVqQyxZQUFvQixNQUFjO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFEsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUVsQyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O3dIQXJCUSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwrQ0FSekI7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUMxRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZkwsMjNFQXVFQTsyRkR0RGEsMkJBQTJCO2tCQVp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtc3RyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4taW5wdXQtcGFzc3dvcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4taW5wdXQuY29tcG9uZW50LmNzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5JbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRQYXNzd29yZENvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMudHlwZSA9ICdwYXNzd29yZCc7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gJ2N1cnJlbnQtcGFzc3dvcmQnO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCAhIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25NaWNyb3Rhc2tFbXB0eS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICpuZ0lmPVwibGFiZWwgJiYgdHlwZSAhPT0gJ2hpZGRlbidcIlxuICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0ICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGlucHV0XG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IGhhc0luaGVyaXRFcnJvckZyb21QYXJlbnQoKVwiXG4gICAgICAgIFtjbGFzcy5jbGVhcmFibGUtaW5wdXRdPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJnZXRNYXhMZW5ndGgoKVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJnZXRBdXRvQ29tcGxldGUoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,96 +0,0 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { FoehnInputStringComponent } from './foehn-input-string.component';
3
- import { FoehnInputComponent } from './foehn-input.component';
4
- import { HTML_PHONE_PATTERN } from './pattern.const';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../foehn-validation-alerts/foehn-validation-alerts.component";
7
- import * as i2 from "../foehn-icons/foehn-icon-times.component";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
11
- export const DEFAULT_INTERNATIONAL_AND_NO_SWISS = "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
12
- '<li>+33612345678,</li><li>+49 123 456 78 901 ou</li><li>+39 312 345 6789</li></ul>)';
13
- export const DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE = "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
14
- '<li>+41791234567,</li><li>0041 78 123 45 56 ou</li><li>+33 6 12 34 56 78</li></ul>)';
15
- export const DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE = "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
16
- '<li>+41211234567,</li><li>0041 21 123 45 56 ou</li><li>+33 6 12 34 56 78</li></ul>)';
17
- export const DEFAULT_INTERNATIONAL_HELP_TEXT = "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
18
- '<li>+41791234567,</li><li>+41 22 012 34 56,</li><li>0041 79 012 34 56</li><li>ou +33612345678</li></ul>)';
19
- export const DEFAULT_SWISS_HELP_TEXT = "ex : <ul class='sameLine-list'><li>079 123 45 67,</li><li>0211234567,</li><li>+41 79 123 45 67 ou</li><li>+41211234567</li></ul>";
20
- export const DEFAULT_SWISS_PHONE_HELP_TEXT = "ex : <ul class='sameLine-list'><li>0211234567,</li><li>021 123 45 67,</li><li>+41211234567 ou</li><li>+41 21 123 45 67</li></ul>";
21
- export const DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT = "ex : <ul class='sameLine-list'><li>0791234567,</li><li>079 123 45 67,</li><li>+41791234567 ou</li><li>+41 79 123 45 67</li></ul>";
22
- export const BAD_PARAMS_HELP_TEXT = 'Mauvais paramétrage du composant. Un téléphone est soit international, mobile, fixe ou les deux mais pas rien';
23
- export class FoehnInputPhoneComponent extends FoehnInputStringComponent {
24
- constructor() {
25
- super(...arguments);
26
- this.acceptInternational = false;
27
- this.acceptMobilePhone = true;
28
- this.acceptPhone = true;
29
- }
30
- ngOnInit() {
31
- super.ngOnInit();
32
- this.type = 'tel';
33
- this.autocomplete = 'tel';
34
- // Pattern used only for numpad trigger on mobile phones
35
- this.pattern = HTML_PHONE_PATTERN;
36
- if (!this.helpText || !this.helpText.length) {
37
- this.helpText = this.getHelpText();
38
- }
39
- }
40
- getHelpText() {
41
- if (this.acceptInternational &&
42
- !this.acceptPhone &&
43
- !this.acceptMobilePhone) {
44
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS;
45
- }
46
- if (this.acceptInternational && !this.acceptPhone) {
47
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE;
48
- }
49
- if (this.acceptInternational && !this.acceptMobilePhone) {
50
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE;
51
- }
52
- if (this.acceptInternational) {
53
- return DEFAULT_INTERNATIONAL_HELP_TEXT;
54
- }
55
- if (this.acceptMobilePhone && this.acceptPhone) {
56
- return DEFAULT_SWISS_HELP_TEXT;
57
- }
58
- if (this.acceptPhone) {
59
- return DEFAULT_SWISS_PHONE_HELP_TEXT;
60
- }
61
- if (this.acceptMobilePhone) {
62
- return DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT;
63
- }
64
- return BAD_PARAMS_HELP_TEXT;
65
- }
66
- }
67
- FoehnInputPhoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputPhoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
68
- FoehnInputPhoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: { acceptInternational: "acceptInternational", acceptMobilePhone: "acceptMobilePhone", acceptPhone: "acceptPhone" }, providers: [
69
- {
70
- provide: FoehnInputComponent,
71
- useExisting: forwardRef(() => FoehnInputPhoneComponent),
72
- multi: true
73
- }
74
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <label\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 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\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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]" }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe, "async": i3.AsyncPipe } });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputPhoneComponent, decorators: [{
76
- type: Component,
77
- args: [{
78
- selector: 'foehn-input-phone',
79
- templateUrl: './foehn-input.component.html',
80
- styleUrls: ['./foehn-input.component.css'],
81
- providers: [
82
- {
83
- provide: FoehnInputComponent,
84
- useExisting: forwardRef(() => FoehnInputPhoneComponent),
85
- multi: true
86
- }
87
- ]
88
- }]
89
- }], propDecorators: { acceptInternational: [{
90
- type: Input
91
- }], acceptMobilePhone: [{
92
- type: Input
93
- }], acceptPhone: [{
94
- type: Input
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFFckQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQzNDLDBFQUEwRTtJQUMxRSxxRkFBcUYsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FDakQsMEVBQTBFO0lBQzFFLHFGQUFxRixDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUNsRCwwRUFBMEU7SUFDMUUscUZBQXFGLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQ3hDLDBFQUEwRTtJQUMxRSwwR0FBMEcsQ0FBQztBQUMvRyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDaEMsa0lBQWtJLENBQUM7QUFDdkksTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQ3RDLGtJQUFrSSxDQUFDO0FBQ3ZJLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUM3QyxrSUFBa0ksQ0FBQztBQUV2SSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FDN0IsK0dBQStHLENBQUM7QUFjcEgsTUFBTSxPQUFPLHdCQUNULFNBQVEseUJBQXlCO0lBYnJDOztRQWdCSSx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFHNUIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBR3pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0tBMEN0QjtJQXhDRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNmLElBQ0ksSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2pCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUN6QjtZQUNFLE9BQU8sa0NBQWtDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0MsT0FBTyx3Q0FBd0MsQ0FBQztTQUNuRDtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELE9BQU8seUNBQXlDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixPQUFPLCtCQUErQixDQUFDO1NBQzFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxPQUFPLHVCQUF1QixDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU8sNkJBQTZCLENBQUM7U0FDeEM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixPQUFPLG9DQUFvQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDOztxSEFuRFEsd0JBQXdCO3lHQUF4Qix3QkFBd0Isd0tBUnRCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ3JDTCwyM0VBdUVBOzJGRGhDYSx3QkFBd0I7a0JBWnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7OEJBS0csbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEhUTUxfUEhPTkVfUEFUVEVSTiB9IGZyb20gJy4vcGF0dGVybi5jb25zdCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOVEVSTkFUSU9OQUxfQU5EX05PX1NXSVNTID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rMzM2MTIzNDU2NzgsPC9saT48bGk+KzQ5IDEyMyA0NTYgNzggOTAxIG91PC9saT48bGk+KzM5IDMxMiAzNDUgNjc4OTwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOVEVSTkFUSU9OQUxfQU5EX05PX1NXSVNTX1BIT05FID1cbiAgICBcIlByw6lmaXhlciBhdmVjIGwnaW5kaWNhdGlmIGRlIHZvdHJlIHBheXMgKGV4IDogPHVsIGNsYXNzPSdzYW1lTGluZS1saXN0Jz5cIiArXG4gICAgJzxsaT4rNDE3OTEyMzQ1NjcsPC9saT48bGk+MDA0MSA3OCAxMjMgNDUgNTYgb3U8L2xpPjxsaT4rMzMgNiAxMiAzNCA1NiA3ODwvbGk+PC91bD4pJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOVEVSTkFUSU9OQUxfQU5EX05PX1NXSVNTX01PQklMRSA9XG4gICAgXCJQcsOpZml4ZXIgYXZlYyBsJ2luZGljYXRpZiBkZSB2b3RyZSBwYXlzIChleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+XCIgK1xuICAgICc8bGk+KzQxMjExMjM0NTY3LDwvbGk+PGxpPjAwNDEgMjEgMTIzIDQ1IDU2IG91PC9saT48bGk+KzMzIDYgMTIgMzQgNTYgNzg8L2xpPjwvdWw+KSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlRFUk5BVElPTkFMX0hFTFBfVEVYVCA9XG4gICAgXCJQcsOpZml4ZXIgYXZlYyBsJ2luZGljYXRpZiBkZSB2b3RyZSBwYXlzIChleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+XCIgK1xuICAgICc8bGk+KzQxNzkxMjM0NTY3LDwvbGk+PGxpPis0MSAyMiAwMTIgMzQgNTYsPC9saT48bGk+MDA0MSA3OSAwMTIgMzQgNTY8L2xpPjxsaT5vdSArMzM2MTIzNDU2Nzg8L2xpPjwvdWw+KSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TV0lTU19IRUxQX1RFWFQgPVxuICAgIFwiZXggOiA8dWwgY2xhc3M9J3NhbWVMaW5lLWxpc3QnPjxsaT4wNzkgMTIzIDQ1IDY3LDwvbGk+PGxpPjAyMTEyMzQ1NjcsPC9saT48bGk+KzQxIDc5IDEyMyA0NSA2NyBvdTwvbGk+PGxpPis0MTIxMTIzNDU2NzwvbGk+PC91bD5cIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NXSVNTX1BIT05FX0hFTFBfVEVYVCA9XG4gICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjAyMTEyMzQ1NjcsPC9saT48bGk+MDIxIDEyMyA0NSA2Nyw8L2xpPjxsaT4rNDEyMTEyMzQ1Njcgb3U8L2xpPjxsaT4rNDEgMjEgMTIzIDQ1IDY3PC9saT48L3VsPlwiO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1dJU1NfTU9CSUxFX1BIT05FX0hFTFBfVEVYVCA9XG4gICAgXCJleCA6IDx1bCBjbGFzcz0nc2FtZUxpbmUtbGlzdCc+PGxpPjA3OTEyMzQ1NjcsPC9saT48bGk+MDc5IDEyMyA0NSA2Nyw8L2xpPjxsaT4rNDE3OTEyMzQ1Njcgb3U8L2xpPjxsaT4rNDEgNzkgMTIzIDQ1IDY3PC9saT48L3VsPlwiO1xuXG5leHBvcnQgY29uc3QgQkFEX1BBUkFNU19IRUxQX1RFWFQgPVxuICAgICdNYXV2YWlzIHBhcmFtw6l0cmFnZSBkdSBjb21wb3NhbnQuIFVuIHTDqWzDqXBob25lIGVzdCBzb2l0IGludGVybmF0aW9uYWwsIG1vYmlsZSwgZml4ZSBvdSBsZXMgZGV1eCBtYWlzIHBhcyByaWVuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC1waG9uZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb2VobklucHV0UGhvbmVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5JbnB1dFBob25lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0U3RyaW5nQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0SW50ZXJuYXRpb25hbCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhY2NlcHRNb2JpbGVQaG9uZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGFjY2VwdFBob25lID0gdHJ1ZTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnR5cGUgPSAndGVsJztcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUgPSAndGVsJztcbiAgICAgICAgLy8gUGF0dGVybiB1c2VkIG9ubHkgZm9yIG51bXBhZCB0cmlnZ2VyIG9uIG1vYmlsZSBwaG9uZXNcbiAgICAgICAgdGhpcy5wYXR0ZXJuID0gSFRNTF9QSE9ORV9QQVRURVJOO1xuXG4gICAgICAgIGlmICghdGhpcy5oZWxwVGV4dCB8fCAhdGhpcy5oZWxwVGV4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaGVscFRleHQgPSB0aGlzLmdldEhlbHBUZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhlbHBUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJlxuICAgICAgICAgICAgIXRoaXMuYWNjZXB0UGhvbmUgJiZcbiAgICAgICAgICAgICF0aGlzLmFjY2VwdE1vYmlsZVBob25lXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfUEhPTkU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0SW50ZXJuYXRpb25hbCAmJiAhdGhpcy5hY2NlcHRNb2JpbGVQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfSU5URVJOQVRJT05BTF9BTkRfTk9fU1dJU1NfTU9CSUxFO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdEludGVybmF0aW9uYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX0lOVEVSTkFUSU9OQUxfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lICYmIHRoaXMuYWNjZXB0UGhvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiBERUZBVUxUX1NXSVNTX0hFTFBfVEVYVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY2NlcHRQaG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfU1dJU1NfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdE1vYmlsZVBob25lKSB7XG4gICAgICAgICAgICByZXR1cm4gREVGQVVMVF9TV0lTU19NT0JJTEVfUEhPTkVfSEVMUF9URVhUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCQURfUEFSQU1TX0hFTFBfVEVYVDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwIGNsZWFyYWJsZS1pbnB1dC1mb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICpuZ0lmPVwibGFiZWwgJiYgdHlwZSAhPT0gJ2hpZGRlbidcIlxuICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0ICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGlucHV0XG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IGhhc0luaGVyaXRFcnJvckZyb21QYXJlbnQoKVwiXG4gICAgICAgIFtjbGFzcy5jbGVhcmFibGUtaW5wdXRdPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJnZXRNYXhMZW5ndGgoKVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJnZXRBdXRvQ29tcGxldGUoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbYXR0ci5taW5dPVwibWluXCJcbiAgICAgICAgW2F0dHIubWF4XT1cIm1heFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKGVudHJ5Q29tcG9uZW50LnZhbHVlKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgLz5cblxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdDbGVhckJ1dHRvbidcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImNsZWFyYWJsZS1pbnB1dC1jbGVhci1idXR0b24gYnRuXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSw6lpbml0aWFsaXNlciBsZSBjaGFtcHNcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,80 +0,0 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { FoehnInputStringComponent } from './foehn-input-string.component';
3
- import { FoehnInputComponent } from './foehn-input.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../foehn-validation-alerts/foehn-validation-alerts.component";
6
- import * as i2 from "../foehn-icons/foehn-icon-times.component";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
10
- export class FoehnInputTextComponent extends FoehnInputStringComponent {
11
- onKeydown(event) {
12
- if (this.numberOnly && !this.acceptedKeysForNumber(event)) {
13
- event.preventDefault();
14
- }
15
- }
16
- onModelChange(value) {
17
- clearTimeout(this.timeoutReference);
18
- if (value === undefined || value === null || !!value) {
19
- this.updateNgModel(value);
20
- }
21
- else {
22
- this.timeoutReference = setTimeout(() => {
23
- this.updateNgModel(null);
24
- }, 0);
25
- }
26
- }
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- getKeyCode(event) {
29
- // TODO: Check if we still need to support IE11 and if not, use event.key
30
- let keyCode = event.keyCode || event.which;
31
- if (keyCode >= 96 && keyCode <= 105) {
32
- // Numpad keys
33
- keyCode -= 48;
34
- }
35
- return keyCode;
36
- }
37
- acceptedKeysForNumber(event) {
38
- const keyCode = this.getKeyCode(event);
39
- // Allow: delete, backspace, tab, escape, enter, decimal point, period
40
- return ([46, 8, 9, 27, 13, 110, 190].includes(keyCode) ||
41
- // Allow: Ctrl+A
42
- (keyCode === 65 && (event.ctrlKey || event.metaKey)) ||
43
- // Allow: Ctrl+C
44
- (keyCode === 67 && (event.ctrlKey || event.metaKey)) ||
45
- // Allow: Ctrl+V
46
- (keyCode === 86 && (event.ctrlKey || event.metaKey)) ||
47
- // Allow: Ctrl+X
48
- (keyCode === 88 && (event.ctrlKey || event.metaKey)) ||
49
- // Allow: home, end, left, right
50
- (keyCode >= 35 && keyCode <= 39) ||
51
- // Allow: numbers [0-9]
52
- (keyCode >= 48 && keyCode <= 57));
53
- }
54
- }
55
- FoehnInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
- FoehnInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnInputTextComponent, selector: "foehn-input-text", inputs: { numberOnly: "numberOnly" }, providers: [
57
- {
58
- provide: FoehnInputComponent,
59
- useExisting: forwardRef(() => FoehnInputTextComponent),
60
- multi: true
61
- }
62
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <label\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 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\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n title=\"R\u00E9initialiser le champs\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"], components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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]" }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe, "async": i3.AsyncPipe } });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnInputTextComponent, decorators: [{
64
- type: Component,
65
- args: [{
66
- selector: 'foehn-input-text',
67
- templateUrl: './foehn-input.component.html',
68
- styleUrls: ['./foehn-input.component.css'],
69
- providers: [
70
- {
71
- provide: FoehnInputComponent,
72
- useExisting: forwardRef(() => FoehnInputTextComponent),
73
- multi: true
74
- }
75
- ]
76
- }]
77
- }], propDecorators: { numberOnly: [{
78
- type: Input
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBYzlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx5QkFBeUI7SUFPbEUsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDdkIsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1Q7SUFDTCxDQUFDO0lBRUQsOERBQThEO0lBQ3RELFVBQVUsQ0FBQyxLQUFvQjtRQUNuQyx5RUFBeUU7UUFDekUsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNDLElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksR0FBRyxFQUFFO1lBQ2pDLGNBQWM7WUFDZCxPQUFPLElBQUksRUFBRSxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEtBQW9CO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsc0VBQXNFO1FBQ3RFLE9BQU8sQ0FDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDOUMsZ0JBQWdCO1lBQ2hCLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELGdCQUFnQjtZQUNoQixDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxnQkFBZ0I7WUFDaEIsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsZ0JBQWdCO1lBQ2hCLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELGdDQUFnQztZQUNoQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNoQyx1QkFBdUI7WUFDdkIsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FDbkMsQ0FBQztJQUNOLENBQUM7O29IQXJEUSx1QkFBdUI7d0dBQXZCLHVCQUF1QixpRkFSckI7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZEwsMjNFQXVFQTsyRkR2RGEsdUJBQXVCO2tCQVpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKOzhCQUdHLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBudW1iZXJPbmx5OiBib29sZWFuO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aW1lb3V0UmVmZXJlbmNlOiBhbnk7XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubnVtYmVyT25seSAmJiAhdGhpcy5hY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZWZlcmVuY2UpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5nTW9kZWwodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0UmVmZXJlbmNlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKG51bGwpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgZ2V0S2V5Q29kZShldmVudDogS2V5Ym9hcmRFdmVudCk6IGFueSB7XG4gICAgICAgIC8vIFRPRE86IENoZWNrIGlmIHdlIHN0aWxsIG5lZWQgdG8gc3VwcG9ydCBJRTExIGFuZCBpZiBub3QsIHVzZSBldmVudC5rZXlcbiAgICAgICAgbGV0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoO1xuICAgICAgICBpZiAoa2V5Q29kZSA+PSA5NiAmJiBrZXlDb2RlIDw9IDEwNSkge1xuICAgICAgICAgICAgLy8gTnVtcGFkIGtleXNcbiAgICAgICAgICAgIGtleUNvZGUgLT0gNDg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleUNvZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY2NlcHRlZEtleXNGb3JOdW1iZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IHRoaXMuZ2V0S2V5Q29kZShldmVudCk7XG4gICAgICAgIC8vIEFsbG93OiBkZWxldGUsIGJhY2tzcGFjZSwgdGFiLCBlc2NhcGUsIGVudGVyLCBkZWNpbWFsIHBvaW50LCBwZXJpb2RcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFs0NiwgOCwgOSwgMjcsIDEzLCAxMTAsIDE5MF0uaW5jbHVkZXMoa2V5Q29kZSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0FcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NSAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK0NcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA2NyAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1ZcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4NiAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBDdHJsK1hcbiAgICAgICAgICAgIChrZXlDb2RlID09PSA4OCAmJiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSkgfHxcbiAgICAgICAgICAgIC8vIEFsbG93OiBob21lLCBlbmQsIGxlZnQsIHJpZ2h0XG4gICAgICAgICAgICAoa2V5Q29kZSA+PSAzNSAmJiBrZXlDb2RlIDw9IDM5KSB8fFxuICAgICAgICAgICAgLy8gQWxsb3c6IG51bWJlcnMgWzAtOV1cbiAgICAgICAgICAgIChrZXlDb2RlID49IDQ4ICYmIGtleUNvZGUgPD0gNTcpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cCBjbGVhcmFibGUtaW5wdXQtZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxsYWJlbFxuICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAqbmdJZj1cImxhYmVsICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICdzci1vbmx5JyA6IGxhYmVsU3R5bGVNb2RpZmllclwiXG4gICAgPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxpbnB1dFxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KClcIlxuICAgICAgICBbY2xhc3MuY2xlYXJhYmxlLWlucHV0XT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwiZ2V0TWF4TGVuZ3RoKClcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiZ2V0QXV0b0NvbXBsZXRlKClcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJwYXR0ZXJuXCJcbiAgICAgICAgW2F0dHIubWluXT1cIm1pblwiXG4gICAgICAgIFthdHRyLm1heF09XCJtYXhcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZ2V0RGVzY3JpYmVkQnkoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCB8fCBudWxsXCJcbiAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTmdNb2RlbCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZShlbnRyeUNvbXBvbmVudC52YWx1ZSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICNlbnRyeUNvbXBvbmVudFxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnQ2xlYXJCdXR0b24nXCJcbiAgICAgICAgKm5nSWY9XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJjbGVhcmFibGUtaW5wdXQtY2xlYXItYnV0dG9uIGJ0blwiXG4gICAgICAgIChjbGljayk9XCJvbkNsZWFyKClcIlxuICAgID5cbiAgICAgICAgPGZvZWhuLWljb24tdGltZXNcbiAgICAgICAgICAgIGNsYXNzPVwiY2xlYXJhYmxlLWlucHV0LWNsZWFyLWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgIHRpdGxlPVwiUsOpaW5pdGlhbGlzZXIgbGUgY2hhbXBzXCJcbiAgICAgICAgPjwvZm9laG4taWNvbi10aW1lcz5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19