@po-ui/ng-templates 18.22.0 → 19.0.0-next.0

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 (205) hide show
  1. package/fesm2022/po-ui-ng-templates.mjs +139 -122
  2. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  3. package/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.d.ts +1 -1
  4. package/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.d.ts +1 -1
  5. package/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.d.ts +1 -1
  6. package/lib/components/po-page-blocked-user/po-page-blocked-user.component.d.ts +1 -1
  7. package/lib/components/po-page-change-password/po-page-change-password-base.component.d.ts +1 -1
  8. package/lib/components/po-page-change-password/po-page-change-password.service.d.ts +1 -1
  9. package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.d.ts +1 -1
  10. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.d.ts +1 -1
  11. package/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.d.ts +2 -2
  12. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.d.ts +1 -1
  13. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.d.ts +1 -1
  14. package/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.d.ts +2 -2
  15. package/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.d.ts +2 -2
  16. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.d.ts +1 -1
  17. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.d.ts +2 -2
  18. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.d.ts +1 -1
  19. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.d.ts +1 -1
  20. package/lib/components/po-page-login/po-page-login-base.component.d.ts +1 -1
  21. package/lib/components/po-page-login/po-page-login.service.d.ts +1 -1
  22. package/package.json +13 -15
  23. package/po-ui-ng-templates-19.0.0-next.0.tgz +0 -0
  24. package/schematics/ng-add/index.js +2 -2
  25. package/schematics/ng-add/index.js.map +1 -1
  26. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  27. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  28. package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  29. package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  30. package/schematics/ng-generate/po-page-blocked-user/index.js +1 -1
  31. package/schematics/ng-generate/po-page-blocked-user/index.js.map +1 -1
  32. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  33. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  34. package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  35. package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  36. package/schematics/ng-generate/po-page-change-password/index.js +1 -1
  37. package/schematics/ng-generate/po-page-change-password/index.js.map +1 -1
  38. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  39. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  40. package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  41. package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  42. package/schematics/ng-generate/po-page-dynamic-detail/index.js +1 -1
  43. package/schematics/ng-generate/po-page-dynamic-detail/index.js.map +1 -1
  44. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  45. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  46. package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  47. package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  48. package/schematics/ng-generate/po-page-dynamic-edit/index.js +1 -1
  49. package/schematics/ng-generate/po-page-dynamic-edit/index.js.map +1 -1
  50. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  51. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  52. package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  53. package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  54. package/schematics/ng-generate/po-page-dynamic-search/index.js +1 -1
  55. package/schematics/ng-generate/po-page-dynamic-search/index.js.map +1 -1
  56. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  57. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  58. package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  59. package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  60. package/schematics/ng-generate/po-page-dynamic-table/index.js +1 -1
  61. package/schematics/ng-generate/po-page-dynamic-table/index.js.map +1 -1
  62. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  63. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  64. package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  65. package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  66. package/schematics/ng-generate/po-page-job-scheduler/index.js +1 -1
  67. package/schematics/ng-generate/po-page-job-scheduler/index.js.map +1 -1
  68. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  69. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  70. package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  71. package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  72. package/schematics/ng-generate/po-page-login/index.js +1 -1
  73. package/schematics/ng-generate/po-page-login/index.js.map +1 -1
  74. package/esm2022/lib/components/components.module.mjs +0 -84
  75. package/esm2022/lib/components/index.mjs +0 -12
  76. package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-modal-content.enum.mjs +0 -17
  77. package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-type.enum.mjs +0 -17
  78. package/esm2022/lib/components/po-modal-password-recovery/index.mjs +0 -8
  79. package/esm2022/lib/components/po-modal-password-recovery/interfaces/po-modal-password-recovery.interface.mjs +0 -2
  80. package/esm2022/lib/components/po-modal-password-recovery/literals/i18n/po-modal-password-recovery-literals.mjs +0 -119
  81. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +0 -293
  82. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +0 -34
  83. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +0 -451
  84. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.module.mjs +0 -29
  85. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.mjs +0 -18
  86. package/esm2022/lib/components/po-page-background/index.mjs +0 -3
  87. package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +0 -191
  88. package/esm2022/lib/components/po-page-background/po-page-background.module.mjs +0 -27
  89. package/esm2022/lib/components/po-page-blocked-user/enums/po-page-blocked-user-reason.enum.mjs +0 -17
  90. package/esm2022/lib/components/po-page-blocked-user/index.mjs +0 -8
  91. package/esm2022/lib/components/po-page-blocked-user/interfaces/po-page-blocked-user-reason-params.interface.mjs +0 -2
  92. package/esm2022/lib/components/po-page-blocked-user/literals/i18n/po-page-blocked-user-literals.mjs +0 -78
  93. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +0 -197
  94. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +0 -105
  95. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +0 -107
  96. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +0 -108
  97. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.module.mjs +0 -29
  98. package/esm2022/lib/components/po-page-change-password/index.mjs +0 -7
  99. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-recovery.interface.mjs +0 -2
  100. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-requirement.interface.mjs +0 -2
  101. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password.interface.mjs +0 -2
  102. package/esm2022/lib/components/po-page-change-password/literals/i18n/po-page-change-password-literals.mjs +0 -79
  103. package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +0 -300
  104. package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +0 -401
  105. package/esm2022/lib/components/po-page-change-password/po-page-change-password.module.mjs +0 -30
  106. package/esm2022/lib/components/po-page-change-password/po-page-change-password.service.mjs +0 -18
  107. package/esm2022/lib/components/po-page-dynamic-detail/index.mjs +0 -10
  108. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-actions.interface.mjs +0 -2
  109. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-back.interface.mjs +0 -2
  110. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-edit.interface.mjs +0 -2
  111. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-remove.interface.mjs +0 -2
  112. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-field.interface.mjs +0 -2
  113. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-metadata.interface.mjs +0 -2
  114. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-options.interface.mjs +0 -2
  115. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +0 -44
  116. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +0 -546
  117. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.module.mjs +0 -54
  118. package/esm2022/lib/components/po-page-dynamic-edit/index.mjs +0 -11
  119. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-actions.interface.mjs +0 -2
  120. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-cancel.interface.mjs +0 -2
  121. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save-new.interface.mjs +0 -2
  122. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save.interface.mjs +0 -2
  123. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-field.interface.mjs +0 -2
  124. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-literals.interface.mjs +0 -2
  125. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-metadata.interface.mjs +0 -2
  126. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-options.interface.mjs +0 -2
  127. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +0 -44
  128. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +0 -889
  129. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.module.mjs +0 -60
  130. package/esm2022/lib/components/po-page-dynamic-search/index.mjs +0 -7
  131. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +0 -133
  132. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-literals.interface.mjs +0 -2
  133. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +0 -76
  134. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +0 -365
  135. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-filters.interface.mjs +0 -2
  136. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-literals.interface.mjs +0 -2
  137. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-options.interface.mjs +0 -2
  138. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +0 -349
  139. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.interface.mjs +0 -2
  140. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.module.mjs +0 -52
  141. package/esm2022/lib/components/po-page-dynamic-table/index.mjs +0 -16
  142. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-actions.interface.mjs +0 -2
  143. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-detail.interface.mjs +0 -2
  144. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-duplicate.interface.mjs +0 -2
  145. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-edit.interface.mjs +0 -2
  146. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-new.interface.mjs +0 -2
  147. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove-all.interface.mjs +0 -2
  148. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove.interface.mjs +0 -2
  149. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.mjs +0 -2
  150. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.mjs +0 -2
  151. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-field.interface.mjs +0 -2
  152. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-filters.interface.mjs +0 -2
  153. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-metadata.interface.mjs +0 -2
  154. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-options.interface.mjs +0 -2
  155. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +0 -271
  156. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +0 -59
  157. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-literals.mjs +0 -63
  158. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +0 -1257
  159. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.module.mjs +0 -50
  160. package/esm2022/lib/components/po-page-job-scheduler/index.mjs +0 -6
  161. package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler-internal.interface.mjs +0 -2
  162. package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.mjs +0 -2
  163. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +0 -302
  164. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +0 -393
  165. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-internal.mjs +0 -13
  166. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-literals.mjs +0 -195
  167. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-lookup.service.mjs +0 -22
  168. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/index.mjs +0 -2
  169. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/index.mjs +0 -2
  170. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +0 -92
  171. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +0 -79
  172. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/index.mjs +0 -2
  173. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/index.mjs +0 -2
  174. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/po-job-scheduler-summary-template.directive.mjs +0 -44
  175. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +0 -211
  176. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +0 -418
  177. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.mjs +0 -85
  178. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +0 -224
  179. package/esm2022/lib/components/po-page-login/enums/po-page-login-authentication-type.enum.mjs +0 -15
  180. package/esm2022/lib/components/po-page-login/index.mjs +0 -8
  181. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-custom-field.interface.mjs +0 -2
  182. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-literals.interface.mjs +0 -2
  183. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-recovery.interface.mjs +0 -2
  184. package/esm2022/lib/components/po-page-login/interfaces/po-page-login.interface.mjs +0 -2
  185. package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +0 -1099
  186. package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +0 -137
  187. package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +0 -483
  188. package/esm2022/lib/components/po-page-login/po-page-login.module.mjs +0 -31
  189. package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +0 -32
  190. package/esm2022/lib/index.mjs +0 -4
  191. package/esm2022/lib/po-templates.module.mjs +0 -18
  192. package/esm2022/lib/services/index.mjs +0 -4
  193. package/esm2022/lib/services/po-page-customization/index.mjs +0 -4
  194. package/esm2022/lib/services/po-page-customization/po-page-customization.module.mjs +0 -23
  195. package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +0 -86
  196. package/esm2022/lib/services/po-page-customization/po-page-dynamic-options.interface.mjs +0 -2
  197. package/esm2022/lib/services/po-page-dynamic/index.mjs +0 -3
  198. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic-literals.interface.mjs +0 -2
  199. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.module.mjs +0 -23
  200. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +0 -106
  201. package/esm2022/lib/services/services.module.mjs +0 -18
  202. package/esm2022/lib/utils/util.mjs +0 -428
  203. package/esm2022/po-ui-ng-templates.mjs +0 -5
  204. package/esm2022/public-api.mjs +0 -2
  205. package/po-ui-ng-templates-18.22.0.tgz +0 -0
@@ -1,451 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { isExternalLink } from '../../utils/util';
3
- import { PoModalPasswordRecoveryBaseComponent } from './po-modal-password-recovery-base.component';
4
- import { PoModalPasswordRecoveryModalContent } from './enums/po-modal-password-recovery-modal-content.enum';
5
- import { PoModalPasswordRecoveryType } from './enums/po-modal-password-recovery-type.enum';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@po-ui/ng-components";
9
- import * as i3 from "./po-modal-password-recovery.service";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@angular/forms";
12
- import * as i6 from "./po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component";
13
- const _c0 = ["emailForm"];
14
- const _c1 = ["recoveryModal"];
15
- const _c2 = ["smsCodeForm"];
16
- function PoModalPasswordRecoveryComponent_div_3_div_6_Template(rf, ctx) { if (rf & 1) {
17
- const _r1 = i0.ɵɵgetCurrentView();
18
- i0.ɵɵelementStart(0, "div")(1, "po-radio-group", 18);
19
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.chosenTypeFormOption, $event) || (ctx_r1.chosenTypeFormOption = $event); return i0.ɵɵresetView($event); });
20
- i0.ɵɵlistener("p-change", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_p_change_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.getInputType($event)); });
21
- i0.ɵɵelementEnd()();
22
- } if (rf & 2) {
23
- const ctx_r1 = i0.ɵɵnextContext(2);
24
- i0.ɵɵadvance();
25
- i0.ɵɵtwoWayProperty("ngModel", ctx_r1.chosenTypeFormOption);
26
- i0.ɵɵproperty("p-options", ctx_r1.typeFormOptions);
27
- } }
28
- function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template(rf, ctx) { if (rf & 1) {
29
- const _r3 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "po-email", 19);
31
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.email, $event) || (ctx_r1.email = $event); return i0.ɵɵresetView($event); });
32
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_p_change_model_0_listener() { i0.ɵɵrestoreView(_r3); i0.ɵɵnextContext(); const emailForm_r4 = i0.ɵɵreference(5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(emailForm_r4)); });
33
- i0.ɵɵelementEnd();
34
- } if (rf & 2) {
35
- const ctx_r1 = i0.ɵɵnextContext(2);
36
- i0.ɵɵtwoWayProperty("ngModel", ctx_r1.email);
37
- i0.ɵɵproperty("p-label", ctx_r1.literals.insertEmail);
38
- } }
39
- function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template(rf, ctx) { if (rf & 1) {
40
- const _r5 = i0.ɵɵgetCurrentView();
41
- i0.ɵɵelementStart(0, "po-input", 20);
42
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.phone, $event) || (ctx_r1.phone = $event); return i0.ɵɵresetView($event); });
43
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_p_change_model_0_listener() { i0.ɵɵrestoreView(_r5); i0.ɵɵnextContext(); const emailForm_r4 = i0.ɵɵreference(5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(emailForm_r4)); });
44
- i0.ɵɵelementEnd();
45
- } if (rf & 2) {
46
- const ctx_r1 = i0.ɵɵnextContext(2);
47
- i0.ɵɵtwoWayProperty("ngModel", ctx_r1.phone);
48
- i0.ɵɵproperty("p-label", ctx_r1.literals.insertPhone)("p-mask", ctx_r1.phoneMask)("p-maxlength", ctx_r1.maxLength)("p-minlength", ctx_r1.minLength);
49
- } }
50
- function PoModalPasswordRecoveryComponent_div_3_po_modal_password_recovery_error_message_11_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
52
- } if (rf & 2) {
53
- const ctx_r1 = i0.ɵɵnextContext(2);
54
- i0.ɵɵproperty("p-text", ctx_r1.type === "sms" ? ctx_r1.literals.phoneErrorMessagePhrase : ctx_r1.literals.emailErrorMessagePhrase);
55
- } }
56
- function PoModalPasswordRecoveryComponent_div_3_span_14_Template(rf, ctx) { if (rf & 1) {
57
- i0.ɵɵelementStart(0, "span");
58
- i0.ɵɵtext(1);
59
- i0.ɵɵelementStart(2, "a", 22);
60
- i0.ɵɵtext(3);
61
- i0.ɵɵelementEnd()();
62
- } if (rf & 2) {
63
- const ctx_r1 = i0.ɵɵnextContext(2);
64
- i0.ɵɵadvance();
65
- i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.prepositionIn, " ");
66
- i0.ɵɵadvance();
67
- i0.ɵɵpropertyInterpolate1("href", "mailto:", ctx_r1.contactEmail, "", i0.ɵɵsanitizeUrl);
68
- i0.ɵɵadvance();
69
- i0.ɵɵtextInterpolate1(" ", ctx_r1.contactEmail, " ");
70
- } }
71
- function PoModalPasswordRecoveryComponent_div_3_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
73
- i0.ɵɵtext(2);
74
- i0.ɵɵelementEnd();
75
- i0.ɵɵelementStart(3, "div", 10)(4, "form", null, 1);
76
- i0.ɵɵtemplate(6, PoModalPasswordRecoveryComponent_div_3_div_6_Template, 2, 2, "div", 11);
77
- i0.ɵɵelementStart(7, "div", 12);
78
- i0.ɵɵtemplate(8, PoModalPasswordRecoveryComponent_div_3_po_email_8_Template, 1, 2, "po-email", 13)(9, PoModalPasswordRecoveryComponent_div_3_po_input_9_Template, 1, 5, "po-input", 14);
79
- i0.ɵɵelementEnd();
80
- i0.ɵɵelementStart(10, "div", 15);
81
- i0.ɵɵtemplate(11, PoModalPasswordRecoveryComponent_div_3_po_modal_password_recovery_error_message_11_Template, 1, 1, "po-modal-password-recovery-error-message", 16);
82
- i0.ɵɵelementEnd()()();
83
- i0.ɵɵelementStart(12, "div", 17);
84
- i0.ɵɵtext(13);
85
- i0.ɵɵtemplate(14, PoModalPasswordRecoveryComponent_div_3_span_14_Template, 4, 4, "span", 11);
86
- i0.ɵɵtext(15);
87
- i0.ɵɵelementEnd()();
88
- } if (rf & 2) {
89
- const ctx_r1 = i0.ɵɵnextContext();
90
- i0.ɵɵadvance(2);
91
- i0.ɵɵtextInterpolate1(" ", ctx_r1.emailModalPhrases.firstPhrase, " ");
92
- i0.ɵɵadvance(4);
93
- i0.ɵɵproperty("ngIf", ctx_r1.modalPasswordRecoveryTypeAll);
94
- i0.ɵɵadvance(2);
95
- i0.ɵɵproperty("ngIf", ctx_r1.type === "email" || ctx_r1.type === "all");
96
- i0.ɵɵadvance();
97
- i0.ɵɵproperty("ngIf", ctx_r1.type === "sms");
98
- i0.ɵɵadvance(2);
99
- i0.ɵɵproperty("ngIf", ctx_r1.invalidEmail && ctx_r1.control.dirty);
100
- i0.ɵɵadvance(2);
101
- i0.ɵɵtextInterpolate1(" ", ctx_r1.emailModalPhrases.secondPhrase, " ");
102
- i0.ɵɵadvance();
103
- i0.ɵɵproperty("ngIf", ctx_r1.contactEmail);
104
- i0.ɵɵadvance();
105
- i0.ɵɵtextInterpolate1(" ", ctx_r1.endpoint, " ");
106
- } }
107
- function PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_9_Template(rf, ctx) { if (rf & 1) {
108
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
109
- } if (rf & 2) {
110
- const ctx_r1 = i0.ɵɵnextContext(2);
111
- i0.ɵɵproperty("p-text", ctx_r1.smsCodeErrorMessage || ctx_r1.literals.smsCodeErrorMessagePhrase);
112
- } }
113
- function PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_10_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
115
- } if (rf & 2) {
116
- const ctx_r1 = i0.ɵɵnextContext(2);
117
- i0.ɵɵproperty("p-text", ctx_r1.codeError);
118
- } }
119
- function PoModalPasswordRecoveryComponent_div_4_Template(rf, ctx) { if (rf & 1) {
120
- const _r6 = i0.ɵɵgetCurrentView();
121
- i0.ɵɵelementStart(0, "div", 8, 2)(2, "div", 9);
122
- i0.ɵɵtext(3);
123
- i0.ɵɵelementEnd();
124
- i0.ɵɵelementStart(4, "div", 10)(5, "form", null, 3)(7, "po-input", 23);
125
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.smsCode, $event) || (ctx_r1.smsCode = $event); return i0.ɵɵresetView($event); });
126
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_p_change_model_7_listener() { i0.ɵɵrestoreView(_r6); const smsCodeForm_r7 = i0.ɵɵreference(6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(smsCodeForm_r7)); });
127
- i0.ɵɵelementEnd();
128
- i0.ɵɵelementStart(8, "div", 15);
129
- i0.ɵɵtemplate(9, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_9_Template, 1, 1, "po-modal-password-recovery-error-message", 16)(10, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_10_Template, 1, 1, "po-modal-password-recovery-error-message", 16);
130
- i0.ɵɵelementEnd()()();
131
- i0.ɵɵelementStart(11, "div", 17);
132
- i0.ɵɵtext(12);
133
- i0.ɵɵelementStart(13, "span", 24);
134
- i0.ɵɵlistener("click", function PoModalPasswordRecoveryComponent_div_4_Template_span_click_13_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.resendSmsCode()); });
135
- i0.ɵɵtext(14);
136
- i0.ɵɵelementEnd()()();
137
- } if (rf & 2) {
138
- const ctx_r1 = i0.ɵɵnextContext();
139
- i0.ɵɵadvance(3);
140
- i0.ɵɵtextInterpolate(ctx_r1.literals.sentSmsCodePhrase);
141
- i0.ɵɵadvance(4);
142
- i0.ɵɵtwoWayProperty("ngModel", ctx_r1.smsCode);
143
- i0.ɵɵproperty("p-label", ctx_r1.literals.insertCode)("p-mask", ctx_r1.codeMask);
144
- i0.ɵɵadvance(2);
145
- i0.ɵɵproperty("ngIf", ctx_r1.invalidEmail);
146
- i0.ɵɵadvance();
147
- i0.ɵɵproperty("ngIf", ctx_r1.showCustomCodeError);
148
- i0.ɵɵadvance(2);
149
- i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.sendAgainPhrase, " ");
150
- i0.ɵɵadvance(2);
151
- i0.ɵɵtextInterpolate(ctx_r1.literals.sendAgain);
152
- } }
153
- function PoModalPasswordRecoveryComponent_div_5_Template(rf, ctx) { if (rf & 1) {
154
- i0.ɵɵelementStart(0, "div", 8, 4);
155
- i0.ɵɵelement(2, "img", 25);
156
- i0.ɵɵelementStart(3, "div", 26);
157
- i0.ɵɵtext(4);
158
- i0.ɵɵelementEnd()();
159
- } if (rf & 2) {
160
- const ctx_r1 = i0.ɵɵnextContext();
161
- i0.ɵɵadvance(4);
162
- i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.emailSentConfirmationPhrase, " ");
163
- } }
164
- /**
165
- * @docsExtends PoModalPasswordRecoveryBaseComponent
166
- *
167
- * @example
168
- *
169
- * <example name="po-modal-password-recovery-basic" title="PO Modal Password Recovery Basic">
170
- * <file name="sample-po-modal-password-recovery-basic/sample-po-modal-password-recovery-basic.component.html"> </file>
171
- * <file name="sample-po-modal-password-recovery-basic/sample-po-modal-password-recovery-basic.component.ts"> </file>
172
- * </example>
173
- *
174
- * <example name="po-modal-password-recovery-labs" title="PO Modal Password Recovery Labs">
175
- * <file name="sample-po-modal-password-recovery-labs/sample-po-modal-password-recovery-labs.component.html"> </file>
176
- * <file name="sample-po-modal-password-recovery-labs/sample-po-modal-password-recovery-labs.component.ts"> </file>
177
- * </example>
178
- *
179
- * <example name="po-modal-password-recovery-request" title="PO Modal Password Recovery Request">
180
- * <file name="sample-po-modal-password-recovery-request/sample-po-modal-password-recovery-request.component.html"> </file>
181
- * <file name="sample-po-modal-password-recovery-request/sample-po-modal-password-recovery-request.component.ts"> </file>
182
- * </example>
183
- */
184
- export class PoModalPasswordRecoveryComponent extends PoModalPasswordRecoveryBaseComponent {
185
- router;
186
- poI18nPipe;
187
- poModalPasswordRecoveryService;
188
- emailForm;
189
- recoveryModalElement;
190
- smsCodeForm;
191
- chosenTypeFormOption = PoModalPasswordRecoveryType.Email;
192
- codeMask = '9 9 9 9 9 9';
193
- control;
194
- emailModal = true;
195
- emailModalPhrases = { firstPhrase: null, secondPhrase: null };
196
- endpoint = '.';
197
- invalidCode = false;
198
- invalidEmail = false;
199
- modalTitle;
200
- modalType = PoModalPasswordRecoveryModalContent.Email;
201
- showCustomCodeError;
202
- smsCodeErrorMessagePhrase;
203
- submittedCodeValue = {};
204
- submittedContactValue = {};
205
- primaryAction = { label: undefined, action: () => { } };
206
- secondaryAction = { label: undefined, action: () => { } };
207
- typeFormOptions = [
208
- { label: 'e-mail', value: PoModalPasswordRecoveryType.Email },
209
- { label: 'SMS', value: PoModalPasswordRecoveryType.SMS }
210
- ];
211
- passwordRecoverySubscription;
212
- smsBodyResponse;
213
- smsCodeSubscription;
214
- constructor(router, poI18nPipe, poModalPasswordRecoveryService, poLanguageService) {
215
- super(poLanguageService);
216
- this.router = router;
217
- this.poI18nPipe = poI18nPipe;
218
- this.poModalPasswordRecoveryService = poModalPasswordRecoveryService;
219
- }
220
- ngOnDestroy() {
221
- if (this.passwordRecoverySubscription) {
222
- this.passwordRecoverySubscription.unsubscribe();
223
- }
224
- if (this.smsCodeSubscription) {
225
- this.smsCodeSubscription.unsubscribe();
226
- }
227
- }
228
- completed() {
229
- this.cancelAction();
230
- }
231
- formModelChangesCheck(form) {
232
- const invalidForm = form.invalid;
233
- this.invalidEmail = invalidForm && form.dirty;
234
- this.primaryAction.disabled = invalidForm;
235
- if (this.modalType === PoModalPasswordRecoveryModalContent.SMSCode) {
236
- const codeError = this.codeError !== undefined && this.codeError !== '';
237
- this.showCustomCodeError = codeError && form.pristine;
238
- }
239
- }
240
- getInputType(type) {
241
- this.type = type;
242
- this.pipeModalPhrases();
243
- setTimeout(() => {
244
- this.control = this.emailForm.controls[type];
245
- this.formModelChangesCheck(this.emailForm);
246
- this.resetFormFields(this.control);
247
- });
248
- }
249
- open() {
250
- const control = this.checkFormType(this.type);
251
- this.control = this.emailForm.controls[control];
252
- this.setEmailModalPhrasesAndActions();
253
- this.formModelChangesCheck(this.emailForm);
254
- this.recoveryModalElement.open();
255
- }
256
- openConfirmation() {
257
- this.modalTitle = this.literals.emailSentTitle;
258
- this.modalType = PoModalPasswordRecoveryModalContent.Confirmation;
259
- this.setActions(this.cancelAction, this.literals.closeButton, this.submitAction, this.literals.resendEmailButton, false);
260
- }
261
- openSmsCode() {
262
- this.modalTitle = this.literals.typeCodeTitle;
263
- this.modalType = PoModalPasswordRecoveryModalContent.SMSCode;
264
- this.setActions(this.submitSmsCodeAction, this.literals.continueButton, this.cancelAction, this.literals.cancelButton, true);
265
- setTimeout(() => {
266
- this.control = this.smsCodeForm.controls['sms'];
267
- this.formModelChangesCheck(this.smsCodeForm);
268
- });
269
- }
270
- resendSmsCode() {
271
- this.incrementRetryAttempts();
272
- if (this.urlRecovery) {
273
- this.submitActionRequest(this.submittedContactValue, this.type);
274
- }
275
- else {
276
- this.submit.emit(this.submittedContactValue);
277
- }
278
- }
279
- assignSmsResponse(responseObj) {
280
- this.smsBodyResponse = Object.assign({}, { hash: responseObj.hash });
281
- if (responseObj.urlValidationCode) {
282
- this.smsBodyResponse = Object.assign(this.smsBodyResponse, { urlValidationCode: responseObj.urlValidationCode });
283
- }
284
- }
285
- cancelAction() {
286
- this.resetFormFields(this.control);
287
- this.submittedContactValue = {};
288
- this.chosenTypeFormOption = PoModalPasswordRecoveryType.Email;
289
- this.modalType = PoModalPasswordRecoveryModalContent.Email;
290
- this.type = this.modalPasswordRecoveryTypeAll ? PoModalPasswordRecoveryType.All : this.type;
291
- this.recoveryModalElement.close();
292
- }
293
- checkFormType(type) {
294
- return type !== PoModalPasswordRecoveryType.All ? type : PoModalPasswordRecoveryType.Email;
295
- }
296
- formReset(control) {
297
- control.markAsPristine();
298
- control.markAsUntouched();
299
- control.updateValueAndValidity();
300
- }
301
- getEmitValue(type) {
302
- return type === PoModalPasswordRecoveryType.SMS ? this.phone : this.email;
303
- }
304
- incrementRetryAttempts() {
305
- this.submittedContactValue.retry = this.submittedContactValue.retry + 1 || 1;
306
- }
307
- openExternalLink(url, queryParam) {
308
- window.open(`${url}?token=${queryParam}`, '_self');
309
- }
310
- openInternalLink(url, endpoint, queryParam) {
311
- this.router.navigate([`${url}/${endpoint}`], { queryParams: { token: queryParam } });
312
- }
313
- pipeModalPhrases() {
314
- if (this.type === PoModalPasswordRecoveryType.SMS) {
315
- this.emailModalPhrases.firstPhrase = this.setPipeArguments(this.literals.recoveryPasswordPhrase, this.literals.sms);
316
- this.emailModalPhrases.secondPhrase = this.setPipeArguments(this.literals.supportContact, this.literals.telephone);
317
- }
318
- else {
319
- this.emailModalPhrases.firstPhrase = this.setPipeArguments(this.literals.recoveryPasswordPhrase, this.literals.email);
320
- this.emailModalPhrases.secondPhrase = this.setPipeArguments(this.literals.supportContact, this.literals.email);
321
- }
322
- }
323
- redirectToChangePassword(recoveryToken) {
324
- const urlChangePassword = recoveryToken.urlChangePassword;
325
- if (urlChangePassword) {
326
- isExternalLink(urlChangePassword)
327
- ? this.openExternalLink(urlChangePassword, recoveryToken.token)
328
- : this.openInternalLink(this.urlRecovery, urlChangePassword, recoveryToken.token);
329
- }
330
- else {
331
- const changePasswordEndpoint = 'changePassword';
332
- this.openInternalLink(this.urlRecovery, changePasswordEndpoint, recoveryToken.token);
333
- }
334
- }
335
- resetFormFields(control) {
336
- this.formReset(control);
337
- this.email = undefined;
338
- this.phone = undefined;
339
- this.smsCode = undefined;
340
- }
341
- setActions(primaryAction, primarylabel, secondaryAction, secondaryLabel, disabled) {
342
- this.primaryAction.action = () => primaryAction.call(this);
343
- this.primaryAction.label = primarylabel;
344
- this.secondaryAction.action = () => secondaryAction.call(this);
345
- this.secondaryAction.label = secondaryLabel;
346
- this.primaryAction.disabled = disabled;
347
- }
348
- setEmailModalPhrasesAndActions() {
349
- this.modalTitle = this.literals.forgotPasswordTitle;
350
- this.pipeModalPhrases();
351
- this.modalPasswordRecoveryTypeAll = this.type === PoModalPasswordRecoveryType.All;
352
- this.setActions(this.submitAction, this.literals.sendButton, this.cancelAction, this.literals.cancelButton, true);
353
- }
354
- setRequestEndpoint(urlValidationCode) {
355
- const endpoint = urlValidationCode || 'validation';
356
- return `${this.urlRecovery}/${endpoint}`;
357
- }
358
- setPipeArguments(literalAttr, arg) {
359
- return this.poI18nPipe.transform(literalAttr, arg);
360
- }
361
- submitAction() {
362
- this.modalType === PoModalPasswordRecoveryModalContent.Confirmation
363
- ? this.incrementRetryAttempts()
364
- : this.formReset(this.control);
365
- this.submittedContactValue[this.checkFormType(this.type)] = this.getEmitValue(this.type);
366
- if (this.urlRecovery) {
367
- this.submitActionRequest(this.submittedContactValue, this.type);
368
- }
369
- else {
370
- this.submit.emit(this.submittedContactValue);
371
- }
372
- }
373
- submitActionRequest(data, modalType) {
374
- const params = modalType === PoModalPasswordRecoveryType.SMS ? { type: 'sms' } : undefined;
375
- this.passwordRecoverySubscription = this.poModalPasswordRecoveryService
376
- .post(this.urlRecovery, data, params)
377
- .subscribe(response => {
378
- if ((modalType === PoModalPasswordRecoveryType.Email || modalType === PoModalPasswordRecoveryType.All) &&
379
- response.status === 204) {
380
- this.openConfirmation();
381
- }
382
- else if (modalType === PoModalPasswordRecoveryType.SMS && response.status === 200) {
383
- this.assignSmsResponse(response.body);
384
- this.openSmsCode();
385
- }
386
- });
387
- }
388
- submitSmsCodeAction() {
389
- this.submittedCodeValue.code = this.smsCode;
390
- if (this.urlRecovery) {
391
- this.submittedCodeValue = Object.assign(this.submittedCodeValue, { hash: this.smsBodyResponse.hash });
392
- this.submitSmsCodeRequest(this.submittedCodeValue);
393
- }
394
- else {
395
- this.codeSubmit.emit(this.submittedCodeValue);
396
- }
397
- this.resetFormFields(this.control);
398
- }
399
- submitSmsCodeRequest(data) {
400
- this.smsCodeSubscription = this.poModalPasswordRecoveryService
401
- .post(this.setRequestEndpoint(this.smsBodyResponse.urlValidationCode), data)
402
- .subscribe(response => {
403
- const successStatus = response.status === 200;
404
- if (successStatus) {
405
- this.completed();
406
- this.redirectToChangePassword(response.body);
407
- }
408
- }, error => {
409
- this.codeError = error.error.message;
410
- this.openSmsCode();
411
- });
412
- }
413
- static ɵfac = function PoModalPasswordRecoveryComponent_Factory(t) { return new (t || PoModalPasswordRecoveryComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.PoI18nPipe), i0.ɵɵdirectiveInject(i3.PoModalPasswordRecoveryService), i0.ɵɵdirectiveInject(i2.PoLanguageService)); };
414
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoModalPasswordRecoveryComponent, selectors: [["po-modal-password-recovery"]], viewQuery: function PoModalPasswordRecoveryComponent_Query(rf, ctx) { if (rf & 1) {
415
- i0.ɵɵviewQuery(_c0, 5);
416
- i0.ɵɵviewQuery(_c1, 7);
417
- i0.ɵɵviewQuery(_c2, 5);
418
- } if (rf & 2) {
419
- let _t;
420
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emailForm = _t.first);
421
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recoveryModalElement = _t.first);
422
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.smsCodeForm = _t.first);
423
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 7, consts: [["recoveryModal", ""], ["emailForm", "ngForm"], ["smsCodeModal", ""], ["smsCodeForm", "ngForm"], ["confirmationModal", ""], ["p-hide-close", "", "p-size", "auto", 3, "ngSwitch", "p-primary-action", "p-secondary-action", "p-title"], [1, "po-modal-password-recovery-wrapper"], ["class", "po-modal-password-recovery-content po-row", 4, "ngSwitchCase"], [1, "po-modal-password-recovery-content", "po-row"], [1, "po-modal-password-recovery-text", "po-md-12", "po-mb-1"], [1, "po-mb-2", "po-md-12"], [4, "ngIf"], [1, "po-mt-1"], ["name", "email", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model", 4, "ngIf"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength", "ngModelChange", "p-change-model", 4, "ngIf"], [1, "po-field-container-bottom", "po-field-container-error-container"], [3, "p-text", 4, "ngIf"], [1, "po-modal-password-recovery-text", "po-md-12"], ["name", "type", 3, "ngModelChange", "p-change", "ngModel", "p-options"], ["name", "email", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength"], [3, "p-text"], ["target", "_self", 1, "po-modal-password-recovery-link", 3, "href"], ["name", "sms", "p-maxlength", "11", "p-minlength", "11", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label", "p-mask"], [1, "po-modal-password-recovery-link", 3, "click"], ["src", "./assets/images/email-sent.svg", 1, "po-modal-password-recovery-user-image", "po-mb-2"], [1, "po-modal-password-recovery-text"]], template: function PoModalPasswordRecoveryComponent_Template(rf, ctx) { if (rf & 1) {
424
- i0.ɵɵelementStart(0, "po-modal", 5, 0)(2, "div", 6);
425
- i0.ɵɵtemplate(3, PoModalPasswordRecoveryComponent_div_3_Template, 16, 8, "div", 7)(4, PoModalPasswordRecoveryComponent_div_4_Template, 15, 8, "div", 7)(5, PoModalPasswordRecoveryComponent_div_5_Template, 5, 1, "div", 7);
426
- i0.ɵɵelementEnd()();
427
- } if (rf & 2) {
428
- i0.ɵɵproperty("ngSwitch", ctx.modalType)("p-primary-action", ctx.primaryAction)("p-secondary-action", ctx.secondaryAction)("p-title", ctx.modalTitle);
429
- i0.ɵɵadvance(3);
430
- i0.ɵɵproperty("ngSwitchCase", "email");
431
- i0.ɵɵadvance();
432
- i0.ɵɵproperty("ngSwitchCase", "smsCode");
433
- i0.ɵɵadvance();
434
- i0.ɵɵproperty("ngSwitchCase", "confirmation");
435
- } }, dependencies: [i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i5.ɵNgNoValidate, i5.NgControlStatus, i5.NgControlStatusGroup, i5.NgModel, i5.NgForm, i2.PoRadioGroupComponent, i2.PoEmailComponent, i2.PoInputComponent, i2.PoModalComponent, i6.PoModalPasswordRecoveryErrorMessageComponent], encapsulation: 2 });
436
- }
437
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoModalPasswordRecoveryComponent, [{
438
- type: Component,
439
- args: [{ selector: 'po-modal-password-recovery', template: "<po-modal\n #recoveryModal\n p-hide-close\n p-size=\"auto\"\n [ngSwitch]=\"modalType\"\n [p-primary-action]=\"primaryAction\"\n [p-secondary-action]=\"secondaryAction\"\n [p-title]=\"modalTitle\"\n>\n <div class=\"po-modal-password-recovery-wrapper\">\n <div *ngSwitchCase=\"'email'\" class=\"po-modal-password-recovery-content po-row\">\n <div class=\"po-modal-password-recovery-text po-md-12 po-mb-1\">\n {{ emailModalPhrases.firstPhrase }}\n </div>\n <div class=\"po-mb-2 po-md-12\">\n <form #emailForm=\"ngForm\">\n <div *ngIf=\"modalPasswordRecoveryTypeAll\">\n <po-radio-group\n name=\"type\"\n [(ngModel)]=\"chosenTypeFormOption\"\n [p-options]=\"typeFormOptions\"\n (p-change)=\"getInputType($event)\"\n >\n </po-radio-group>\n </div>\n\n <div class=\"po-mt-1\">\n <po-email\n *ngIf=\"type === 'email' || type === 'all'\"\n name=\"email\"\n [(ngModel)]=\"email\"\n p-required\n [p-label]=\"literals.insertEmail\"\n (p-change-model)=\"formModelChangesCheck(emailForm)\"\n >\n </po-email>\n\n <po-input\n *ngIf=\"type === 'sms'\"\n name=\"sms\"\n [(ngModel)]=\"phone\"\n p-icon=\"ICON_TELEPHONE\"\n p-required\n [p-label]=\"literals.insertPhone\"\n [p-mask]=\"phoneMask\"\n [p-maxlength]=\"maxLength\"\n [p-minlength]=\"minLength\"\n (p-change-model)=\"formModelChangesCheck(emailForm)\"\n >\n </po-input>\n </div>\n\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <po-modal-password-recovery-error-message\n *ngIf=\"invalidEmail && control.dirty\"\n [p-text]=\"type === 'sms' ? literals.phoneErrorMessagePhrase : literals.emailErrorMessagePhrase\"\n >\n </po-modal-password-recovery-error-message>\n </div>\n </form>\n </div>\n <div class=\"po-modal-password-recovery-text po-md-12\">\n {{ emailModalPhrases.secondPhrase }}\n <span *ngIf=\"contactEmail\">\n {{ literals.prepositionIn }}\n <a class=\"po-modal-password-recovery-link\" href=\"mailto:{{ contactEmail }}\" target=\"_self\">\n {{ contactEmail }}\n </a>\n </span>\n {{ endpoint }}\n </div>\n </div>\n\n <div #smsCodeModal *ngSwitchCase=\"'smsCode'\" class=\"po-modal-password-recovery-content po-row\">\n <div class=\"po-modal-password-recovery-text po-md-12 po-mb-1\">{{ literals.sentSmsCodePhrase }}</div>\n <div class=\"po-mb-2 po-md-12\">\n <form #smsCodeForm=\"ngForm\">\n <po-input\n name=\"sms\"\n [(ngModel)]=\"smsCode\"\n p-maxlength=\"11\"\n p-minlength=\"11\"\n p-required\n [p-label]=\"literals.insertCode\"\n [p-mask]=\"codeMask\"\n (p-change-model)=\"formModelChangesCheck(smsCodeForm)\"\n >\n </po-input>\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <po-modal-password-recovery-error-message\n *ngIf=\"invalidEmail\"\n [p-text]=\"smsCodeErrorMessage || this.literals.smsCodeErrorMessagePhrase\"\n >\n </po-modal-password-recovery-error-message>\n <po-modal-password-recovery-error-message *ngIf=\"showCustomCodeError\" [p-text]=\"codeError\">\n </po-modal-password-recovery-error-message>\n </div>\n </form>\n </div>\n <div class=\"po-modal-password-recovery-text po-md-12\">\n {{ literals.sendAgainPhrase }}\n <span class=\"po-modal-password-recovery-link\" (click)=\"resendSmsCode()\">{{ literals.sendAgain }}</span>\n </div>\n </div>\n\n <div #confirmationModal *ngSwitchCase=\"'confirmation'\" class=\"po-modal-password-recovery-content po-row\">\n <img class=\"po-modal-password-recovery-user-image po-mb-2\" src=\"./assets/images/email-sent.svg\" />\n <div class=\"po-modal-password-recovery-text\">\n {{ literals.emailSentConfirmationPhrase }}\n </div>\n </div>\n </div>\n</po-modal>\n" }]
440
- }], () => [{ type: i1.Router }, { type: i2.PoI18nPipe }, { type: i3.PoModalPasswordRecoveryService }, { type: i2.PoLanguageService }], { emailForm: [{
441
- type: ViewChild,
442
- args: ['emailForm']
443
- }], recoveryModalElement: [{
444
- type: ViewChild,
445
- args: ['recoveryModal', { static: true }]
446
- }], smsCodeForm: [{
447
- type: ViewChild,
448
- args: ['smsCodeForm']
449
- }] }); })();
450
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoModalPasswordRecoveryComponent, { className: "PoModalPasswordRecoveryComponent", filePath: "lib/components/po-modal-password-recovery/po-modal-password-recovery.component.ts", lineNumber: 47 }); })();
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0YvRSxBQURGLDJCQUEwQyx5QkFNdkM7SUFIQyx3VkFBa0M7SUFFbEMsdU5BQVksMkJBQW9CLEtBQUM7SUFHckMsQUFERSxpQkFBaUIsRUFDYjs7O0lBTEYsY0FBa0M7SUFBbEMsMkRBQWtDO0lBQ2xDLGtEQUE2Qjs7OztJQU8vQixvQ0FPQztJQUpDLHlUQUFtQjtJQUduQix1UkFBa0IsMENBQWdDLEtBQUM7SUFFckQsaUJBQVc7OztJQUxULDRDQUFtQjtJQUVuQixxREFBZ0M7Ozs7SUFLbEMsb0NBV0M7SUFSQyx5VEFBbUI7SUFPbkIsdVJBQWtCLDBDQUFnQyxLQUFDO0lBRXJELGlCQUFXOzs7SUFUVCw0Q0FBbUI7SUFN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ZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvSTE4blBpcGUsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb01vZGFsQWN0aW9uLFxuICBQb01vZGFsQ29tcG9uZW50LFxuICBQb1JhZGlvR3JvdXBPcHRpb25cbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBpc0V4dGVybmFsTGluayB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudCB9IGZyb20gJy4vZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbW9kYWwtY29udGVudC5lbnVtJztcbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSB9IGZyb20gJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUgfSBmcm9tICcuL2VudW1zL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXR5cGUuZW51bSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktYmFzaWMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdFwiIHRpdGxlPVwiUE8gTW9kYWwgUGFzc3dvcmQgUmVjb3ZlcnkgUmVxdWVzdFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC9zYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0L3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50IGV4dGVuZHMgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZW1haWxGb3JtJykgZW1haWxGb3JtOiBOZ0Zvcm07XG5cbiAgQFZpZXdDaGlsZCgncmVjb3ZlcnlNb2RhbCcsIHsgc3RhdGljOiB0cnVlIH0pIHJlY292ZXJ5TW9kYWxFbGVtZW50OiBQb01vZGFsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3Ntc0NvZGVGb3JtJykgc21zQ29kZUZvcm06IE5nRm9ybTtcblxuICBjaG9zZW5UeXBlRm9ybU9wdGlvbjogc3RyaW5nID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICBjb2RlTWFzazogc3RyaW5nID0gJzkgOSA5IDkgOSA5JztcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBlbWFpbE1vZGFsOiBib29sZWFuID0gdHJ1ZTtcbiAgZW1haWxNb2RhbFBocmFzZXMgPSB7IGZpcnN0UGhyYXNlOiBudWxsIGFzIHN0cmluZywgc2Vjb25kUGhyYXNlOiBudWxsIGFzIHN0cmluZyB9O1xuICBlbmRwb2ludDogc3RyaW5nID0gJy4nO1xuICBpbnZhbGlkQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbnZhbGlkRW1haWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9kYWxUaXRsZTogc3RyaW5nO1xuICBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50ID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gIHNob3dDdXN0b21Db2RlRXJyb3I6IGJvb2xlYW47XG4gIHNtc0NvZGVFcnJvck1lc3NhZ2VQaHJhc2U6IHN0cmluZztcbiAgc3VibWl0dGVkQ29kZVZhbHVlID0ge30gYXMgUG9Nb2RhbFBhc3N3b3JkUmVjb3Zlcnk7XG4gIHN1Ym1pdHRlZENvbnRhY3RWYWx1ZSA9IHt9IGFzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5O1xuXG4gIHByaW1hcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICBzZWNvbmRhcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICB0eXBlRm9ybU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj4gPSBbXG4gICAgeyBsYWJlbDogJ2UtbWFpbCcsIHZhbHVlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWwgfSxcbiAgICB7IGxhYmVsOiAnU01TJywgdmFsdWU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5TTVMgfVxuICBdO1xuXG4gIHByaXZhdGUgcGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNtc0JvZHlSZXNwb25zZTtcbiAgcHJpdmF0ZSBzbXNDb2RlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBvSTE4blBpcGU6IFBvSTE4blBpcGUsXG4gICAgcHJpdmF0ZSBwb01vZGFsUGFzc3dvcmRSZWNvdmVyeVNlcnZpY2U6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSxcbiAgICBwb0xhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocG9MYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wYXNzd29yZFJlY292ZXJ5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zbXNDb2RlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVkKCkge1xuICAgIHRoaXMuY2FuY2VsQWN0aW9uKCk7XG4gIH1cblxuICBmb3JtTW9kZWxDaGFuZ2VzQ2hlY2soZm9ybTogTmdGb3JtKSB7XG4gICAgY29uc3QgaW52YWxpZEZvcm0gPSBmb3JtLmludmFsaWQ7XG4gICAgdGhpcy5pbnZhbGlkRW1haWwgPSBpbnZhbGlkRm9ybSAmJiBmb3JtLmRpcnR5O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbi5kaXNhYmxlZCA9IGludmFsaWRGb3JtO1xuXG4gICAgaWYgKHRoaXMubW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudC5TTVNDb2RlKSB7XG4gICAgICBjb25zdCBjb2RlRXJyb3I6IGJvb2xlYW4gPSB0aGlzLmNvZGVFcnJvciAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29kZUVycm9yICE9PSAnJztcbiAgICAgIHRoaXMuc2hvd0N1c3RvbUNvZGVFcnJvciA9IGNvZGVFcnJvciAmJiBmb3JtLnByaXN0aW5lO1xuICAgIH1cbiAgfVxuXG4gIGdldElucHV0VHlwZSh0eXBlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW3R5cGVdO1xuICAgICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgICAgdGhpcy5yZXNldEZvcm1GaWVsZHModGhpcy5jb250cm9sKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW2NvbnRyb2xdO1xuICAgIHRoaXMuc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCk7XG4gICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgIHRoaXMucmVjb3ZlcnlNb2RhbEVsZW1lbnQub3BlbigpO1xuICB9XG5cbiAgb3BlbkNvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLm1vZGFsVGl0bGUgPSB0aGlzLmxpdGVyYWxzLmVtYWlsU2VudFRpdGxlO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuQ29uZmlybWF0aW9uO1xuICAgIHRoaXMuc2V0QWN0aW9ucyhcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jbG9zZUJ1dHRvbixcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5yZXNlbmRFbWFpbEJ1dHRvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5TbXNDb2RlKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMudHlwZUNvZGVUaXRsZTtcbiAgICB0aGlzLm1vZGFsVHlwZSA9IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LlNNU0NvZGU7XG4gICAgdGhpcy5zZXRBY3Rpb25zKFxuICAgICAgdGhpcy5zdWJtaXRTbXNDb2RlQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jb250aW51ZUJ1dHRvbixcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jYW5jZWxCdXR0b24sXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5zbXNDb2RlRm9ybS5jb250cm9sc1snc21zJ107XG4gICAgICB0aGlzLmZvcm1Nb2RlbENoYW5nZXNDaGVjayh0aGlzLnNtc0NvZGVGb3JtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2VuZFNtc0NvZGUoKSB7XG4gICAgdGhpcy5pbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZU9iaikge1xuICAgIHRoaXMuc21zQm9keVJlc3BvbnNlID0gT2JqZWN0LmFzc2lnbih7fSwgeyBoYXNoOiByZXNwb25zZU9iai5oYXNoIH0pO1xuICAgIGlmIChyZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSkge1xuICAgICAgdGhpcy5zbXNCb2R5UmVzcG9uc2UgPSBPYmplY3QuYXNzaWduKHRoaXMuc21zQm9keVJlc3BvbnNlLCB7IHVybFZhbGlkYXRpb25Db2RlOiByZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEFjdGlvbigpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlID0ge307XG5cbiAgICB0aGlzLmNob3NlblR5cGVGb3JtT3B0aW9uID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gICAgdGhpcy50eXBlID0gdGhpcy5tb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlQWxsID8gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkFsbCA6IHRoaXMudHlwZTtcbiAgICB0aGlzLnJlY292ZXJ5TW9kYWxFbGVtZW50LmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybVR5cGUodHlwZTogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlKSB7XG4gICAgcmV0dXJuIHR5cGUgIT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwgPyB0eXBlIDogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtUmVzZXQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEVtaXRWYWx1ZSh0eXBlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUpIHtcbiAgICByZXR1cm4gdHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHRoaXMucGhvbmUgOiB0aGlzLmVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlLnJldHJ5ID0gdGhpcy5zdWJtaXR0ZWRDb250YWN0VmFsdWUucmV0cnkgKyAxIHx8IDE7XG4gIH1cblxuICBwcml2YXRlIG9wZW5FeHRlcm5hbExpbmsodXJsLCBxdWVyeVBhcmFtKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7dXJsfT90b2tlbj0ke3F1ZXJ5UGFyYW19YCwgJ19zZWxmJyk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5JbnRlcm5hbExpbmsodXJsLCBlbmRwb2ludCwgcXVlcnlQYXJhbSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt1cmx9LyR7ZW5kcG9pbnR9YF0sIHsgcXVlcnlQYXJhbXM6IHsgdG9rZW46IHF1ZXJ5UGFyYW0gfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGlwZU1vZGFsUGhyYXNlcygpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TKSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc21zXG4gICAgICApO1xuICAgICAgdGhpcy5lbWFpbE1vZGFsUGhyYXNlcy5zZWNvbmRQaHJhc2UgPSB0aGlzLnNldFBpcGVBcmd1bWVudHMoXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc3VwcG9ydENvbnRhY3QsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMudGVsZXBob25lXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuZW1haWxcbiAgICAgICk7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSA9IHRoaXMuc2V0UGlwZUFyZ3VtZW50cyh0aGlzLmxpdGVyYWxzLnN1cHBvcnRDb250YWN0LCB0aGlzLmxpdGVyYWxzLmVtYWlsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0VG9DaGFuZ2VQYXNzd29yZChyZWNvdmVyeVRva2VuOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIGNvbnN0IHVybENoYW5nZVBhc3N3b3JkID0gcmVjb3ZlcnlUb2tlbi51cmxDaGFuZ2VQYXNzd29yZDtcbiAgICBpZiAodXJsQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICAgIGlzRXh0ZXJuYWxMaW5rKHVybENoYW5nZVBhc3N3b3JkKVxuICAgICAgICA/IHRoaXMub3BlbkV4dGVybmFsTGluayh1cmxDaGFuZ2VQYXNzd29yZCwgcmVjb3ZlcnlUb2tlbi50b2tlbilcbiAgICAgICAgOiB0aGlzLm9wZW5JbnRlcm5hbExpbmsodGhpcy51cmxSZWNvdmVyeSwgdXJsQ2hhbmdlUGFzc3dvcmQsIHJlY292ZXJ5VG9rZW4udG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50ID0gJ2NoYW5nZVBhc3N3b3JkJztcbiAgICAgIHRoaXMub3BlbkludGVybmFsTGluayh0aGlzLnVybFJlY292ZXJ5LCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50LCByZWNvdmVyeVRva2VuLnRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybUZpZWxkcyhjb250cm9sKSB7XG4gICAgdGhpcy5mb3JtUmVzZXQoY29udHJvbCk7XG4gICAgdGhpcy5lbWFpbCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnBob25lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc21zQ29kZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aW9ucyhwcmltYXJ5QWN0aW9uLCBwcmltYXJ5bGFiZWwsIHNlY29uZGFyeUFjdGlvbiwgc2Vjb25kYXJ5TGFiZWwsIGRpc2FibGVkKSB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmFjdGlvbiA9ICgpID0+IHByaW1hcnlBY3Rpb24uY2FsbCh0aGlzKTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24ubGFiZWwgPSBwcmltYXJ5bGFiZWw7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24uYWN0aW9uID0gKCkgPT4gc2Vjb25kYXJ5QWN0aW9uLmNhbGwodGhpcyk7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24ubGFiZWwgPSBzZWNvbmRhcnlMYWJlbDtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24uZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMuZm9yZ290UGFzc3dvcmRUaXRsZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICB0aGlzLm1vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGVBbGwgPSB0aGlzLnR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGw7XG4gICAgdGhpcy5zZXRBY3Rpb25zKHRoaXMuc3VibWl0QWN0aW9uLCB0aGlzLmxpdGVyYWxzLnNlbmRCdXR0b24sIHRoaXMuY2FuY2VsQWN0aW9uLCB0aGlzLmxpdGVyYWxzLmNhbmNlbEJ1dHRvbiwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlcXVlc3RFbmRwb2ludCh1cmxWYWxpZGF0aW9uQ29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdXJsVmFsaWRhdGlvbkNvZGUgfHwgJ3ZhbGlkYXRpb24nO1xuXG4gICAgcmV0dXJuIGAke3RoaXMudXJsUmVjb3Zlcnl9LyR7ZW5kcG9pbnR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGlwZUFyZ3VtZW50cyhsaXRlcmFsQXR0cjogc3RyaW5nLCBhcmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvSTE4blBpcGUudHJhbnNmb3JtKGxpdGVyYWxBdHRyLCBhcmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb24oKSB7XG4gICAgdGhpcy5tb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LkNvbmZpcm1hdGlvblxuICAgICAgPyB0aGlzLmluY3JlbWVudFJldHJ5QXR0ZW1wdHMoKVxuICAgICAgOiB0aGlzLmZvcm1SZXNldCh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlW3RoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpXSA9IHRoaXMuZ2V0RW1pdFZhbHVlKHRoaXMudHlwZSk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb25SZXF1ZXN0KGRhdGE6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5LCBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IG1vZGFsVHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHsgdHlwZTogJ3NtcycgfSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnVybFJlY292ZXJ5LCBkYXRhLCBwYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIChtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbCB8fCBtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwpICYmXG4gICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID09PSAyMDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TICYmIHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZS5ib2R5KTtcbiAgICAgICAgICB0aGlzLm9wZW5TbXNDb2RlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlQWN0aW9uKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLmNvZGUgPSB0aGlzLnNtc0NvZGU7XG5cbiAgICBpZiAodGhpcy51cmxSZWNvdmVyeSkge1xuICAgICAgdGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUgPSBPYmplY3QuYXNzaWduKHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLCB7IGhhc2g6IHRoaXMuc21zQm9keVJlc3BvbnNlLmhhc2ggfSk7XG4gICAgICB0aGlzLnN1Ym1pdFNtc0NvZGVSZXF1ZXN0KHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RlU3VibWl0LmVtaXQodGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlUmVxdWVzdChkYXRhOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnNldFJlcXVlc3RFbmRwb2ludCh0aGlzLnNtc0JvZHlSZXNwb25zZS51cmxWYWxpZGF0aW9uQ29kZSksIGRhdGEpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VjY2Vzc1N0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwO1xuICAgICAgICAgIGlmIChzdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCgpO1xuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvQ2hhbmdlUGFzc3dvcmQocmVzcG9uc2UuYm9keSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5jb2RlRXJyb3IgPSBlcnJvci5lcnJvci5tZXNzYWdlO1xuICAgICAgICAgIHRoaXMub3BlblNtc0NvZGUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPHBvLW1vZGFsXG4gICNyZWNvdmVyeU1vZGFsXG4gIHAtaGlkZS1jbG9zZVxuICBwLXNpemU9XCJhdXRvXCJcbiAgW25nU3dpdGNoXT1cIm1vZGFsVHlwZVwiXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cInByaW1hcnlBY3Rpb25cIlxuICBbcC1zZWNvbmRhcnktYWN0aW9uXT1cInNlY29uZGFyeUFjdGlvblwiXG4gIFtwLXRpdGxlXT1cIm1vZGFsVGl0bGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnktd3JhcHBlclwiPlxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNlbWFpbEZvcm09XCJuZ0Zvcm1cIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZUFsbFwiPlxuICAgICAgICAgICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaG9zZW5UeXBlRm9ybU9wdGlvblwiXG4gICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwidHlwZUZvcm1PcHRpb25zXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlKT1cImdldElucHV0VHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbXQtMVwiPlxuICAgICAgICAgICAgPHBvLWVtYWlsXG4gICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2VtYWlsJyB8fCB0eXBlID09PSAnYWxsJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxuICAgICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydEVtYWlsXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tZW1haWw+XG5cbiAgICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdzbXMnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGhvbmVcIlxuICAgICAgICAgICAgICBwLWljb249XCJJQ09OX1RFTEVQSE9ORVwiXG4gICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuaW5zZXJ0UGhvbmVcIlxuICAgICAgICAgICAgICBbcC1tYXNrXT1cInBob25lTWFza1wiXG4gICAgICAgICAgICAgIFtwLW1heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICBbcC1taW5sZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWJvdHRvbSBwby1maWVsZC1jb250YWluZXItZXJyb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8cG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAqbmdJZj1cImludmFsaWRFbWFpbCAmJiBjb250cm9sLmRpcnR5XCJcbiAgICAgICAgICAgICAgW3AtdGV4dF09XCJ0eXBlID09PSAnc21zJyA/IGxpdGVyYWxzLnBob25lRXJyb3JNZXNzYWdlUGhyYXNlIDogbGl0ZXJhbHMuZW1haWxFcnJvck1lc3NhZ2VQaHJhc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS10ZXh0IHBvLW1kLTEyXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRhY3RFbWFpbFwiPlxuICAgICAgICAgIHt7IGxpdGVyYWxzLnByZXBvc2l0aW9uSW4gfX1cbiAgICAgICAgICA8YSBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxpbmtcIiBocmVmPVwibWFpbHRvOnt7IGNvbnRhY3RFbWFpbCB9fVwiIHRhcmdldD1cIl9zZWxmXCI+XG4gICAgICAgICAgICB7eyBjb250YWN0RW1haWwgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAge3sgZW5kcG9pbnQgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAjc21zQ29kZU1vZGFsICpuZ1N3aXRjaENhc2U9XCInc21zQ29kZSdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+e3sgbGl0ZXJhbHMuc2VudFNtc0NvZGVQaHJhc2UgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNzbXNDb2RlRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNtc0NvZGVcIlxuICAgICAgICAgICAgcC1tYXhsZW5ndGg9XCIxMVwiXG4gICAgICAgICAgICBwLW1pbmxlbmd0aD1cIjExXCJcbiAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydENvZGVcIlxuICAgICAgICAgICAgW3AtbWFza109XCJjb2RlTWFza1wiXG4gICAgICAgICAgICAocC1jaGFuZ2UtbW9kZWwpPVwiZm9ybU1vZGVsQ2hhbmdlc0NoZWNrKHNtc0NvZGVGb3JtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJpbnZhbGlkRW1haWxcIlxuICAgICAgICAgICAgICBbcC10ZXh0XT1cInNtc0NvZGVFcnJvck1lc3NhZ2UgfHwgdGhpcy5saXRlcmFscy5zbXNDb2RlRXJyb3JNZXNzYWdlUGhyYXNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlICpuZ0lmPVwic2hvd0N1c3RvbUNvZGVFcnJvclwiIFtwLXRleHRdPVwiY29kZUVycm9yXCI+XG4gICAgICAgICAgICA8L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHQgcG8tbWQtMTJcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuc2VuZEFnYWluUGhyYXNlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbGlua1wiIChjbGljayk9XCJyZXNlbmRTbXNDb2RlKClcIj57eyBsaXRlcmFscy5zZW5kQWdhaW4gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgI2NvbmZpcm1hdGlvbk1vZGFsICpuZ1N3aXRjaENhc2U9XCInY29uZmlybWF0aW9uJ1wiIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktY29udGVudCBwby1yb3dcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS11c2VyLWltYWdlIHBvLW1iLTJcIiBzcmM9XCIuL2Fzc2V0cy9pbWFnZXMvZW1haWwtc2VudC5zdmdcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHRcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuZW1haWxTZW50Q29uZmlybWF0aW9uUGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
@@ -1,29 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { FormsModule } from '@angular/forms';
3
- import { NgModule } from '@angular/core';
4
- import { PoFieldModule, PoI18nPipe, PoModalModule, PoIconModule } from '@po-ui/ng-components';
5
- import { PoModalPasswordRecoveryComponent } from './po-modal-password-recovery.component';
6
- import { PoModalPasswordRecoveryErrorMessageComponent } from './po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component';
7
- import { PoModalPasswordRecoveryService } from './po-modal-password-recovery.service';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @description
11
- *
12
- * Módulo do template do po-modal-password-recovery.
13
- */
14
- export class PoModalPasswordRecoveryModule {
15
- static ɵfac = function PoModalPasswordRecoveryModule_Factory(t) { return new (t || PoModalPasswordRecoveryModule)(); };
16
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoModalPasswordRecoveryModule });
17
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [PoI18nPipe, PoModalPasswordRecoveryService], imports: [CommonModule, FormsModule, PoFieldModule, PoModalModule, PoIconModule] });
18
- }
19
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoModalPasswordRecoveryModule, [{
20
- type: NgModule,
21
- args: [{
22
- imports: [CommonModule, FormsModule, PoFieldModule, PoModalModule, PoIconModule],
23
- declarations: [PoModalPasswordRecoveryComponent, PoModalPasswordRecoveryErrorMessageComponent],
24
- exports: [PoModalPasswordRecoveryComponent, PoModalPasswordRecoveryErrorMessageComponent],
25
- providers: [PoI18nPipe, PoModalPasswordRecoveryService]
26
- }]
27
- }], null, null); })();
28
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoModalPasswordRecoveryModule, { declarations: [PoModalPasswordRecoveryComponent, PoModalPasswordRecoveryErrorMessageComponent], imports: [CommonModule, FormsModule, PoFieldModule, PoModalModule, PoIconModule], exports: [PoModalPasswordRecoveryComponent, PoModalPasswordRecoveryErrorMessageComponent] }); })();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQztBQUM3SixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFdEY7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyw2QkFBNkI7dUZBQTdCLDZCQUE2Qjs0REFBN0IsNkJBQTZCO2lFQUY3QixDQUFDLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxZQUg3QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWTs7aUZBS3BFLDZCQUE2QjtjQU56QyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztnQkFDaEYsWUFBWSxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsNENBQTRDLENBQUM7Z0JBQzlGLE9BQU8sRUFBRSxDQUFDLGdDQUFnQyxFQUFFLDRDQUE0QyxDQUFDO2dCQUN6RixTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsOEJBQThCLENBQUM7YUFDeEQ7O3dGQUNZLDZCQUE2QixtQkFKekIsZ0NBQWdDLEVBQUUsNENBQTRDLGFBRG5GLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLGFBRXJFLGdDQUFnQyxFQUFFLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvRmllbGRNb2R1bGUsIFBvSTE4blBpcGUsIFBvTW9kYWxNb2R1bGUsIFBvSWNvbk1vZHVsZSB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQgfSBmcm9tICcuL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeUVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVNlcnZpY2UgfSBmcm9tICcuL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE3Ds2R1bG8gZG8gdGVtcGxhdGUgZG8gcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBQb0ZpZWxkTW9kdWxlLCBQb01vZGFsTW9kdWxlLCBQb0ljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtQb01vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudCwgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlFcnJvck1lc3NhZ2VDb21wb25lbnRdLFxuICBleHBvcnRzOiBbUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQsIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5RXJyb3JNZXNzYWdlQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbUG9JMThuUGlwZSwgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZHVsZSB7fVxuIl19
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common/http";
4
- export class PoModalPasswordRecoveryService {
5
- http;
6
- constructor(http) {
7
- this.http = http;
8
- }
9
- post(urlRecovery, item, params) {
10
- return this.http.post(urlRecovery, item, { observe: 'response', params: params });
11
- }
12
- static ɵfac = function PoModalPasswordRecoveryService_Factory(t) { return new (t || PoModalPasswordRecoveryService)(i0.ɵɵinject(i1.HttpClient)); };
13
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoModalPasswordRecoveryService, factory: PoModalPasswordRecoveryService.ɵfac });
14
- }
15
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoModalPasswordRecoveryService, [{
16
- type: Injectable
17
- }], () => [{ type: i1.HttpClient }], null); })();
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUNyQjtJQUFwQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUV4QyxJQUFJLENBQ0YsV0FBbUIsRUFDbkIsSUFBNkIsRUFDN0IsTUFBaUU7UUFFakUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO3dGQVRVLDhCQUE4QjtnRUFBOUIsOEJBQThCLFdBQTlCLDhCQUE4Qjs7aUZBQTlCLDhCQUE4QjtjQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIHBvc3QoXG4gICAgdXJsUmVjb3Zlcnk6IHN0cmluZyxcbiAgICBpdGVtOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSxcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwgeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxPYmplY3Q+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsUmVjb3ZlcnksIGl0ZW0sIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgcGFyYW1zOiBwYXJhbXMgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './po-page-background.component';
2
- export * from './po-page-background.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtYmFja2dyb3VuZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvLXBhZ2UtYmFja2dyb3VuZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWJhY2tncm91bmQubW9kdWxlJztcbiJdfQ==