@idea-ionic/auth 5.29.4 → 6.0.3

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 (289) hide show
  1. package/environment.d.ts +3 -0
  2. package/esm2020/environment.mjs +25 -0
  3. package/esm2020/idea-ionic-auth.mjs +5 -0
  4. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  5. package/esm2020/src/auth.module.mjs +70 -0
  6. package/esm2020/src/auth.service.mjs +317 -0
  7. package/esm2020/src/confirmPassword.page.mjs +59 -0
  8. package/esm2020/src/forgotPassword.page.mjs +48 -0
  9. package/esm2020/src/newPassword.page.mjs +52 -0
  10. package/esm2020/src/resendLink.page.mjs +52 -0
  11. package/esm2020/src/signIn.page.mjs +91 -0
  12. package/esm2020/src/signUp.page.mjs +79 -0
  13. package/fesm2015/idea-ionic-auth.mjs +741 -0
  14. package/fesm2015/idea-ionic-auth.mjs.map +1 -0
  15. package/fesm2020/idea-ionic-auth.mjs +726 -0
  16. package/fesm2020/idea-ionic-auth.mjs.map +1 -0
  17. package/idea-ionic-auth.d.ts +4 -6
  18. package/package.json +30 -18
  19. package/src/auth.module.d.ts +15 -0
  20. package/src/auth.service.d.ts +67 -3
  21. package/src/confirmPassword.page.d.ts +24 -0
  22. package/src/forgotPassword.page.d.ts +15 -0
  23. package/src/newPassword.page.d.ts +23 -1
  24. package/src/resendLink.page.d.ts +15 -0
  25. package/src/signIn.page.d.ts +45 -0
  26. package/src/signUp.page.d.ts +26 -1
  27. package/bundles/idea-ionic-auth.umd.js +0 -1009
  28. package/bundles/idea-ionic-auth.umd.js.map +0 -1
  29. package/bundles/idea-ionic-auth.umd.min.js +0 -16
  30. package/bundles/idea-ionic-auth.umd.min.js.map +0 -1
  31. package/esm2015/environment.js +0 -22
  32. package/esm2015/environment.ngsummary.json +0 -1
  33. package/esm2015/idea-ionic-auth.js +0 -8
  34. package/esm2015/idea-ionic-auth.ngsummary.json +0 -1
  35. package/esm2015/node_modules/@angular/common/common.ngfactory.js +0 -5
  36. package/esm2015/node_modules/@angular/common/common.ngsummary.json +0 -1
  37. package/esm2015/node_modules/@angular/common/http/http.ngsummary.json +0 -1
  38. package/esm2015/node_modules/@angular/core/core.ngfactory.js +0 -4
  39. package/esm2015/node_modules/@angular/core/core.ngsummary.json +0 -1
  40. package/esm2015/node_modules/@angular/forms/forms.ngfactory.js +0 -9
  41. package/esm2015/node_modules/@angular/forms/forms.ngsummary.json +0 -1
  42. package/esm2015/node_modules/@angular/router/router.ngfactory.js +0 -12
  43. package/esm2015/node_modules/@angular/router/router.ngsummary.json +0 -1
  44. package/esm2015/node_modules/@capacitor/core/dist/esm/core-plugin-definitions.ngsummary.json +0 -1
  45. package/esm2015/node_modules/@capacitor/core/dist/esm/definitions.ngsummary.json +0 -1
  46. package/esm2015/node_modules/@capacitor/core/dist/esm/global.ngsummary.json +0 -1
  47. package/esm2015/node_modules/@capacitor/core/dist/esm/index.ngsummary.json +0 -1
  48. package/esm2015/node_modules/@capacitor/core/dist/esm/web/accessibility.ngsummary.json +0 -1
  49. package/esm2015/node_modules/@capacitor/core/dist/esm/web/app.ngsummary.json +0 -1
  50. package/esm2015/node_modules/@capacitor/core/dist/esm/web/browser.ngsummary.json +0 -1
  51. package/esm2015/node_modules/@capacitor/core/dist/esm/web/camera.ngsummary.json +0 -1
  52. package/esm2015/node_modules/@capacitor/core/dist/esm/web/clipboard.ngsummary.json +0 -1
  53. package/esm2015/node_modules/@capacitor/core/dist/esm/web/device.ngsummary.json +0 -1
  54. package/esm2015/node_modules/@capacitor/core/dist/esm/web/filesystem.ngsummary.json +0 -1
  55. package/esm2015/node_modules/@capacitor/core/dist/esm/web/geolocation.ngsummary.json +0 -1
  56. package/esm2015/node_modules/@capacitor/core/dist/esm/web/index.ngsummary.json +0 -1
  57. package/esm2015/node_modules/@capacitor/core/dist/esm/web/local-notifications.ngsummary.json +0 -1
  58. package/esm2015/node_modules/@capacitor/core/dist/esm/web/modals.ngsummary.json +0 -1
  59. package/esm2015/node_modules/@capacitor/core/dist/esm/web/motion.ngsummary.json +0 -1
  60. package/esm2015/node_modules/@capacitor/core/dist/esm/web/network.ngsummary.json +0 -1
  61. package/esm2015/node_modules/@capacitor/core/dist/esm/web/permissions.ngsummary.json +0 -1
  62. package/esm2015/node_modules/@capacitor/core/dist/esm/web/share.ngsummary.json +0 -1
  63. package/esm2015/node_modules/@capacitor/core/dist/esm/web/splash-screen.ngsummary.json +0 -1
  64. package/esm2015/node_modules/@capacitor/core/dist/esm/web/storage.ngsummary.json +0 -1
  65. package/esm2015/node_modules/@capacitor/core/dist/esm/web/toast.ngsummary.json +0 -1
  66. package/esm2015/node_modules/@capacitor/core/dist/esm/web-plugins.ngsummary.json +0 -1
  67. package/esm2015/node_modules/@idea-ionic/common/idea-ionic-common.ngfactory.js +0 -1546
  68. package/esm2015/node_modules/@idea-ionic/common/idea-ionic-common.ngsummary.json +0 -1
  69. package/esm2015/node_modules/@ionic/angular/ionic-angular.ngfactory.js +0 -524
  70. package/esm2015/node_modules/@ionic/angular/ionic-angular.ngsummary.json +0 -1
  71. package/esm2015/node_modules/@ionic/angular/node_modules/tslib/tslib.ngsummary.json +0 -1
  72. package/esm2015/node_modules/@ionic/core/dist/types/components/action-sheet/action-sheet-interface.ngsummary.json +0 -1
  73. package/esm2015/node_modules/@ionic/core/dist/types/components/alert/alert-interface.ngsummary.json +0 -1
  74. package/esm2015/node_modules/@ionic/core/dist/types/components/checkbox/checkbox-interface.ngsummary.json +0 -1
  75. package/esm2015/node_modules/@ionic/core/dist/types/components/content/content-interface.ngsummary.json +0 -1
  76. package/esm2015/node_modules/@ionic/core/dist/types/components/datetime/datetime-interface.ngsummary.json +0 -1
  77. package/esm2015/node_modules/@ionic/core/dist/types/components/input/input-interface.ngsummary.json +0 -1
  78. package/esm2015/node_modules/@ionic/core/dist/types/components/loading/loading-interface.ngsummary.json +0 -1
  79. package/esm2015/node_modules/@ionic/core/dist/types/components/menu/menu-interface.ngsummary.json +0 -1
  80. package/esm2015/node_modules/@ionic/core/dist/types/components/modal/modal-interface.ngsummary.json +0 -1
  81. package/esm2015/node_modules/@ionic/core/dist/types/components/nav/constants.ngsummary.json +0 -1
  82. package/esm2015/node_modules/@ionic/core/dist/types/components/nav/nav-interface.ngsummary.json +0 -1
  83. package/esm2015/node_modules/@ionic/core/dist/types/components/nav/view-controller.ngsummary.json +0 -1
  84. package/esm2015/node_modules/@ionic/core/dist/types/components/picker/picker-interface.ngsummary.json +0 -1
  85. package/esm2015/node_modules/@ionic/core/dist/types/components/popover/popover-interface.ngsummary.json +0 -1
  86. package/esm2015/node_modules/@ionic/core/dist/types/components/radio-group/radio-group-interface.ngsummary.json +0 -1
  87. package/esm2015/node_modules/@ionic/core/dist/types/components/range/range-interface.ngsummary.json +0 -1
  88. package/esm2015/node_modules/@ionic/core/dist/types/components/refresher/refresher-interface.ngsummary.json +0 -1
  89. package/esm2015/node_modules/@ionic/core/dist/types/components/reorder-group/reorder-group-interface.ngsummary.json +0 -1
  90. package/esm2015/node_modules/@ionic/core/dist/types/components/route/route-interface.ngsummary.json +0 -1
  91. package/esm2015/node_modules/@ionic/core/dist/types/components/router/utils/interface.ngsummary.json +0 -1
  92. package/esm2015/node_modules/@ionic/core/dist/types/components/searchbar/searchbar-interface.ngsummary.json +0 -1
  93. package/esm2015/node_modules/@ionic/core/dist/types/components/segment/segment-interface.ngsummary.json +0 -1
  94. package/esm2015/node_modules/@ionic/core/dist/types/components/select/select-interface.ngsummary.json +0 -1
  95. package/esm2015/node_modules/@ionic/core/dist/types/components/select-popover/select-popover-interface.ngsummary.json +0 -1
  96. package/esm2015/node_modules/@ionic/core/dist/types/components/spinner/spinner-configs.ngsummary.json +0 -1
  97. package/esm2015/node_modules/@ionic/core/dist/types/components/spinner/spinner-interface.ngsummary.json +0 -1
  98. package/esm2015/node_modules/@ionic/core/dist/types/components/tab-bar/tab-bar-interface.ngsummary.json +0 -1
  99. package/esm2015/node_modules/@ionic/core/dist/types/components/textarea/textarea-interface.ngsummary.json +0 -1
  100. package/esm2015/node_modules/@ionic/core/dist/types/components/toast/toast-interface.ngsummary.json +0 -1
  101. package/esm2015/node_modules/@ionic/core/dist/types/components/toggle/toggle-interface.ngsummary.json +0 -1
  102. package/esm2015/node_modules/@ionic/core/dist/types/components/virtual-scroll/virtual-scroll-interface.ngsummary.json +0 -1
  103. package/esm2015/node_modules/@ionic/core/dist/types/components.ngsummary.json +0 -1
  104. package/esm2015/node_modules/@ionic/core/dist/types/global/config.ngsummary.json +0 -1
  105. package/esm2015/node_modules/@ionic/core/dist/types/index.ngsummary.json +0 -1
  106. package/esm2015/node_modules/@ionic/core/dist/types/interface.ngsummary.json +0 -1
  107. package/esm2015/node_modules/@ionic/core/dist/types/stencil-public-runtime.ngsummary.json +0 -1
  108. package/esm2015/node_modules/@ionic/core/dist/types/utils/animation/animation-interface.ngsummary.json +0 -1
  109. package/esm2015/node_modules/@ionic/core/dist/types/utils/animation/animation.ngsummary.json +0 -1
  110. package/esm2015/node_modules/@ionic/core/dist/types/utils/animation/cubic-bezier.ngsummary.json +0 -1
  111. package/esm2015/node_modules/@ionic/core/dist/types/utils/config.ngsummary.json +0 -1
  112. package/esm2015/node_modules/@ionic/core/dist/types/utils/gesture/gesture-controller.ngsummary.json +0 -1
  113. package/esm2015/node_modules/@ionic/core/dist/types/utils/gesture/index.ngsummary.json +0 -1
  114. package/esm2015/node_modules/@ionic/core/dist/types/utils/menu-controller/index.ngsummary.json +0 -1
  115. package/esm2015/node_modules/@ionic/core/dist/types/utils/overlays-interface.ngsummary.json +0 -1
  116. package/esm2015/node_modules/@ionic/core/dist/types/utils/overlays.ngsummary.json +0 -1
  117. package/esm2015/node_modules/@ionic/core/dist/types/utils/platform.ngsummary.json +0 -1
  118. package/esm2015/node_modules/@ionic/core/dist/types/utils/sanitization/index.ngsummary.json +0 -1
  119. package/esm2015/node_modules/@ionic/core/dist/types/utils/transition/index.ngsummary.json +0 -1
  120. package/esm2015/node_modules/@ionic/core/dist/types/utils/transition/ios.transition.ngsummary.json +0 -1
  121. package/esm2015/node_modules/@ionic/core/dist/types/utils/transition/md.transition.ngsummary.json +0 -1
  122. package/esm2015/node_modules/@ionic/storage/dist/esm/index.ngsummary.json +0 -1
  123. package/esm2015/node_modules/amazon-cognito-identity-js/index.ngsummary.json +0 -1
  124. package/esm2015/node_modules/idea-toolbox/dist/index.ngsummary.json +0 -1
  125. package/esm2015/node_modules/idea-toolbox/dist/src/APIRequestLog.model.ngsummary.json +0 -1
  126. package/esm2015/node_modules/idea-toolbox/dist/src/RCAttachedResource.model.ngsummary.json +0 -1
  127. package/esm2015/node_modules/idea-toolbox/dist/src/RCConfiguredFolder.model.ngsummary.json +0 -1
  128. package/esm2015/node_modules/idea-toolbox/dist/src/RCFolder.model.ngsummary.json +0 -1
  129. package/esm2015/node_modules/idea-toolbox/dist/src/RCResource.model.ngsummary.json +0 -1
  130. package/esm2015/node_modules/idea-toolbox/dist/src/address.model.ngsummary.json +0 -1
  131. package/esm2015/node_modules/idea-toolbox/dist/src/amazonTranslateLanguages.enum.ngsummary.json +0 -1
  132. package/esm2015/node_modules/idea-toolbox/dist/src/announcement.model.ngsummary.json +0 -1
  133. package/esm2015/node_modules/idea-toolbox/dist/src/appointment.model.ngsummary.json +0 -1
  134. package/esm2015/node_modules/idea-toolbox/dist/src/attachment.model.ngsummary.json +0 -1
  135. package/esm2015/node_modules/idea-toolbox/dist/src/booleanChoices.enum.ngsummary.json +0 -1
  136. package/esm2015/node_modules/idea-toolbox/dist/src/cacheable.model.ngsummary.json +0 -1
  137. package/esm2015/node_modules/idea-toolbox/dist/src/cacheableResource.model.ngsummary.json +0 -1
  138. package/esm2015/node_modules/idea-toolbox/dist/src/calendar.model.ngsummary.json +0 -1
  139. package/esm2015/node_modules/idea-toolbox/dist/src/check.model.ngsummary.json +0 -1
  140. package/esm2015/node_modules/idea-toolbox/dist/src/clientInfo.model.ngsummary.json +0 -1
  141. package/esm2015/node_modules/idea-toolbox/dist/src/cognitoUser.model.ngsummary.json +0 -1
  142. package/esm2015/node_modules/idea-toolbox/dist/src/contactRequest.model.ngsummary.json +0 -1
  143. package/esm2015/node_modules/idea-toolbox/dist/src/contacts.model.ngsummary.json +0 -1
  144. package/esm2015/node_modules/idea-toolbox/dist/src/countries.enum.ngsummary.json +0 -1
  145. package/esm2015/node_modules/idea-toolbox/dist/src/customBlockMeta.model.ngsummary.json +0 -1
  146. package/esm2015/node_modules/idea-toolbox/dist/src/customFieldMeta.model.ngsummary.json +0 -1
  147. package/esm2015/node_modules/idea-toolbox/dist/src/customFieldTypes.enum.ngsummary.json +0 -1
  148. package/esm2015/node_modules/idea-toolbox/dist/src/customSectionMeta.model.ngsummary.json +0 -1
  149. package/esm2015/node_modules/idea-toolbox/dist/src/delta.model.ngsummary.json +0 -1
  150. package/esm2015/node_modules/idea-toolbox/dist/src/emailChangeRequest.model.ngsummary.json +0 -1
  151. package/esm2015/node_modules/idea-toolbox/dist/src/emailData.model.ngsummary.json +0 -1
  152. package/esm2015/node_modules/idea-toolbox/dist/src/epoch.ngsummary.json +0 -1
  153. package/esm2015/node_modules/idea-toolbox/dist/src/errorReport.model.ngsummary.json +0 -1
  154. package/esm2015/node_modules/idea-toolbox/dist/src/errorWhitelisted.model.ngsummary.json +0 -1
  155. package/esm2015/node_modules/idea-toolbox/dist/src/excelRow.model.ngsummary.json +0 -1
  156. package/esm2015/node_modules/idea-toolbox/dist/src/invitation.model.ngsummary.json +0 -1
  157. package/esm2015/node_modules/idea-toolbox/dist/src/ionicons.enum.ngsummary.json +0 -1
  158. package/esm2015/node_modules/idea-toolbox/dist/src/label.model.ngsummary.json +0 -1
  159. package/esm2015/node_modules/idea-toolbox/dist/src/labelVariable.model.ngsummary.json +0 -1
  160. package/esm2015/node_modules/idea-toolbox/dist/src/languages.enum.ngsummary.json +0 -1
  161. package/esm2015/node_modules/idea-toolbox/dist/src/languages.model.ngsummary.json +0 -1
  162. package/esm2015/node_modules/idea-toolbox/dist/src/limitCounter.model.ngsummary.json +0 -1
  163. package/esm2015/node_modules/idea-toolbox/dist/src/markdown.ngsummary.json +0 -1
  164. package/esm2015/node_modules/idea-toolbox/dist/src/membership.model.ngsummary.json +0 -1
  165. package/esm2015/node_modules/idea-toolbox/dist/src/notification.model.ngsummary.json +0 -1
  166. package/esm2015/node_modules/idea-toolbox/dist/src/pdfTemplate.model.ngsummary.json +0 -1
  167. package/esm2015/node_modules/idea-toolbox/dist/src/projectPlan.model.ngsummary.json +0 -1
  168. package/esm2015/node_modules/idea-toolbox/dist/src/projectSubscription.model.ngsummary.json +0 -1
  169. package/esm2015/node_modules/idea-toolbox/dist/src/pushNotificationsDevice.model.ngsummary.json +0 -1
  170. package/esm2015/node_modules/idea-toolbox/dist/src/pushNotificationsPlatforms.enum.ngsummary.json +0 -1
  171. package/esm2015/node_modules/idea-toolbox/dist/src/resource.model.ngsummary.json +0 -1
  172. package/esm2015/node_modules/idea-toolbox/dist/src/sentiment.enum.ngsummary.json +0 -1
  173. package/esm2015/node_modules/idea-toolbox/dist/src/signature.model.ngsummary.json +0 -1
  174. package/esm2015/node_modules/idea-toolbox/dist/src/signedURL.model.ngsummary.json +0 -1
  175. package/esm2015/node_modules/idea-toolbox/dist/src/stringVariable.model.ngsummary.json +0 -1
  176. package/esm2015/node_modules/idea-toolbox/dist/src/suggestion.model.ngsummary.json +0 -1
  177. package/esm2015/node_modules/idea-toolbox/dist/src/team.model.ngsummary.json +0 -1
  178. package/esm2015/node_modules/idea-toolbox/dist/src/teamModules.model.ngsummary.json +0 -1
  179. package/esm2015/node_modules/idea-toolbox/dist/src/timeInterval.model.ngsummary.json +0 -1
  180. package/esm2015/node_modules/idea-toolbox/dist/src/user.model.ngsummary.json +0 -1
  181. package/esm2015/node_modules/idea-toolbox/dist/src/utils.ngsummary.json +0 -1
  182. package/esm2015/node_modules/ionicons/dist/types/components/icon/icon.ngsummary.json +0 -1
  183. package/esm2015/node_modules/ionicons/dist/types/components/icon/utils.ngsummary.json +0 -1
  184. package/esm2015/node_modules/ionicons/dist/types/components.ngsummary.json +0 -1
  185. package/esm2015/node_modules/ionicons/dist/types/index.ngsummary.json +0 -1
  186. package/esm2015/node_modules/ionicons/dist/types/stencil-public-runtime.ngsummary.json +0 -1
  187. package/esm2015/node_modules/rxjs/index.ngsummary.json +0 -1
  188. package/esm2015/node_modules/rxjs/internal/AsyncSubject.ngsummary.json +0 -1
  189. package/esm2015/node_modules/rxjs/internal/BehaviorSubject.ngsummary.json +0 -1
  190. package/esm2015/node_modules/rxjs/internal/InnerSubscriber.ngsummary.json +0 -1
  191. package/esm2015/node_modules/rxjs/internal/Notification.ngsummary.json +0 -1
  192. package/esm2015/node_modules/rxjs/internal/Observable.ngsummary.json +0 -1
  193. package/esm2015/node_modules/rxjs/internal/Operator.ngsummary.json +0 -1
  194. package/esm2015/node_modules/rxjs/internal/OuterSubscriber.ngsummary.json +0 -1
  195. package/esm2015/node_modules/rxjs/internal/ReplaySubject.ngsummary.json +0 -1
  196. package/esm2015/node_modules/rxjs/internal/Scheduler.ngsummary.json +0 -1
  197. package/esm2015/node_modules/rxjs/internal/Subject.ngsummary.json +0 -1
  198. package/esm2015/node_modules/rxjs/internal/Subscriber.ngsummary.json +0 -1
  199. package/esm2015/node_modules/rxjs/internal/Subscription.ngsummary.json +0 -1
  200. package/esm2015/node_modules/rxjs/internal/config.ngsummary.json +0 -1
  201. package/esm2015/node_modules/rxjs/internal/observable/ConnectableObservable.ngsummary.json +0 -1
  202. package/esm2015/node_modules/rxjs/internal/observable/bindCallback.ngsummary.json +0 -1
  203. package/esm2015/node_modules/rxjs/internal/observable/bindNodeCallback.ngsummary.json +0 -1
  204. package/esm2015/node_modules/rxjs/internal/observable/combineLatest.ngsummary.json +0 -1
  205. package/esm2015/node_modules/rxjs/internal/observable/concat.ngsummary.json +0 -1
  206. package/esm2015/node_modules/rxjs/internal/observable/defer.ngsummary.json +0 -1
  207. package/esm2015/node_modules/rxjs/internal/observable/empty.ngsummary.json +0 -1
  208. package/esm2015/node_modules/rxjs/internal/observable/forkJoin.ngsummary.json +0 -1
  209. package/esm2015/node_modules/rxjs/internal/observable/from.ngsummary.json +0 -1
  210. package/esm2015/node_modules/rxjs/internal/observable/fromEvent.ngsummary.json +0 -1
  211. package/esm2015/node_modules/rxjs/internal/observable/fromEventPattern.ngsummary.json +0 -1
  212. package/esm2015/node_modules/rxjs/internal/observable/generate.ngsummary.json +0 -1
  213. package/esm2015/node_modules/rxjs/internal/observable/iif.ngsummary.json +0 -1
  214. package/esm2015/node_modules/rxjs/internal/observable/interval.ngsummary.json +0 -1
  215. package/esm2015/node_modules/rxjs/internal/observable/merge.ngsummary.json +0 -1
  216. package/esm2015/node_modules/rxjs/internal/observable/never.ngsummary.json +0 -1
  217. package/esm2015/node_modules/rxjs/internal/observable/of.ngsummary.json +0 -1
  218. package/esm2015/node_modules/rxjs/internal/observable/onErrorResumeNext.ngsummary.json +0 -1
  219. package/esm2015/node_modules/rxjs/internal/observable/pairs.ngsummary.json +0 -1
  220. package/esm2015/node_modules/rxjs/internal/observable/partition.ngsummary.json +0 -1
  221. package/esm2015/node_modules/rxjs/internal/observable/race.ngsummary.json +0 -1
  222. package/esm2015/node_modules/rxjs/internal/observable/range.ngsummary.json +0 -1
  223. package/esm2015/node_modules/rxjs/internal/observable/throwError.ngsummary.json +0 -1
  224. package/esm2015/node_modules/rxjs/internal/observable/timer.ngsummary.json +0 -1
  225. package/esm2015/node_modules/rxjs/internal/observable/using.ngsummary.json +0 -1
  226. package/esm2015/node_modules/rxjs/internal/observable/zip.ngsummary.json +0 -1
  227. package/esm2015/node_modules/rxjs/internal/operators/groupBy.ngsummary.json +0 -1
  228. package/esm2015/node_modules/rxjs/internal/scheduled/scheduled.ngsummary.json +0 -1
  229. package/esm2015/node_modules/rxjs/internal/scheduler/Action.ngsummary.json +0 -1
  230. package/esm2015/node_modules/rxjs/internal/scheduler/AnimationFrameScheduler.ngsummary.json +0 -1
  231. package/esm2015/node_modules/rxjs/internal/scheduler/AsapScheduler.ngsummary.json +0 -1
  232. package/esm2015/node_modules/rxjs/internal/scheduler/AsyncAction.ngsummary.json +0 -1
  233. package/esm2015/node_modules/rxjs/internal/scheduler/AsyncScheduler.ngsummary.json +0 -1
  234. package/esm2015/node_modules/rxjs/internal/scheduler/QueueScheduler.ngsummary.json +0 -1
  235. package/esm2015/node_modules/rxjs/internal/scheduler/VirtualTimeScheduler.ngsummary.json +0 -1
  236. package/esm2015/node_modules/rxjs/internal/scheduler/animationFrame.ngsummary.json +0 -1
  237. package/esm2015/node_modules/rxjs/internal/scheduler/asap.ngsummary.json +0 -1
  238. package/esm2015/node_modules/rxjs/internal/scheduler/async.ngsummary.json +0 -1
  239. package/esm2015/node_modules/rxjs/internal/scheduler/queue.ngsummary.json +0 -1
  240. package/esm2015/node_modules/rxjs/internal/symbol/observable.ngsummary.json +0 -1
  241. package/esm2015/node_modules/rxjs/internal/types.ngsummary.json +0 -1
  242. package/esm2015/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.ngsummary.json +0 -1
  243. package/esm2015/node_modules/rxjs/internal/util/EmptyError.ngsummary.json +0 -1
  244. package/esm2015/node_modules/rxjs/internal/util/ObjectUnsubscribedError.ngsummary.json +0 -1
  245. package/esm2015/node_modules/rxjs/internal/util/TimeoutError.ngsummary.json +0 -1
  246. package/esm2015/node_modules/rxjs/internal/util/UnsubscriptionError.ngsummary.json +0 -1
  247. package/esm2015/node_modules/rxjs/internal/util/identity.ngsummary.json +0 -1
  248. package/esm2015/node_modules/rxjs/internal/util/isObservable.ngsummary.json +0 -1
  249. package/esm2015/node_modules/rxjs/internal/util/noop.ngsummary.json +0 -1
  250. package/esm2015/node_modules/rxjs/internal/util/pipe.ngsummary.json +0 -1
  251. package/esm2015/node_modules/signature_pad/dist/types/point.ngsummary.json +0 -1
  252. package/esm2015/node_modules/signature_pad/dist/types/signature_pad.ngsummary.json +0 -1
  253. package/esm2015/node_modules/tslib/tslib.ngsummary.json +0 -1
  254. package/esm2015/public-api.ngsummary.json +0 -1
  255. package/esm2015/src/auth.module.js +0 -42
  256. package/esm2015/src/auth.module.ngfactory.js +0 -24
  257. package/esm2015/src/auth.module.ngsummary.json +0 -1
  258. package/esm2015/src/auth.scss.shim.ngstyle.js +0 -3
  259. package/esm2015/src/auth.service.js +0 -214
  260. package/esm2015/src/auth.service.ngsummary.json +0 -1
  261. package/esm2015/src/confirmPassword.page.js +0 -59
  262. package/esm2015/src/confirmPassword.page.ngfactory.js +0 -70
  263. package/esm2015/src/confirmPassword.page.ngsummary.json +0 -1
  264. package/esm2015/src/forgotPassword.page.js +0 -48
  265. package/esm2015/src/forgotPassword.page.ngfactory.js +0 -43
  266. package/esm2015/src/forgotPassword.page.ngsummary.json +0 -1
  267. package/esm2015/src/newPassword.page.js +0 -54
  268. package/esm2015/src/newPassword.page.ngfactory.js +0 -42
  269. package/esm2015/src/newPassword.page.ngsummary.json +0 -1
  270. package/esm2015/src/resendLink.page.js +0 -54
  271. package/esm2015/src/resendLink.page.ngfactory.js +0 -42
  272. package/esm2015/src/resendLink.page.ngsummary.json +0 -1
  273. package/esm2015/src/signIn.page.js +0 -84
  274. package/esm2015/src/signIn.page.ngfactory.js +0 -82
  275. package/esm2015/src/signIn.page.ngsummary.json +0 -1
  276. package/esm2015/src/signUp.page.js +0 -74
  277. package/esm2015/src/signUp.page.ngfactory.js +0 -70
  278. package/esm2015/src/signUp.page.ngsummary.json +0 -1
  279. package/fesm2015/idea-ionic-auth.js +0 -592
  280. package/fesm2015/idea-ionic-auth.js.map +0 -1
  281. package/idea-ionic-auth.metadata.json +0 -1
  282. package/src/auth.module.ngfactory.d.ts +0 -3
  283. package/src/auth.scss.shim.ngstyle.d.ts +0 -1
  284. package/src/confirmPassword.page.ngfactory.d.ts +0 -1
  285. package/src/forgotPassword.page.ngfactory.d.ts +0 -1
  286. package/src/newPassword.page.ngfactory.d.ts +0 -1
  287. package/src/resendLink.page.ngfactory.d.ts +0 -1
  288. package/src/signIn.page.ngfactory.d.ts +0 -1
  289. package/src/signUp.page.ngfactory.d.ts +0 -1
@@ -1,592 +0,0 @@
1
- import { Injectable, Component, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { NavController, IonicModule } from '@ionic/angular';
5
- import { ActivatedRoute, RouterModule } from '@angular/router';
6
- import { IDEATinCanService, IDEAMessageService, IDEALoadingService, IDEATranslationsService, IDEATranslationsModule } from '@idea-ionic/common';
7
- import { __awaiter } from 'tslib';
8
- import { Plugins } from '@capacitor/core';
9
- import { Storage } from '@ionic/storage';
10
- import { CognitoUserPool, AuthenticationDetails, CognitoUser, CognitoUserAttribute, CognitoRefreshToken } from 'amazon-cognito-identity-js';
11
- import { environment } from '@env';
12
- import { isEmpty } from 'idea-toolbox';
13
-
14
- const DEVICE_KEY_ATTRIBUTE = 'custom:'.concat(environment.idea.project);
15
- class IDEAAuthService {
16
- constructor(storage) {
17
- this.storage = storage;
18
- this.userPool = new CognitoUserPool({
19
- UserPoolId: environment.aws.cognito.userPoolId,
20
- ClientId: environment.aws.cognito.userPoolClientId
21
- });
22
- }
23
- prepareAuthDetails(username, pwd) {
24
- return new AuthenticationDetails({ Username: username, Password: pwd });
25
- }
26
- prepareCognitoUser(username) {
27
- return new CognitoUser({ Username: username, Pool: this.userPool });
28
- }
29
- prepareUserAttribute(name, value) {
30
- return new CognitoUserAttribute({ Name: name, Value: value });
31
- }
32
- login(username, password) {
33
- return new Promise((resolve, reject) => {
34
- this.prepareCognitoUser(username).authenticateUser(this.prepareAuthDetails(username, password), {
35
- onSuccess: () => resolve(false),
36
- onFailure: (err) => reject(err),
37
- newPasswordRequired: () => resolve(true)
38
- });
39
- });
40
- }
41
- confirmNewPassword(username, tempPassword, newPassword) {
42
- return new Promise((resolve, reject) => {
43
- const user = this.prepareCognitoUser(username);
44
- user.authenticateUser(this.prepareAuthDetails(username, tempPassword), {
45
- onSuccess: () => resolve(),
46
- onFailure: (err) => reject(err),
47
- newPasswordRequired: () => user.completeNewPasswordChallenge(newPassword, {}, {
48
- onSuccess: () => resolve(),
49
- onFailure: (err) => reject(err)
50
- })
51
- });
52
- });
53
- }
54
- register(username, password, attributes) {
55
- attributes = attributes || {};
56
- return new Promise((resolve, reject) => {
57
- const attrs = [];
58
- for (const prop in attributes)
59
- if (attributes[prop])
60
- attrs.push(this.prepareUserAttribute(prop, attributes[prop]));
61
- if (!attributes.email)
62
- attrs.push(this.prepareUserAttribute('email', username));
63
- this.userPool.signUp(username, password, attrs, null, (err, res) => err ? reject(err) : resolve(res.user));
64
- });
65
- }
66
- confirmRegistration(username, code) {
67
- return new Promise((resolve, reject) => {
68
- this.prepareCognitoUser(username).confirmRegistration(code, true, (err) => err ? reject(err) : resolve());
69
- });
70
- }
71
- resendConfirmationCode(username) {
72
- return new Promise((resolve, reject) => {
73
- this.prepareCognitoUser(username).resendConfirmationCode((err) => (err ? reject(err) : resolve()));
74
- });
75
- }
76
- logout(options) {
77
- options = Object.assign({ global: false }, options);
78
- return new Promise((resolve, reject) => {
79
- this.storage.remove('AuthRefreshToken').then(() => this.storage.remove('AuthUserDetails').then(() => {
80
- const user = this.userPool.getCurrentUser();
81
- user.getSession((err) => __awaiter(this, void 0, void 0, function* () {
82
- if (err)
83
- return resolve();
84
- if (environment.idea.auth.singleSimultaneousSession)
85
- yield this.setCurrentDeviceForProject(null);
86
- if (options.global)
87
- user.globalSignOut({ onSuccess: () => resolve(), onFailure: err => reject(err) });
88
- else {
89
- user.signOut();
90
- resolve();
91
- }
92
- }));
93
- }));
94
- });
95
- }
96
- forgotPassword(username) {
97
- return new Promise((resolve, reject) => {
98
- this.prepareCognitoUser(username).forgotPassword({
99
- onSuccess: () => resolve(),
100
- onFailure: (err) => reject(err)
101
- });
102
- });
103
- }
104
- confirmPassword(username, code, newPwd) {
105
- return new Promise((resolve, reject) => {
106
- this.prepareCognitoUser(username).confirmPassword(code, newPwd, {
107
- onSuccess: () => resolve(),
108
- onFailure: (err) => reject(err)
109
- });
110
- });
111
- }
112
- isAuthenticated(offlineAllowed, getFreshIdTokenOnExp) {
113
- return new Promise((resolve, reject) => {
114
- if (offlineAllowed && !navigator.onLine) {
115
- this.storage.get('AuthUserDetails').then(userDetails => resolve({ idToken: null, userDetails }));
116
- window.addEventListener('online', () => this.isAuthenticated(true, getFreshIdTokenOnExp)
117
- .then(result => getFreshIdTokenOnExp(result.idToken)));
118
- }
119
- else {
120
- const user = this.userPool.getCurrentUser();
121
- if (!user)
122
- return reject();
123
- user.getSession((err, session) => {
124
- if (err)
125
- return reject(err);
126
- user.getUserAttributes((e, attributes) => {
127
- if (e)
128
- return reject(e);
129
- const userDetails = {};
130
- attributes.forEach((a) => (userDetails[a.getName()] = a.getValue()));
131
- const sessionInfo = session.getAccessToken().decodePayload();
132
- const groups = sessionInfo['cognito:groups'] || [];
133
- userDetails['groups'] = groups;
134
- this.runPostAuthChecks(userDetails, err => {
135
- if (err)
136
- return reject(err);
137
- this.storage.set('AuthRefreshToken', session.getRefreshToken().getToken());
138
- setTimeout(() => this.refreshSession(user, session.getRefreshToken().getToken(), getFreshIdTokenOnExp), 15 * 60 * 1000);
139
- if (offlineAllowed)
140
- this.storage.set('AuthUserDetails', userDetails);
141
- resolve({ idToken: session.getIdToken().getJwtToken(), userDetails });
142
- });
143
- });
144
- });
145
- }
146
- });
147
- }
148
- refreshSession(user, refreshToken, callback) {
149
- user.refreshSession(new CognitoRefreshToken({ RefreshToken: refreshToken }), (err, session) => {
150
- if (err) {
151
- setTimeout(() => this.refreshSession(user, refreshToken, callback), 1 * 60 * 1000);
152
- }
153
- else {
154
- this.storage.set('AuthRefreshToken', session.getRefreshToken().getToken());
155
- setTimeout(() => this.refreshSession(user, session.getRefreshToken().getToken(), callback), 15 * 60 * 1000);
156
- if (callback)
157
- callback(session.getIdToken().getJwtToken());
158
- }
159
- });
160
- }
161
- runPostAuthChecks(userDetails, callback) {
162
- const groups = userDetails['groups'];
163
- const isAdmin = groups.some(x => x === 'admins');
164
- if (isAdmin)
165
- return callback();
166
- const isRobot = groups.some(x => x === 'robots');
167
- if (isRobot)
168
- return callback(new Error('ROBOT_USER'));
169
- if (environment.idea.auth.singleSimultaneousSession)
170
- return this.checkForSimultaneousSessions(userDetails, callback);
171
- callback();
172
- }
173
- checkForSimultaneousSessions(userDetails, callback) {
174
- return __awaiter(this, void 0, void 0, function* () {
175
- let currentDeviceKey = yield this.storage.get('AuthDeviceKey');
176
- if (!currentDeviceKey) {
177
- const randomKey = Math.random().toString(36).substring(10);
178
- currentDeviceKey = randomKey.concat(String(Date.now()));
179
- yield this.storage.set('AuthDeviceKey', currentDeviceKey);
180
- }
181
- const lastDeviceToSignIntoThisProject = userDetails[DEVICE_KEY_ATTRIBUTE];
182
- if (!lastDeviceToSignIntoThisProject) {
183
- this.setCurrentDeviceForProject(currentDeviceKey)
184
- .then(() => callback())
185
- .catch(() => callback(new Error('CANT_SET_DEVICE')));
186
- }
187
- else if (lastDeviceToSignIntoThisProject === currentDeviceKey)
188
- callback();
189
- else
190
- callback(new Error('SIMULTANEOUS_SESSION'));
191
- });
192
- }
193
- setCurrentDeviceForProject(deviceKey) {
194
- const attributes = {};
195
- attributes[DEVICE_KEY_ATTRIBUTE] = deviceKey || '';
196
- return this.updateUserAttributes(attributes);
197
- }
198
- updateUserAttributes(attributes) {
199
- return new Promise((resolve, reject) => {
200
- const attrs = new Array();
201
- for (const prop in attributes)
202
- if (attributes[prop] !== undefined)
203
- attrs.push(this.prepareUserAttribute(prop, attributes[prop]));
204
- const user = this.userPool.getCurrentUser();
205
- if (!user)
206
- return reject();
207
- user.getSession((err) => {
208
- if (err)
209
- reject(err);
210
- else
211
- user.updateAttributes(attrs, (e) => (e ? reject(e) : resolve()));
212
- });
213
- });
214
- }
215
- }
216
- IDEAAuthService.decorators = [
217
- { type: Injectable }
218
- ];
219
- IDEAAuthService.ctorParameters = () => [
220
- { type: Storage }
221
- ];
222
-
223
- const { Browser } = Plugins;
224
- class IDEASignInPage {
225
- constructor(navCtrl, tc, message, loading, auth, t) {
226
- this.navCtrl = navCtrl;
227
- this.tc = tc;
228
- this.message = message;
229
- this.loading = loading;
230
- this.auth = auth;
231
- this.t = t;
232
- this.title = environment.idea.app.title;
233
- this.registrationPossible = environment.idea.auth.registrationIsPossible;
234
- this.hasIntroPage = environment.idea.app.hasIntroPage;
235
- this.website = environment.idea.website;
236
- this.agreementsCheck = true;
237
- }
238
- ionViewDidEnter() {
239
- if (this.tc.get('newAccountRegistered')) {
240
- this.newAccountRegistered = true;
241
- this.email = this.tc.get('newAccountRegistered', true);
242
- }
243
- }
244
- login() {
245
- return __awaiter(this, void 0, void 0, function* () {
246
- if (!this.agreementsCheck)
247
- return;
248
- this.errorMsg = null;
249
- yield this.loading.show();
250
- this.auth
251
- .login(this.email, this.password)
252
- .then(needNewPassword => {
253
- if (needNewPassword) {
254
- this.tc.set('email', this.email);
255
- this.tc.set('password', this.password);
256
- this.navCtrl.navigateForward(['auth/new-password']);
257
- }
258
- else
259
- window.location.assign('');
260
- })
261
- .catch(err => {
262
- if (err.name === 'UserNotConfirmedException')
263
- this.errorMsg = this.t._('IDEA_AUTH.CONFIRM_YOUR_EMAIL_TO_LOGIN');
264
- this.message.error('IDEA_AUTH.AUTHENTICATION_FAILED');
265
- })
266
- .finally(() => this.loading.hide());
267
- });
268
- }
269
- goToIntro() {
270
- this.navCtrl.navigateBack(['intro']);
271
- }
272
- goToForgotPassword() {
273
- this.navCtrl.navigateForward(['auth/forgot-password']);
274
- }
275
- goToRegistration() {
276
- this.tc.set('email', this.email);
277
- this.tc.set('password', this.password);
278
- this.navCtrl.navigateForward(['auth', 'sign-up']);
279
- }
280
- openLink(url) {
281
- Browser.open({ url });
282
- }
283
- }
284
- IDEASignInPage.decorators = [
285
- { type: Component, args: [{
286
- selector: 'idea-sign-in',
287
- template: "<ion-content>\n <ion-card color=\"warning\" *ngIf=\"newAccountRegistered\">\n <ion-card-content>{{ 'IDEA_AUTH.CONFIRM_YOUR_EMAIL_TO_LOGIN' | translate }}</ion-card-content>\n </ion-card>\n <form class=\"flexBox\">\n <div>\n <ion-card class=\"authCard\">\n <ion-img\n [title]=\"t._('IDEA_AUTH.SERVICE_LOGO')\"\n [src]=\"tc.get('darkMode') ? 'assets/icons/icon-auth-alt.svg' : 'assets/icons/icon-auth.svg'\"\n ></ion-img>\n <ion-card-header>\n <ion-card-title color=\"primary\" *ngIf=\"title\">{{ title }}</ion-card-title>\n <ion-card-subtitle *ngIf=\"t._('IDEA_VARIABLES.TAGLINE')\">\n {{ 'IDEA_VARIABLES.TAGLINE' | translate }}\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"login()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n id=\"current-password\"\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"current-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.PASSWORD_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"password\"\n (keyup.enter)=\"login()\"\n ></ion-input>\n </ion-item>\n <ion-row\n class=\"agreementsAcceptanceRow\"\n *ngIf=\"\n !registrationPossible &&\n (t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL') || t._('IDEA_VARIABLES.PRIVACY_POLICY_URL'))\n \"\n >\n <ion-col>\n <ion-checkbox\n size=\"small\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"agreementsCheck\"\n ></ion-checkbox>\n {{ 'IDEA_AUTH.AGREEMENTS_CHECK_LOGIN' | translate }}:\n <a\n ion-text\n color=\"primary\"\n target=\"_blank\"\n *ngIf=\"t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\"\n [title]=\"t._('IDEA_AUTH.TERMS_AND_CONDITIONS_HINT')\"\n [href]=\"t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\"\n >\n {{ 'IDEA_AUTH.TERMS_AND_CONDITIONS' | translate }}\n </a>\n <ion-text\n *ngIf=\"\n t._('IDEA_VARIABLES.PRIVACY_POLICY_URL') && t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\n \"\n >\n &\n </ion-text>\n <a\n ion-text\n color=\"primary\"\n target=\"_blank\"\n *ngIf=\"t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')\"\n [title]=\"t._('IDEA_AUTH.PRIVACY_POLICY_HINT')\"\n [href]=\"t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')\"\n >\n {{ 'IDEA_AUTH.PRIVACY_POLICY' | translate }}\n </a>\n </ion-col>\n </ion-row>\n <ion-button\n expand=\"block\"\n [disabled]=\"!agreementsCheck\"\n [title]=\"t._('IDEA_AUTH.SIGN_IN_HINT')\"\n (click)=\"login()\"\n >\n {{ 'IDEA_AUTH.SIGN_IN' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n *ngIf=\"registrationPossible\"\n [title]=\"t._('IDEA_AUTH.CREATE_AN_ACCOUNT_HINT')\"\n (click)=\"goToRegistration()\"\n >\n {{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.I_FORGOT_MY_PASSWORD_HINT')\"\n (click)=\"goToForgotPassword()\"\n >\n {{ 'IDEA_AUTH.I_FORGOT_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n color=\"medium\"\n class=\"smallCaseButton\"\n *ngIf=\"hasIntroPage\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_INTRO_HINT')\"\n (click)=\"goToIntro()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_INTRO' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n <ion-img\n class=\"ideaLogo\"\n *ngIf=\"website\"\n [src]=\"tc.get('darkMode') ? './assets/icons/idea-alt.png' : './assets/icons/idea.png'\"\n [title]=\"t._('IDEA_AUTH.IDEA_TAGLINE')\"\n (click)=\"openLink(website)\"\n ></ion-img>\n </div>\n </form>\n</ion-content>\n",
288
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
289
- },] }
290
- ];
291
- IDEASignInPage.ctorParameters = () => [
292
- { type: NavController },
293
- { type: IDEATinCanService },
294
- { type: IDEAMessageService },
295
- { type: IDEALoadingService },
296
- { type: IDEAAuthService },
297
- { type: IDEATranslationsService }
298
- ];
299
-
300
- class IDEASignUpPage {
301
- constructor(navCtrl, tc, message, loading, auth, t) {
302
- this.navCtrl = navCtrl;
303
- this.tc = tc;
304
- this.message = message;
305
- this.loading = loading;
306
- this.auth = auth;
307
- this.t = t;
308
- this.email = this.tc.get('email', true);
309
- this.password = this.tc.get('password', true);
310
- this.agreementsCheck = false;
311
- }
312
- ngOnInit() {
313
- if (!environment.idea.auth.registrationIsPossible)
314
- return this.goToAuth();
315
- this.agreementsCheck =
316
- this.t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL') || this.t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')
317
- ? this.agreementsCheck
318
- : true;
319
- }
320
- register() {
321
- return __awaiter(this, void 0, void 0, function* () {
322
- this.errorMsg = null;
323
- if (isEmpty(this.email, 'email'))
324
- this.errorMsg = this.t._('IDEA_AUTH.VALID_EMAIL_OBLIGATORY');
325
- else if (!this.password || this.password.length < 8)
326
- this.errorMsg = this.t._('IDEA_AUTH.PASSWORD_POLICY_VIOLATION', { n: 8 });
327
- if (this.errorMsg)
328
- return this.message.error('IDEA_AUTH.REGISTRATION_FAILED');
329
- yield this.loading.show();
330
- this.auth
331
- .register(this.email, this.password)
332
- .then(() => {
333
- this.message.success('IDEA_AUTH.REGISTRATION_COMPLETED');
334
- this.tc.set('newAccountRegistered', this.email);
335
- this.goToAuth();
336
- })
337
- .catch(err => {
338
- this.errorMsg = err.message;
339
- this.message.error('IDEA_AUTH.REGISTRATION_FAILED');
340
- })
341
- .finally(() => this.loading.hide());
342
- });
343
- }
344
- goToResendLink() {
345
- this.navCtrl.navigateForward(['auth/resend-link']);
346
- }
347
- goToAuth() {
348
- this.navCtrl.navigateBack(['auth']);
349
- }
350
- }
351
- IDEASignUpPage.decorators = [
352
- { type: Component, args: [{
353
- selector: 'idea-sign-up',
354
- template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.NEW_ACCOUNT' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.REGISTER_A_NEW_ACCOUNT_TO_THE_SYSTEM' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.REGISTRATION_EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"register()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"password\"\n (keyup.enter)=\"register()\"\n ></ion-input>\n </ion-item>\n <ion-row\n class=\"agreementsAcceptanceRow\"\n *ngIf=\"t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL') || t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')\"\n >\n <ion-col>\n <ion-checkbox\n size=\"small\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"agreementsCheck\"\n ></ion-checkbox>\n {{ 'IDEA_AUTH.AGREEMENTS_CHECK_REGISTRATION' | translate }}:\n <a\n ion-text\n color=\"primary\"\n target=\"_blank\"\n *ngIf=\"t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\"\n [title]=\"t._('IDEA_AUTH.TERMS_AND_CONDITIONS_HINT')\"\n [href]=\"t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\"\n >\n {{ 'IDEA_AUTH.TERMS_AND_CONDITIONS' | translate }}\n </a>\n <ion-text\n *ngIf=\"\n t._('IDEA_VARIABLES.PRIVACY_POLICY_URL') && t._('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')\n \"\n >\n &\n </ion-text>\n <a\n ion-text\n color=\"primary\"\n target=\"_blank\"\n *ngIf=\"t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')\"\n [title]=\"t._('IDEA_AUTH.PRIVACY_POLICY_HINT')\"\n [href]=\"t._('IDEA_VARIABLES.PRIVACY_POLICY_URL')\"\n >\n {{ 'IDEA_AUTH.PRIVACY_POLICY' | translate }}\n </a>\n </ion-col>\n </ion-row>\n <ion-button\n expand=\"block\"\n [disabled]=\"!agreementsCheck\"\n [title]=\"t._('IDEA_AUTH.CREATE_AN_ACCOUNT_HINT')\"\n (click)=\"register()\"\n >\n {{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK_HINT')\"\n (click)=\"goToResendLink()\"\n >\n {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n",
355
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
356
- },] }
357
- ];
358
- IDEASignUpPage.ctorParameters = () => [
359
- { type: NavController },
360
- { type: IDEATinCanService },
361
- { type: IDEAMessageService },
362
- { type: IDEALoadingService },
363
- { type: IDEAAuthService },
364
- { type: IDEATranslationsService }
365
- ];
366
-
367
- class IDEANewPasswordPage {
368
- constructor(navCtrl, tc, message, loading, auth, t) {
369
- this.navCtrl = navCtrl;
370
- this.tc = tc;
371
- this.message = message;
372
- this.loading = loading;
373
- this.auth = auth;
374
- this.t = t;
375
- }
376
- ngOnInit() {
377
- this.email = this.tc.get('email', true);
378
- this.password = this.tc.get('password', true);
379
- if (!this.email || !this.password)
380
- this.goToAuth();
381
- }
382
- confirmNewPassword() {
383
- return __awaiter(this, void 0, void 0, function* () {
384
- this.errorMsg = null;
385
- yield this.loading.show();
386
- this.auth
387
- .confirmNewPassword(this.email, this.password, this.newPassword)
388
- .then(() => window.location.assign(''))
389
- .catch(() => {
390
- this.errorMsg = this.t._('IDEA_AUTH.PASSWORD_POLICY_VIOLATION', { n: 8 });
391
- this.message.error(this.errorMsg, true);
392
- })
393
- .finally(() => this.loading.hide());
394
- });
395
- }
396
- goToAuth() {
397
- this.navCtrl.navigateBack(['auth']);
398
- }
399
- }
400
- IDEANewPasswordPage.decorators = [
401
- { type: Component, args: [{
402
- selector: 'idea-new-password',
403
- template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHOOSE_A_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.YOU_NEED_TO_CHOOSE_A_NEW_PASSWORD' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmNewPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT')\" (click)=\"confirmNewPassword()\">\n {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n",
404
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
405
- },] }
406
- ];
407
- IDEANewPasswordPage.ctorParameters = () => [
408
- { type: NavController },
409
- { type: IDEATinCanService },
410
- { type: IDEAMessageService },
411
- { type: IDEALoadingService },
412
- { type: IDEAAuthService },
413
- { type: IDEATranslationsService }
414
- ];
415
-
416
- class IDEAResendLinkPage {
417
- constructor(navCtrl, message, loading, auth, t) {
418
- this.navCtrl = navCtrl;
419
- this.message = message;
420
- this.loading = loading;
421
- this.auth = auth;
422
- this.t = t;
423
- }
424
- resendConfirmationLink() {
425
- return __awaiter(this, void 0, void 0, function* () {
426
- this.errorMsg = null;
427
- if (!this.email) {
428
- this.errorMsg = this.t._('IDEA_AUTH.VALID_EMAIL_OBLIGATORY');
429
- this.message.error('IDEA_AUTH.SENDING_FAILED');
430
- return;
431
- }
432
- yield this.loading.show();
433
- this.auth
434
- .resendConfirmationCode(this.email)
435
- .then(() => {
436
- this.message.success('IDEA_AUTH.CONFIRMATION_LINK_SENT');
437
- this.goToAuth();
438
- })
439
- .catch(() => {
440
- this.errorMsg = this.t._('IDEA_AUTH.IS_THE_EMAIL_CORRECT');
441
- this.message.error('IDEA_AUTH.SENDING_FAILED');
442
- })
443
- .finally(() => this.loading.hide());
444
- });
445
- }
446
- goToAuth() {
447
- this.navCtrl.navigateBack(['auth']);
448
- }
449
- }
450
- IDEAResendLinkPage.decorators = [
451
- { type: Component, args: [{
452
- selector: 'idea-resend-link',
453
- template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CONFIRM_ACCOUNT' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.RESEND_CONFIRMATION_LINK_HINT' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"resendConfirmationLink()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.RESEND_LINK_HINT')\" (click)=\"resendConfirmationLink()\">\n {{ 'IDEA_AUTH.RESEND_LINK' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n",
454
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
455
- },] }
456
- ];
457
- IDEAResendLinkPage.ctorParameters = () => [
458
- { type: NavController },
459
- { type: IDEAMessageService },
460
- { type: IDEALoadingService },
461
- { type: IDEAAuthService },
462
- { type: IDEATranslationsService }
463
- ];
464
-
465
- class IDEAForgotPasswordPage {
466
- constructor(navCtrl, message, loading, auth, t) {
467
- this.navCtrl = navCtrl;
468
- this.message = message;
469
- this.loading = loading;
470
- this.auth = auth;
471
- this.t = t;
472
- }
473
- forgotPassword() {
474
- return __awaiter(this, void 0, void 0, function* () {
475
- yield this.loading.show();
476
- this.auth
477
- .forgotPassword(this.email)
478
- .then(() => {
479
- this.message.success('IDEA_AUTH.PASSWORD_RESET_CODE_SENT');
480
- this.goToConfirmPassword();
481
- })
482
- .catch(() => this.message.error('IDEA_AUTH.USER_NOT_FOUND'))
483
- .finally(() => this.loading.hide());
484
- });
485
- }
486
- goToConfirmPassword() {
487
- this.navCtrl.navigateForward(['auth/confirm-password'], { queryParams: { email: this.email || null } });
488
- }
489
- goToAuth() {
490
- this.navCtrl.navigateBack(['auth']);
491
- }
492
- }
493
- IDEAForgotPasswordPage.decorators = [
494
- { type: Component, args: [{
495
- selector: 'idea-forgot-password',
496
- template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.PASSWORD_RESET' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.PASSWORD_RESET_HINT' | translate }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"forgotPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.RESET_MY_PASSWORD_HINT')\" (click)=\"forgotPassword()\">\n {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE_HINT')\"\n (click)=\"goToConfirmPassword()\"\n >\n {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n",
497
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
498
- },] }
499
- ];
500
- IDEAForgotPasswordPage.ctorParameters = () => [
501
- { type: NavController },
502
- { type: IDEAMessageService },
503
- { type: IDEALoadingService },
504
- { type: IDEAAuthService },
505
- { type: IDEATranslationsService }
506
- ];
507
-
508
- class IDEAConfirmPasswordPage {
509
- constructor(navCtrl, route, message, loading, auth, t) {
510
- this.navCtrl = navCtrl;
511
- this.route = route;
512
- this.message = message;
513
- this.loading = loading;
514
- this.auth = auth;
515
- this.t = t;
516
- this.email = this.route.snapshot.queryParamMap.get('email') || null;
517
- if (!this.email && this.route.snapshot.queryParams.user)
518
- this.email = decodeURIComponent(this.route.snapshot.queryParams.user);
519
- this.code = this.route.snapshot.queryParams.code;
520
- }
521
- confirmPassword() {
522
- return __awaiter(this, void 0, void 0, function* () {
523
- this.errorMsg = null;
524
- yield this.loading.show();
525
- this.auth
526
- .confirmPassword(this.email, this.code, this.newPassword)
527
- .then(() => {
528
- this.message.success('IDEA_AUTH.PASSWORD_CHANGED');
529
- this.goToAuth();
530
- })
531
- .catch(() => {
532
- this.errorMsg = this.t._('IDEA_AUTH.CONFIRM_PASSWORD_ERROR', { n: 8 });
533
- this.message.error(this.errorMsg, true);
534
- })
535
- .finally(() => this.loading.hide());
536
- });
537
- }
538
- goToForgotPassword() {
539
- this.navCtrl.navigateBack(['auth/forgot-password']);
540
- }
541
- goToAuth() {
542
- this.navCtrl.navigateBack(['auth']);
543
- }
544
- }
545
- IDEAConfirmPasswordPage.decorators = [
546
- { type: Component, args: [{
547
- selector: 'idea-confirm-password',
548
- template: "<ion-content>\n <form class=\"flexBox\">\n <ion-card class=\"authCard\">\n <ion-card-header>\n <ion-card-title color=\"primary\">{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD' | translate }}</ion-card-title>\n <ion-card-subtitle>{{ 'IDEA_AUTH.CHANGE_THE_PASSWORD_HINT' | translate: { n: 8 } }}</ion-card-subtitle>\n </ion-card-header>\n <ion-card-content>\n <p class=\"errorBox\" *ngIf=\"errorMsg\">\n <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>\n {{ errorMsg }}\n </p>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"person-circle\" color=\"primary\"> </ion-icon>\n </ion-label>\n <ion-input\n type=\"email\"\n inputmode=\"email\"\n pattern=\"[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"email\"\n [placeholder]=\"t._('IDEA_AUTH.EMAIL')\"\n [title]=\"t._('IDEA_AUTH.EMAIL_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"email\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"disc\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"text\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n [placeholder]=\"t._('IDEA_AUTH.RESET_CODE')\"\n [title]=\"t._('IDEA_AUTH.RESET_CODE_HINT')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"code\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-item>\n <ion-label position=\"inline\">\n <ion-icon name=\"key\" color=\"primary\"></ion-icon>\n </ion-label>\n <ion-input\n type=\"password\"\n pattern=\".{8,}\"\n spellcheck=\"false\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n autocomplete=\"new-password\"\n [clearOnEdit]=\"false\"\n [placeholder]=\"t._('IDEA_AUTH.NEW_PASSWORD')\"\n [title]=\"t._('IDEA_AUTH.CHOOSE_A_PASSWORD')\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"newPassword\"\n (keyup.enter)=\"confirmPassword()\"\n ></ion-input>\n </ion-item>\n <ion-button expand=\"block\" [title]=\"t._('IDEA_AUTH.CHANGE_MY_PASSWORD_HINT')\" (click)=\"confirmPassword()\">\n {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE_HINT')\"\n (click)=\"goToForgotPassword()\"\n >\n {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}\n </ion-button>\n <ion-button\n fill=\"clear\"\n expand=\"block\"\n class=\"smallCaseButton\"\n [title]=\"t._('IDEA_AUTH.BACK_TO_SIGN_IN_HINT')\"\n (click)=\"goToAuth()\"\n >\n {{ 'IDEA_AUTH.BACK_TO_SIGN_IN' | translate }}\n </ion-button>\n </ion-card-content>\n </ion-card>\n </form>\n</ion-content>\n",
549
- styles: [".flexBox{background:var(--ion-color-white-shade)}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--ion-color-white);border:1px solid var(--ion-color-light);border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background:var(--ion-color-white);--border-color:var(--ion-color-light)}.authCard ion-card-content ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button{margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width:500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}"]
550
- },] }
551
- ];
552
- IDEAConfirmPasswordPage.ctorParameters = () => [
553
- { type: NavController },
554
- { type: ActivatedRoute },
555
- { type: IDEAMessageService },
556
- { type: IDEALoadingService },
557
- { type: IDEAAuthService },
558
- { type: IDEATranslationsService }
559
- ];
560
-
561
- class IDEAAuthModule {
562
- }
563
- IDEAAuthModule.decorators = [
564
- { type: NgModule, args: [{
565
- imports: [
566
- CommonModule,
567
- FormsModule,
568
- IonicModule,
569
- IDEATranslationsModule,
570
- RouterModule.forChild([
571
- { path: '', redirectTo: 'sign-in', pathMatch: 'full' },
572
- { path: 'sign-in', component: IDEASignInPage },
573
- { path: 'sign-up', component: IDEASignUpPage },
574
- { path: 'new-password', component: IDEANewPasswordPage },
575
- { path: 'resend-link', component: IDEAResendLinkPage },
576
- { path: 'forgot-password', component: IDEAForgotPasswordPage },
577
- { path: 'confirm-password', component: IDEAConfirmPasswordPage }
578
- ])
579
- ],
580
- declarations: [
581
- IDEASignInPage,
582
- IDEASignUpPage,
583
- IDEANewPasswordPage,
584
- IDEAResendLinkPage,
585
- IDEAForgotPasswordPage,
586
- IDEAConfirmPasswordPage
587
- ]
588
- },] }
589
- ];
590
-
591
- export { IDEAAuthModule, IDEAAuthService, IDEASignInPage as ɵa, IDEASignUpPage as ɵb, IDEANewPasswordPage as ɵc, IDEAResendLinkPage as ɵd, IDEAForgotPasswordPage as ɵe, IDEAConfirmPasswordPage as ɵf };
592
- //# sourceMappingURL=idea-ionic-auth.js.map