verben-authentication-ui 1.0.13 → 1.0.15

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 (530) hide show
  1. package/esm2022/public-api.mjs +17 -35
  2. package/esm2022/src/lib/base/base-data.component.mjs +80 -0
  3. package/esm2022/src/lib/base/base-data.facade.mjs +130 -0
  4. package/esm2022/src/lib/base/base-data.service.mjs +21 -0
  5. package/esm2022/src/lib/base/base-data.state.mjs +74 -0
  6. package/esm2022/src/lib/base/index.mjs +2 -0
  7. package/esm2022/src/lib/base/models.mjs +2 -0
  8. package/esm2022/src/lib/base/public-api.mjs +6 -0
  9. package/esm2022/src/lib/base/verben-authentication-ui-src-lib-base.mjs +5 -0
  10. package/esm2022/src/lib/components/auth-callback/auth-callback.component.mjs +57 -0
  11. package/esm2022/{lib → src/lib}/components/auth-callback/auth-callback.module.mjs +1 -1
  12. package/esm2022/src/lib/components/auth-callback/index.mjs +2 -0
  13. package/esm2022/src/lib/components/auth-callback/public-api.mjs +3 -0
  14. package/esm2022/src/lib/components/auth-callback/verben-authentication-ui-src-lib-components-auth-callback.mjs +5 -0
  15. package/esm2022/{lib → src/lib}/components/button/button.component.mjs +1 -1
  16. package/esm2022/src/lib/components/button/button.module.mjs +20 -0
  17. package/esm2022/src/lib/components/button/index.mjs +2 -0
  18. package/esm2022/src/lib/components/button/public-api.mjs +3 -0
  19. package/esm2022/src/lib/components/button/verben-authentication-ui-src-lib-components-button.mjs +5 -0
  20. package/esm2022/src/lib/components/forgot-password/ForgotPasswordData.mjs +2 -0
  21. package/esm2022/{lib → src/lib}/components/forgot-password/forgot-password.component.mjs +8 -9
  22. package/esm2022/{lib → src/lib}/components/forgot-password/forgot-password.module.mjs +1 -1
  23. package/esm2022/src/lib/components/forgot-password/index.mjs +2 -0
  24. package/esm2022/src/lib/components/forgot-password/public-api.mjs +4 -0
  25. package/esm2022/src/lib/components/forgot-password/verben-authentication-ui-src-lib-components-forgot-password.mjs +5 -0
  26. package/esm2022/src/lib/components/mail/index.mjs +2 -0
  27. package/esm2022/src/lib/components/mail/mail.component.mjs +69 -0
  28. package/esm2022/src/lib/components/mail/mail.module.mjs +21 -0
  29. package/esm2022/src/lib/components/mail/public-api.mjs +3 -0
  30. package/esm2022/src/lib/components/mail/verben-authentication-ui-src-lib-components-mail.mjs +5 -0
  31. package/esm2022/src/lib/components/mail-validation/index.mjs +2 -0
  32. package/esm2022/{lib → src/lib}/components/mail-validation/mail-validation.component.mjs +1 -1
  33. package/esm2022/{lib → src/lib}/components/mail-validation/mail-validation.module.mjs +1 -1
  34. package/esm2022/src/lib/components/mail-validation/public-api.mjs +3 -0
  35. package/esm2022/src/lib/components/mail-validation/verben-authentication-ui-src-lib-components-mail-validation.mjs +5 -0
  36. package/esm2022/src/lib/components/o-auth/index.mjs +2 -0
  37. package/esm2022/src/lib/components/o-auth/o-auth.component.mjs +107 -0
  38. package/esm2022/{lib → src/lib}/components/o-auth/o-auth.module.mjs +1 -1
  39. package/esm2022/src/lib/components/o-auth/public-api.mjs +3 -0
  40. package/esm2022/src/lib/components/o-auth/verben-authentication-ui-src-lib-components-o-auth.mjs +5 -0
  41. package/esm2022/src/lib/components/otp-input/index.mjs +2 -0
  42. package/esm2022/src/lib/components/otp-input/otp-input.component.mjs +86 -0
  43. package/esm2022/src/lib/components/otp-input/otp-input.module.mjs +42 -0
  44. package/esm2022/src/lib/components/otp-input/public-api.mjs +3 -0
  45. package/esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs +5 -0
  46. package/esm2022/src/lib/components/reset-password/ResetPasswordData.mjs +2 -0
  47. package/esm2022/src/lib/components/reset-password/index.mjs +2 -0
  48. package/esm2022/src/lib/components/reset-password/public-api.mjs +4 -0
  49. package/esm2022/{lib → src/lib}/components/reset-password/reset-password.component.mjs +8 -9
  50. package/esm2022/{lib → src/lib}/components/reset-password/reset-password.module.mjs +1 -1
  51. package/esm2022/src/lib/components/reset-password/verben-authentication-ui-src-lib-components-reset-password.mjs +5 -0
  52. package/esm2022/src/lib/components/role-control/ChildrenType.mjs +6 -0
  53. package/esm2022/src/lib/components/role-control/MappedRole.mjs +2 -0
  54. package/esm2022/src/lib/components/role-control/MappedRoleAction.mjs +2 -0
  55. package/esm2022/src/lib/components/role-control/MappedRoleContext.mjs +2 -0
  56. package/esm2022/src/lib/components/role-control/UIActions.mjs +7 -0
  57. package/esm2022/src/lib/components/role-control/UIs.mjs +40 -0
  58. package/esm2022/src/lib/components/role-control/base-table-style.mjs +53 -0
  59. package/esm2022/src/lib/components/role-control/index.mjs +2 -0
  60. package/esm2022/src/lib/components/role-control/public-api.mjs +3 -0
  61. package/esm2022/src/lib/components/role-control/role-control.component.mjs +1720 -0
  62. package/esm2022/src/lib/components/role-control/role-control.module.mjs +18 -0
  63. package/esm2022/src/lib/components/role-control/role-control.service.mjs +57 -0
  64. package/esm2022/src/lib/components/role-control/verben-authentication-ui-src-lib-components-role-control.mjs +5 -0
  65. package/esm2022/src/lib/components/sign-in/index.mjs +2 -0
  66. package/esm2022/src/lib/components/sign-in/public-api.mjs +3 -0
  67. package/esm2022/src/lib/components/sign-in/sign-in.component.mjs +316 -0
  68. package/esm2022/src/lib/components/sign-in/sign-in.module.mjs +46 -0
  69. package/esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs +5 -0
  70. package/esm2022/src/lib/components/sign-up/index.mjs +2 -0
  71. package/esm2022/src/lib/components/sign-up/public-api.mjs +3 -0
  72. package/esm2022/src/lib/components/sign-up/sign-up.component.mjs +227 -0
  73. package/esm2022/src/lib/components/sign-up/sign-up.module.mjs +43 -0
  74. package/esm2022/src/lib/components/sign-up/verben-authentication-ui-src-lib-components-sign-up.mjs +5 -0
  75. package/esm2022/src/lib/components/sso/base-table-style.mjs +53 -0
  76. package/esm2022/src/lib/components/sso/helper.mjs +16 -0
  77. package/esm2022/src/lib/components/sso/index.mjs +2 -0
  78. package/esm2022/src/lib/components/sso/public-api.mjs +3 -0
  79. package/esm2022/{lib → src/lib}/components/sso/sso-form/sso-form.component.mjs +1 -1
  80. package/esm2022/src/lib/components/sso/sso.columns.mjs +29 -0
  81. package/esm2022/src/lib/components/sso/sso.component.mjs +234 -0
  82. package/esm2022/src/lib/components/sso/sso.module.mjs +63 -0
  83. package/esm2022/src/lib/components/sso/verben-authentication-ui-src-lib-components-sso.mjs +5 -0
  84. package/esm2022/src/lib/components/two-factor-auth-otp/index.mjs +2 -0
  85. package/esm2022/src/lib/components/two-factor-auth-otp/public-api.mjs +3 -0
  86. package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +208 -0
  87. package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +35 -0
  88. package/esm2022/src/lib/components/two-factor-auth-otp/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +5 -0
  89. package/esm2022/src/lib/components/two-factor-auth-setup/index.mjs +2 -0
  90. package/esm2022/src/lib/components/two-factor-auth-setup/public-api.mjs +3 -0
  91. package/esm2022/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +1 -1
  92. package/esm2022/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +19 -0
  93. package/esm2022/src/lib/components/two-factor-auth-setup/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +5 -0
  94. package/esm2022/src/lib/components/user-management/base-table-style.mjs +53 -0
  95. package/esm2022/src/lib/components/user-management/index.mjs +2 -0
  96. package/esm2022/src/lib/components/user-management/public-api.mjs +3 -0
  97. package/esm2022/src/lib/components/user-management/services/user-management.service.mjs +88 -0
  98. package/esm2022/{lib/components/user-management/user-management-form/use-management-form.component.mjs → src/lib/components/user-management/user-management-form/user-management-form.component.mjs} +2 -2
  99. package/esm2022/src/lib/components/user-management/user-management.columns.mjs +53 -0
  100. package/esm2022/{lib → src/lib}/components/user-management/user-management.component.mjs +20 -23
  101. package/esm2022/src/lib/components/user-management/user-management.module.mjs +91 -0
  102. package/esm2022/src/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +26 -0
  103. package/esm2022/src/lib/components/user-management/verben-authentication-ui-src-lib-components-user-management.mjs +5 -0
  104. package/esm2022/src/lib/components/user-request/index.mjs +2 -0
  105. package/esm2022/src/lib/components/user-request/public-api.mjs +3 -0
  106. package/esm2022/src/lib/components/user-request/user-request.component.mjs +318 -0
  107. package/esm2022/src/lib/components/user-request/user-request.module.mjs +38 -0
  108. package/esm2022/src/lib/components/user-request/verben-authentication-ui-src-lib-components-user-request.mjs +5 -0
  109. package/esm2022/src/lib/components/user-request-approval/access-request.columns.mjs +29 -0
  110. package/esm2022/src/lib/components/user-request-approval/base-table-style.mjs +53 -0
  111. package/esm2022/src/lib/components/user-request-approval/facades/user-access-request.facade.mjs +260 -0
  112. package/esm2022/src/lib/components/user-request-approval/helper.mjs +56 -0
  113. package/esm2022/src/lib/components/user-request-approval/index.mjs +2 -0
  114. package/esm2022/src/lib/components/user-request-approval/public-api.mjs +5 -0
  115. package/esm2022/src/lib/components/user-request-approval/services/user-access-request.service.mjs +93 -0
  116. package/esm2022/src/lib/components/user-request-approval/states/user-access-request.state.mjs +92 -0
  117. package/esm2022/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +26 -0
  118. package/esm2022/{lib → src/lib}/components/user-request-approval/user-request-approval.component.mjs +3 -3
  119. package/esm2022/src/lib/components/user-request-approval/user-request-approval.module.mjs +83 -0
  120. package/esm2022/{lib/components/user-request-approval/user-request-form/use-request-form.component.mjs → src/lib/components/user-request-approval/user-request-form/user-request-form.component.mjs} +2 -2
  121. package/esm2022/src/lib/components/user-request-approval/verben-authentication-ui-src-lib-components-user-request-approval.mjs +5 -0
  122. package/esm2022/src/lib/components/user-request-process/index.mjs +2 -0
  123. package/esm2022/src/lib/components/user-request-process/public-api.mjs +3 -0
  124. package/esm2022/src/lib/components/user-request-process/user-request-process.component.mjs +11 -0
  125. package/esm2022/src/lib/components/user-request-process/user-request-process.module.mjs +18 -0
  126. package/esm2022/src/lib/components/user-request-process/verben-authentication-ui-src-lib-components-user-request-process.mjs +5 -0
  127. package/esm2022/src/lib/models/ApplicationRoleAction.mjs +2 -0
  128. package/esm2022/src/lib/models/ApplicationRoleContext.mjs +2 -0
  129. package/esm2022/src/lib/models/ErrorResponse.mjs +11 -0
  130. package/esm2022/src/lib/models/FilterTypes.mjs +9 -0
  131. package/esm2022/src/lib/models/MailConfig.mjs +2 -0
  132. package/esm2022/src/lib/models/MessageConfig.mjs +2 -0
  133. package/esm2022/src/lib/models/MessageMedium.mjs +6 -0
  134. package/esm2022/src/lib/models/OAuthParam.mjs +2 -0
  135. package/esm2022/src/lib/models/OAuthType.mjs +9 -0
  136. package/esm2022/src/lib/models/PagedResult.mjs +2 -0
  137. package/esm2022/src/lib/models/PasswordRequestParam.mjs +2 -0
  138. package/esm2022/src/lib/models/PeriodMode.mjs +12 -0
  139. package/esm2022/src/lib/models/PermissionConfig.mjs +2 -0
  140. package/esm2022/src/lib/models/ReportSchedule.mjs +2 -0
  141. package/esm2022/src/lib/models/ReportType.mjs +7 -0
  142. package/esm2022/src/lib/models/ResponseKeyValue.mjs +2 -0
  143. package/esm2022/src/lib/models/Role.mjs +2 -0
  144. package/esm2022/src/lib/models/RoleAction.mjs +2 -0
  145. package/esm2022/src/lib/models/RoleContext.mjs +2 -0
  146. package/esm2022/src/lib/models/SMSConfig.mjs +2 -0
  147. package/esm2022/src/lib/models/SearchDynamicWrapper.mjs +2 -0
  148. package/esm2022/src/lib/models/SearchOperator.mjs +6 -0
  149. package/esm2022/src/lib/models/SearchPropertySign.mjs +11 -0
  150. package/esm2022/src/lib/models/SearchPropertyValue.mjs +2 -0
  151. package/esm2022/src/lib/models/SearchPropertyValueType.mjs +11 -0
  152. package/esm2022/src/lib/models/SortDirection.mjs +7 -0
  153. package/esm2022/src/lib/models/Tag.mjs +2 -0
  154. package/esm2022/src/lib/models/TaskNotification.mjs +2 -0
  155. package/esm2022/src/lib/models/TaskNotificationMessageType.mjs +6 -0
  156. package/esm2022/src/lib/models/TaskNotificationType.mjs +6 -0
  157. package/esm2022/src/lib/models/Tenant.mjs +2 -0
  158. package/esm2022/src/lib/models/TenantConfig.mjs +2 -0
  159. package/esm2022/src/lib/models/UserRequest.mjs +2 -0
  160. package/esm2022/src/lib/models/auth-mechanism.mjs +8 -0
  161. package/esm2022/src/lib/models/base.mjs +2 -0
  162. package/esm2022/src/lib/models/conditions.mjs +13 -0
  163. package/esm2022/src/lib/models/index.mjs +2 -0
  164. package/esm2022/src/lib/models/log-in.mjs +2 -0
  165. package/esm2022/src/lib/models/mainUser.mjs +2 -0
  166. package/esm2022/src/lib/models/oauth-resp.mjs +2 -0
  167. package/esm2022/src/lib/models/oauth-response.mjs +2 -0
  168. package/esm2022/src/lib/models/object-state.mjs +8 -0
  169. package/esm2022/src/lib/models/otpValue.mjs +2 -0
  170. package/esm2022/src/lib/models/paged.mjs +2 -0
  171. package/esm2022/src/lib/models/public-api.mjs +53 -0
  172. package/esm2022/src/lib/models/query-params.mjs +2 -0
  173. package/esm2022/src/lib/models/request-status.mjs +5 -0
  174. package/esm2022/src/lib/models/resend-otp-data.mjs +2 -0
  175. package/esm2022/src/lib/models/sign-up.mjs +2 -0
  176. package/esm2022/src/lib/models/single-sign-on.mjs +2 -0
  177. package/esm2022/src/lib/models/status.mjs +6 -0
  178. package/esm2022/src/lib/models/user-access-request-status.mjs +7 -0
  179. package/esm2022/src/lib/models/user-access-request.mjs +2 -0
  180. package/esm2022/src/lib/models/user.mjs +2 -0
  181. package/esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs +5 -0
  182. package/esm2022/src/lib/pipes/async-label.pipe.mjs +25 -0
  183. package/esm2022/src/lib/pipes/index.mjs +2 -0
  184. package/esm2022/src/lib/pipes/public-api.mjs +2 -0
  185. package/esm2022/src/lib/pipes/verben-authentication-ui-src-lib-pipes.mjs +5 -0
  186. package/esm2022/src/lib/services/authorization.service.mjs +26 -0
  187. package/esm2022/src/lib/services/encryption.service.mjs +52 -0
  188. package/esm2022/src/lib/services/environment.service.mjs +26 -0
  189. package/esm2022/src/lib/services/http-web-request.service.mjs +85 -0
  190. package/esm2022/src/lib/services/import.service.mjs +248 -0
  191. package/esm2022/src/lib/services/index.mjs +2 -0
  192. package/esm2022/src/lib/services/label.service.mjs +134 -0
  193. package/esm2022/src/lib/services/public-api.mjs +8 -0
  194. package/esm2022/src/lib/services/util.service.mjs +55 -0
  195. package/esm2022/src/lib/services/verben-authentication-ui-src-lib-services.mjs +5 -0
  196. package/esm2022/src/lib/shared/index.mjs +2 -0
  197. package/esm2022/src/lib/shared/public-api.mjs +2 -0
  198. package/esm2022/src/lib/shared/shared.module.mjs +90 -0
  199. package/esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs +5 -0
  200. package/esm2022/src/utils/components/base-data-view.component.mjs +111 -0
  201. package/esm2022/src/utils/index.mjs +2 -0
  202. package/esm2022/src/utils/models/DataViewConfig.mjs +2 -0
  203. package/esm2022/src/utils/public-api.mjs +3 -0
  204. package/esm2022/src/utils/verben-authentication-ui-src-utils.mjs +5 -0
  205. package/fesm2022/verben-authentication-ui-src-lib-base.mjs +305 -0
  206. package/fesm2022/verben-authentication-ui-src-lib-base.mjs.map +1 -0
  207. package/fesm2022/verben-authentication-ui-src-lib-components-auth-callback.mjs +79 -0
  208. package/fesm2022/verben-authentication-ui-src-lib-components-auth-callback.mjs.map +1 -0
  209. package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs +70 -0
  210. package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs.map +1 -0
  211. package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs +128 -0
  212. package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs.map +1 -0
  213. package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs +146 -0
  214. package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs.map +1 -0
  215. package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs +94 -0
  216. package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs.map +1 -0
  217. package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs +130 -0
  218. package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs.map +1 -0
  219. package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs +131 -0
  220. package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs.map +1 -0
  221. package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs +144 -0
  222. package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs.map +1 -0
  223. package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs +1893 -0
  224. package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs.map +1 -0
  225. package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs +363 -0
  226. package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs.map +1 -0
  227. package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs +271 -0
  228. package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs.map +1 -0
  229. package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs +462 -0
  230. package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs.map +1 -0
  231. package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +245 -0
  232. package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs.map +1 -0
  233. package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +113 -0
  234. package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs.map +1 -0
  235. package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs +894 -0
  236. package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs.map +1 -0
  237. package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs +1021 -0
  238. package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs.map +1 -0
  239. package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs +34 -0
  240. package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs.map +1 -0
  241. package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs +355 -0
  242. package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs.map +1 -0
  243. package/fesm2022/verben-authentication-ui-src-lib-models.mjs +153 -0
  244. package/fesm2022/verben-authentication-ui-src-lib-models.mjs.map +1 -0
  245. package/fesm2022/verben-authentication-ui-src-lib-pipes.mjs +32 -0
  246. package/fesm2022/verben-authentication-ui-src-lib-pipes.mjs.map +1 -0
  247. package/fesm2022/verben-authentication-ui-src-lib-services.mjs +610 -0
  248. package/fesm2022/verben-authentication-ui-src-lib-services.mjs.map +1 -0
  249. package/fesm2022/verben-authentication-ui-src-lib-shared.mjs +97 -0
  250. package/fesm2022/verben-authentication-ui-src-lib-shared.mjs.map +1 -0
  251. package/fesm2022/verben-authentication-ui-src-utils.mjs +118 -0
  252. package/fesm2022/verben-authentication-ui-src-utils.mjs.map +1 -0
  253. package/fesm2022/verben-authentication-ui.mjs +16 -6610
  254. package/fesm2022/verben-authentication-ui.mjs.map +1 -1
  255. package/package.json +146 -2
  256. package/public-api.d.ts +16 -34
  257. package/src/lib/base/base-data.component.d.ts +32 -0
  258. package/src/lib/base/base-data.facade.d.ts +27 -0
  259. package/src/lib/base/base-data.service.d.ts +14 -0
  260. package/src/lib/base/base-data.state.d.ts +28 -0
  261. package/src/lib/base/index.d.ts +1 -0
  262. package/src/lib/base/models.d.ts +11 -0
  263. package/src/lib/base/public-api.d.ts +5 -0
  264. package/src/lib/components/auth-callback/index.d.ts +1 -0
  265. package/src/lib/components/auth-callback/public-api.d.ts +2 -0
  266. package/src/lib/components/button/index.d.ts +1 -0
  267. package/src/lib/components/button/public-api.d.ts +2 -0
  268. package/{lib → src/lib}/components/forgot-password/forgot-password.component.d.ts +4 -4
  269. package/src/lib/components/forgot-password/index.d.ts +1 -0
  270. package/src/lib/components/forgot-password/public-api.d.ts +3 -0
  271. package/src/lib/components/mail/index.d.ts +1 -0
  272. package/{lib → src/lib}/components/mail/mail.module.d.ts +1 -1
  273. package/src/lib/components/mail/public-api.d.ts +2 -0
  274. package/src/lib/components/mail-validation/index.d.ts +1 -0
  275. package/src/lib/components/mail-validation/public-api.d.ts +2 -0
  276. package/src/lib/components/o-auth/index.d.ts +1 -0
  277. package/{lib → src/lib}/components/o-auth/o-auth.component.d.ts +1 -1
  278. package/src/lib/components/o-auth/public-api.d.ts +2 -0
  279. package/src/lib/components/otp-input/index.d.ts +1 -0
  280. package/{lib → src/lib}/components/otp-input/otp-input.module.d.ts +2 -2
  281. package/src/lib/components/otp-input/public-api.d.ts +2 -0
  282. package/src/lib/components/reset-password/index.d.ts +1 -0
  283. package/src/lib/components/reset-password/public-api.d.ts +3 -0
  284. package/{lib → src/lib}/components/reset-password/reset-password.component.d.ts +4 -4
  285. package/{lib → src/lib}/components/role-control/MappedRole.d.ts +1 -1
  286. package/{lib → src/lib}/components/role-control/MappedRoleAction.d.ts +1 -1
  287. package/{lib → src/lib}/components/role-control/MappedRoleContext.d.ts +1 -1
  288. package/src/lib/components/role-control/index.d.ts +1 -0
  289. package/src/lib/components/role-control/public-api.d.ts +2 -0
  290. package/{lib → src/lib}/components/role-control/role-control.component.d.ts +21 -13
  291. package/{lib → src/lib}/components/role-control/role-control.module.d.ts +1 -1
  292. package/src/lib/components/sign-in/index.d.ts +1 -0
  293. package/src/lib/components/sign-in/public-api.d.ts +2 -0
  294. package/{lib → src/lib}/components/sign-in/sign-in.component.d.ts +10 -10
  295. package/{lib → src/lib}/components/sign-in/sign-in.module.d.ts +2 -2
  296. package/src/lib/components/sign-up/index.d.ts +1 -0
  297. package/src/lib/components/sign-up/public-api.d.ts +2 -0
  298. package/{lib → src/lib}/components/sign-up/sign-up.component.d.ts +6 -6
  299. package/{lib → src/lib}/components/sign-up/sign-up.module.d.ts +2 -2
  300. package/src/lib/components/sso/helper.d.ts +2 -0
  301. package/src/lib/components/sso/index.d.ts +1 -0
  302. package/src/lib/components/sso/public-api.d.ts +2 -0
  303. package/{lib → src/lib}/components/sso/sso.columns.d.ts +1 -1
  304. package/{lib → src/lib}/components/sso/sso.component.d.ts +1 -1
  305. package/src/lib/components/two-factor-auth-otp/index.d.ts +1 -0
  306. package/src/lib/components/two-factor-auth-otp/public-api.d.ts +2 -0
  307. package/{lib → src/lib}/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +6 -6
  308. package/{lib → src/lib}/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +2 -2
  309. package/src/lib/components/two-factor-auth-setup/index.d.ts +1 -0
  310. package/src/lib/components/two-factor-auth-setup/public-api.d.ts +2 -0
  311. package/src/lib/components/user-management/index.d.ts +1 -0
  312. package/src/lib/components/user-management/public-api.d.ts +2 -0
  313. package/{lib → src/lib}/components/user-management/services/user-management.service.d.ts +4 -4
  314. package/{lib/components/user-management/user-management-form/use-management-form.component.d.ts → src/lib/components/user-management/user-management-form/user-management-form.component.d.ts} +4 -4
  315. package/{lib → src/lib}/components/user-management/user-management.columns.d.ts +1 -1
  316. package/{lib → src/lib}/components/user-management/user-management.component.d.ts +11 -11
  317. package/{lib → src/lib}/components/user-management/user-management.module.d.ts +2 -2
  318. package/{lib → src/lib}/components/user-management/user-status-badge/user-status-badge.component.d.ts +1 -1
  319. package/src/lib/components/user-request/index.d.ts +1 -0
  320. package/src/lib/components/user-request/public-api.d.ts +2 -0
  321. package/{lib → src/lib}/components/user-request/user-request.component.d.ts +7 -7
  322. package/{lib → src/lib}/components/user-request/user-request.module.d.ts +1 -1
  323. package/{lib → src/lib}/components/user-request-approval/access-request.columns.d.ts +1 -1
  324. package/{lib → src/lib}/components/user-request-approval/facades/user-access-request.facade.d.ts +4 -4
  325. package/{lib → src/lib}/components/user-request-approval/helper.d.ts +1 -1
  326. package/src/lib/components/user-request-approval/index.d.ts +1 -0
  327. package/src/lib/components/user-request-approval/public-api.d.ts +4 -0
  328. package/{lib → src/lib}/components/user-request-approval/services/user-access-request.service.d.ts +6 -6
  329. package/{lib → src/lib}/components/user-request-approval/states/user-access-request.state.d.ts +3 -3
  330. package/{lib → src/lib}/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +1 -1
  331. package/{lib → src/lib}/components/user-request-approval/user-request-approval.component.d.ts +2 -2
  332. package/{lib → src/lib}/components/user-request-approval/user-request-approval.module.d.ts +1 -1
  333. package/{lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts → src/lib/components/user-request-approval/user-request-form/user-request-form.component.d.ts} +1 -1
  334. package/src/lib/components/user-request-process/index.d.ts +1 -0
  335. package/src/lib/components/user-request-process/public-api.d.ts +2 -0
  336. package/src/lib/components/user-request-process/user-request-process.component.d.ts +5 -0
  337. package/src/lib/components/user-request-process/user-request-process.module.d.ts +7 -0
  338. package/src/lib/models/FilterTypes.d.ts +6 -0
  339. package/src/lib/models/MailConfig.d.ts +12 -0
  340. package/src/lib/models/MessageConfig.d.ts +3 -0
  341. package/src/lib/models/MessageMedium.d.ts +4 -0
  342. package/src/lib/models/PeriodMode.d.ts +10 -0
  343. package/src/lib/models/ReportSchedule.d.ts +22 -0
  344. package/src/lib/models/ReportType.d.ts +5 -0
  345. package/src/lib/models/SMSConfig.d.ts +10 -0
  346. package/src/lib/models/TaskNotification.d.ts +12 -0
  347. package/src/lib/models/TaskNotificationMessageType.d.ts +4 -0
  348. package/src/lib/models/TaskNotificationType.d.ts +4 -0
  349. package/src/lib/models/Tenant.d.ts +21 -0
  350. package/{lib → src/lib}/models/UserRequest.d.ts +6 -9
  351. package/src/lib/models/index.d.ts +1 -0
  352. package/src/lib/models/public-api.d.ts +52 -0
  353. package/{lib → src/lib}/pipes/async-label.pipe.d.ts +1 -1
  354. package/src/lib/pipes/index.d.ts +1 -0
  355. package/src/lib/pipes/public-api.d.ts +1 -0
  356. package/src/lib/services/import.service.d.ts +15 -0
  357. package/src/lib/services/index.d.ts +1 -0
  358. package/src/lib/services/public-api.d.ts +7 -0
  359. package/src/lib/shared/index.d.ts +1 -0
  360. package/src/lib/shared/public-api.d.ts +1 -0
  361. package/{lib → src/lib}/shared/shared.module.d.ts +2 -2
  362. package/src/utils/components/base-data-view.component.d.ts +34 -0
  363. package/src/utils/index.d.ts +1 -0
  364. package/src/utils/models/DataViewConfig.d.ts +11 -0
  365. package/src/utils/public-api.d.ts +2 -0
  366. package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
  367. package/esm2022/lib/components/button/button.module.mjs +0 -20
  368. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  369. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  370. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  371. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
  372. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
  373. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  374. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  375. package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
  376. package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
  377. package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
  378. package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
  379. package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
  380. package/esm2022/lib/components/role-control/UIs.mjs +0 -40
  381. package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
  382. package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1608
  383. package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
  384. package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
  385. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
  386. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  387. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
  388. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  389. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  390. package/esm2022/lib/components/sso/helper.mjs +0 -16
  391. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  392. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  393. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  394. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
  395. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  396. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  397. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  398. package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
  399. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -53
  400. package/esm2022/lib/components/user-management/user-management.module.mjs +0 -85
  401. package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
  402. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
  403. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
  404. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
  405. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  406. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
  407. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
  408. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
  409. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
  410. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  411. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -83
  412. package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
  413. package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
  414. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  415. package/esm2022/lib/models/OAuthParam.mjs +0 -2
  416. package/esm2022/lib/models/OAuthType.mjs +0 -9
  417. package/esm2022/lib/models/PagedResult.mjs +0 -2
  418. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  419. package/esm2022/lib/models/PermissionConfig.mjs +0 -2
  420. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  421. package/esm2022/lib/models/Role.mjs +0 -2
  422. package/esm2022/lib/models/RoleAction.mjs +0 -2
  423. package/esm2022/lib/models/RoleContext.mjs +0 -2
  424. package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
  425. package/esm2022/lib/models/SearchOperator.mjs +0 -6
  426. package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
  427. package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
  428. package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
  429. package/esm2022/lib/models/SortDirection.mjs +0 -7
  430. package/esm2022/lib/models/Tag.mjs +0 -2
  431. package/esm2022/lib/models/TenantConfig.mjs +0 -2
  432. package/esm2022/lib/models/UserRequest.mjs +0 -2
  433. package/esm2022/lib/models/auth-mechanism.mjs +0 -8
  434. package/esm2022/lib/models/base.mjs +0 -2
  435. package/esm2022/lib/models/conditions.mjs +0 -13
  436. package/esm2022/lib/models/log-in.mjs +0 -2
  437. package/esm2022/lib/models/mainUser.mjs +0 -2
  438. package/esm2022/lib/models/oauth-resp.mjs +0 -2
  439. package/esm2022/lib/models/oauth-response.mjs +0 -2
  440. package/esm2022/lib/models/object-state.mjs +0 -8
  441. package/esm2022/lib/models/otpValue.mjs +0 -2
  442. package/esm2022/lib/models/paged.mjs +0 -2
  443. package/esm2022/lib/models/query-params.mjs +0 -2
  444. package/esm2022/lib/models/request-status.mjs +0 -5
  445. package/esm2022/lib/models/resend-otp-data.mjs +0 -2
  446. package/esm2022/lib/models/sign-up.mjs +0 -2
  447. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  448. package/esm2022/lib/models/status.mjs +0 -6
  449. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  450. package/esm2022/lib/models/user-access-request.mjs +0 -2
  451. package/esm2022/lib/models/user.mjs +0 -2
  452. package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
  453. package/esm2022/lib/services/authorization.service.mjs +0 -26
  454. package/esm2022/lib/services/encryption.service.mjs +0 -52
  455. package/esm2022/lib/services/environment.service.mjs +0 -26
  456. package/esm2022/lib/services/http-web-request.service.mjs +0 -85
  457. package/esm2022/lib/services/label.service.mjs +0 -134
  458. package/esm2022/lib/services/util.service.mjs +0 -55
  459. package/esm2022/lib/shared/shared.module.mjs +0 -84
  460. package/lib/components/sso/helper.d.ts +0 -2
  461. /package/{lib → src/lib}/components/auth-callback/auth-callback.component.d.ts +0 -0
  462. /package/{lib → src/lib}/components/auth-callback/auth-callback.module.d.ts +0 -0
  463. /package/{lib → src/lib}/components/button/button.component.d.ts +0 -0
  464. /package/{lib → src/lib}/components/button/button.module.d.ts +0 -0
  465. /package/{lib → src/lib}/components/forgot-password/ForgotPasswordData.d.ts +0 -0
  466. /package/{lib → src/lib}/components/forgot-password/forgot-password.module.d.ts +0 -0
  467. /package/{lib → src/lib}/components/mail/mail.component.d.ts +0 -0
  468. /package/{lib → src/lib}/components/mail-validation/mail-validation.component.d.ts +0 -0
  469. /package/{lib → src/lib}/components/mail-validation/mail-validation.module.d.ts +0 -0
  470. /package/{lib → src/lib}/components/o-auth/o-auth.module.d.ts +0 -0
  471. /package/{lib → src/lib}/components/otp-input/otp-input.component.d.ts +0 -0
  472. /package/{lib → src/lib}/components/reset-password/ResetPasswordData.d.ts +0 -0
  473. /package/{lib → src/lib}/components/reset-password/reset-password.module.d.ts +0 -0
  474. /package/{lib → src/lib}/components/role-control/ChildrenType.d.ts +0 -0
  475. /package/{lib → src/lib}/components/role-control/UIActions.d.ts +0 -0
  476. /package/{lib → src/lib}/components/role-control/UIs.d.ts +0 -0
  477. /package/{lib → src/lib}/components/role-control/base-table-style.d.ts +0 -0
  478. /package/{lib → src/lib}/components/role-control/role-control.service.d.ts +0 -0
  479. /package/{lib → src/lib}/components/sso/base-table-style.d.ts +0 -0
  480. /package/{lib → src/lib}/components/sso/sso-form/sso-form.component.d.ts +0 -0
  481. /package/{lib → src/lib}/components/sso/sso.module.d.ts +0 -0
  482. /package/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -0
  483. /package/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -0
  484. /package/{lib → src/lib}/components/user-management/base-table-style.d.ts +0 -0
  485. /package/{lib → src/lib}/components/user-request-approval/base-table-style.d.ts +0 -0
  486. /package/{lib → src/lib}/models/ApplicationRoleAction.d.ts +0 -0
  487. /package/{lib → src/lib}/models/ApplicationRoleContext.d.ts +0 -0
  488. /package/{lib → src/lib}/models/ErrorResponse.d.ts +0 -0
  489. /package/{lib → src/lib}/models/OAuthParam.d.ts +0 -0
  490. /package/{lib → src/lib}/models/OAuthType.d.ts +0 -0
  491. /package/{lib → src/lib}/models/PagedResult.d.ts +0 -0
  492. /package/{lib → src/lib}/models/PasswordRequestParam.d.ts +0 -0
  493. /package/{lib → src/lib}/models/PermissionConfig.d.ts +0 -0
  494. /package/{lib → src/lib}/models/ResponseKeyValue.d.ts +0 -0
  495. /package/{lib → src/lib}/models/Role.d.ts +0 -0
  496. /package/{lib → src/lib}/models/RoleAction.d.ts +0 -0
  497. /package/{lib → src/lib}/models/RoleContext.d.ts +0 -0
  498. /package/{lib → src/lib}/models/SearchDynamicWrapper.d.ts +0 -0
  499. /package/{lib → src/lib}/models/SearchOperator.d.ts +0 -0
  500. /package/{lib → src/lib}/models/SearchPropertySign.d.ts +0 -0
  501. /package/{lib → src/lib}/models/SearchPropertyValue.d.ts +0 -0
  502. /package/{lib → src/lib}/models/SearchPropertyValueType.d.ts +0 -0
  503. /package/{lib → src/lib}/models/SortDirection.d.ts +0 -0
  504. /package/{lib → src/lib}/models/Tag.d.ts +0 -0
  505. /package/{lib → src/lib}/models/TenantConfig.d.ts +0 -0
  506. /package/{lib → src/lib}/models/auth-mechanism.d.ts +0 -0
  507. /package/{lib → src/lib}/models/base.d.ts +0 -0
  508. /package/{lib → src/lib}/models/conditions.d.ts +0 -0
  509. /package/{lib → src/lib}/models/log-in.d.ts +0 -0
  510. /package/{lib → src/lib}/models/mainUser.d.ts +0 -0
  511. /package/{lib → src/lib}/models/oauth-resp.d.ts +0 -0
  512. /package/{lib → src/lib}/models/oauth-response.d.ts +0 -0
  513. /package/{lib → src/lib}/models/object-state.d.ts +0 -0
  514. /package/{lib → src/lib}/models/otpValue.d.ts +0 -0
  515. /package/{lib → src/lib}/models/paged.d.ts +0 -0
  516. /package/{lib → src/lib}/models/query-params.d.ts +0 -0
  517. /package/{lib → src/lib}/models/request-status.d.ts +0 -0
  518. /package/{lib → src/lib}/models/resend-otp-data.d.ts +0 -0
  519. /package/{lib → src/lib}/models/sign-up.d.ts +0 -0
  520. /package/{lib → src/lib}/models/single-sign-on.d.ts +0 -0
  521. /package/{lib → src/lib}/models/status.d.ts +0 -0
  522. /package/{lib → src/lib}/models/user-access-request-status.d.ts +0 -0
  523. /package/{lib → src/lib}/models/user-access-request.d.ts +0 -0
  524. /package/{lib → src/lib}/models/user.d.ts +0 -0
  525. /package/{lib → src/lib}/services/authorization.service.d.ts +0 -0
  526. /package/{lib → src/lib}/services/encryption.service.d.ts +0 -0
  527. /package/{lib → src/lib}/services/environment.service.d.ts +0 -0
  528. /package/{lib → src/lib}/services/http-web-request.service.d.ts +0 -0
  529. /package/{lib → src/lib}/services/label.service.d.ts +0 -0
  530. /package/{lib → src/lib}/services/util.service.d.ts +0 -0
@@ -0,0 +1,52 @@
1
+ export * from './ApplicationRoleAction';
2
+ export * from './ApplicationRoleContext';
3
+ export * from './auth-mechanism';
4
+ export * from './base';
5
+ export * from './conditions';
6
+ export * from './ErrorResponse';
7
+ export * from './FilterTypes';
8
+ export * from './log-in';
9
+ export * from './MailConfig';
10
+ export * from './mainUser';
11
+ export * from './MessageConfig';
12
+ export * from './MessageMedium';
13
+ export * from './oauth-resp';
14
+ export * from './oauth-response';
15
+ export * from './OAuthParam';
16
+ export * from './OAuthType';
17
+ export * from './object-state';
18
+ export * from './otpValue';
19
+ export * from './paged';
20
+ export * from './PagedResult';
21
+ export * from './PasswordRequestParam';
22
+ export * from './PeriodMode';
23
+ export * from './PermissionConfig';
24
+ export * from './query-params';
25
+ export * from './ReportSchedule';
26
+ export * from './ReportType';
27
+ export * from './request-status';
28
+ export * from './resend-otp-data';
29
+ export * from './ResponseKeyValue';
30
+ export * from './Role';
31
+ export * from './RoleAction';
32
+ export * from './RoleContext';
33
+ export * from './SearchDynamicWrapper';
34
+ export * from './SearchOperator';
35
+ export * from './SearchPropertySign';
36
+ export * from './SearchPropertyValue';
37
+ export * from './SearchPropertyValueType';
38
+ export * from './sign-up';
39
+ export * from './single-sign-on';
40
+ export * from './SMSConfig';
41
+ export * from './SortDirection';
42
+ export * from './status';
43
+ export * from './Tag';
44
+ export * from './TaskNotification';
45
+ export * from './TaskNotificationMessageType';
46
+ export * from './TaskNotificationType';
47
+ export * from './Tenant';
48
+ export * from './TenantConfig';
49
+ export * from './user-access-request';
50
+ export * from './user-access-request-status';
51
+ export * from './user';
52
+ export * from './UserRequest';
@@ -1,6 +1,6 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { LabelService } from '../services/label.service';
3
+ import { LabelService } from 'verben-authentication-ui/src/lib/services';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AsyncLabelPipe implements PipeTransform {
6
6
  private labelService;
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1 @@
1
+ export * from './async-label.pipe';
@@ -0,0 +1,15 @@
1
+ import { HttpWebRequestService } from './http-web-request.service';
2
+ import { BaseModel } from 'verben-authentication-ui/src/lib/models';
3
+ import { PagedResult } from 'verben-authentication-ui/src/lib/models';
4
+ import { UtilService } from './util.service';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ImportService<T extends BaseModel> {
7
+ private utilService;
8
+ private server;
9
+ constructor(utilService: UtilService, server: HttpWebRequestService);
10
+ onComplete(event: any[], defaults: T, endpoint: string | null, baseUrl: string, entity: string, updateCallback: (items: T[]) => void, pagedState?: PagedResult<T> | null, stringProps?: (keyof T)[], numberProps?: (keyof T)[], datePropsExtras?: (keyof T)[]): void;
11
+ saveImportedDataBatch(items: T[], endpoint: string | null, baseUrl: string, entity: string, updateCallback: (items: T[]) => void, pagedState?: PagedResult<T> | null): Promise<void>;
12
+ excelSerialToDate(serial: number): Date;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImportService<any>, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<ImportService<any>>;
15
+ }
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1,7 @@
1
+ export * from './authorization.service';
2
+ export * from './encryption.service';
3
+ export * from './environment.service';
4
+ export * from './http-web-request.service';
5
+ export * from './import.service';
6
+ export * from './label.service';
7
+ export * from './util.service';
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1 @@
1
+ export * from './shared.module';
@@ -1,10 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@angular/common";
3
- import * as i2 from "../pipes/async-label.pipe";
3
+ import * as i2 from "verben-authentication-ui/src/lib/pipes";
4
4
  import * as i3 from "verben-ng-ui";
5
5
  import * as i4 from "@angular/forms";
6
6
  export declare class SharedModule {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.AsyncLabelPipe], [typeof i1.CommonModule, typeof i3.DataTableModule, typeof i3.CardModule, typeof i3.SvgModule, typeof i3.DataViewModule, typeof i3.CardDataViewModule, typeof i3.SortTableModule, typeof i3.VisibleColumnModule, typeof i3.TableFilterModule, typeof i3.DataExportModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i3.VerbenaInputModule, typeof i3.VerbenaButtonModule, typeof i3.VerbenaBadgeModule, typeof i3.VerbenDialogueModule, typeof i3.DropDownModule, typeof i3.VerbenaTextareaModule, typeof i3.VerbenaSwitchModule, typeof i3.VerbenPopUpModule, typeof i3.ChipModule, typeof i2.AsyncLabelPipe]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.AsyncLabelPipe], [typeof i1.CommonModule, typeof i3.DataTableModule, typeof i3.CardModule, typeof i3.SvgModule, typeof i3.DataViewModule, typeof i3.CardDataViewModule, typeof i3.SortTableModule, typeof i3.VisibleColumnModule, typeof i3.TableFilterModule, typeof i3.DataExportModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i3.VerbenaInputModule, typeof i3.VerbenaButtonModule, typeof i3.VerbenaBadgeModule, typeof i3.VerbenDialogueModule, typeof i3.DropDownModule, typeof i3.VerbenaTextareaModule, typeof i3.VerbenaSwitchModule, typeof i3.VerbenPopUpModule, typeof i3.ChipModule, typeof i2.AsyncLabelPipe, typeof i3.DataXportModule, typeof i3.DataImportModule]>;
9
9
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
10
10
  }
@@ -0,0 +1,34 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { CardData, CardDataViewComponent, DataViewComponent, IDataFilter } from 'verben-ng-ui';
3
+ import { DataViewConfig } from '../models/DataViewConfig';
4
+ import * as i0 from "@angular/core";
5
+ export declare abstract class BaseDataViewComponent<T> implements OnInit {
6
+ cardDataView: CardDataViewComponent;
7
+ dataView: DataViewComponent;
8
+ abstract config: DataViewConfig<T>;
9
+ data: import("@angular/core").WritableSignal<T[]>;
10
+ cardData: import("@angular/core").Signal<CardData[]>;
11
+ currentData: CardData | null;
12
+ isGridView: boolean;
13
+ selected: CardData | null;
14
+ visibleColumns: IDataFilter[];
15
+ filterArray: IDataFilter[];
16
+ sortOptions: IDataFilter[];
17
+ selectedColumnCount: number;
18
+ selectedFilterTableCount: number;
19
+ selectedSortCount: number;
20
+ constructor();
21
+ ngOnInit(): void;
22
+ protected loadInitialData(): void;
23
+ private initializeConfig;
24
+ openDetailView(identifier: any): void;
25
+ private resetSelections;
26
+ protected abstract getCardDataByIdentifier(identifier: any): CardData | undefined;
27
+ downloadCSV(data: Partial<any>[]): void;
28
+ onViewChange(isGridView: boolean): void;
29
+ onColumnsUpdated(updatedColumns: IDataFilter[]): void;
30
+ onSortUpdated(updatedSorts: IDataFilter[]): void;
31
+ onSelectionChange(selectedRows: T[]): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseDataViewComponent<any>, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaseDataViewComponent<any>, "ng-component", never, {}, {}, never, never, false, never>;
34
+ }
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1,11 @@
1
+ import { CardData, ColumnDefinition, IDataFilter } from 'verben-ng-ui';
2
+ export interface DataViewConfig<T> {
3
+ dataSource: T[];
4
+ columns: ColumnDefinition<T>[];
5
+ cardDataMapper: (item: T) => CardData;
6
+ filterOptions?: IDataFilter[];
7
+ sortOptions?: IDataFilter[];
8
+ onDetailView?: (item: T) => void;
9
+ onApprove?: (item: T) => void;
10
+ onDelete?: (item: T) => void;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './components/base-data-view.component';
2
+ export * from './models/DataViewConfig';
@@ -1,57 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- export class AuthCallbackComponent {
5
- router;
6
- route;
7
- code = '';
8
- previousUrl = '';
9
- type = '';
10
- redirectText;
11
- constructor(router, route) {
12
- this.router = router;
13
- this.route = route;
14
- }
15
- ngOnInit() {
16
- this.getType();
17
- this.handleRedirect();
18
- }
19
- getType() {
20
- const data = localStorage.getItem('type');
21
- if (data) {
22
- this.type = JSON.parse(data);
23
- }
24
- }
25
- handleRedirect() {
26
- const params = new URLSearchParams(window.location.search);
27
- const code = params.get('code');
28
- const stateParam = params.get('state');
29
- console.log({ code: code, state: stateParam }, 'data');
30
- if (code && stateParam) {
31
- try {
32
- const state = JSON.parse(decodeURIComponent(stateParam));
33
- // const returnTo = state.returnTo || '/';
34
- const splitStateArray = state.returnTo.split('?');
35
- const returnTo = splitStateArray.length > 0 ? splitStateArray[0] : state.returnTo;
36
- const queryParams = { code };
37
- if (this.type) {
38
- queryParams.type = this.type;
39
- }
40
- this.router.navigate([returnTo], { queryParams });
41
- // this.router.navigate([returnTo], { queryParams: { code } });
42
- }
43
- catch (e) {
44
- const msg = e;
45
- }
46
- }
47
- }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthCallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthCallbackComponent, selector: "verben-auth-callback", inputs: { redirectText: "redirectText" }, ngImport: i0, template: "<section class=\"wrapper\"> \n <div class=\"flexWrapper\"> \n <p class=\"{{redirectText}}\">Redirecting ...</p>\n <div class=\"loader\"></div>\n </div>\n</section>", styles: [".wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.flexWrapper{display:flex;align-items:center;justify-content:center}.loader{border:2px solid white;border-radius:50%;border-top:2px solid black;width:40px;height:40px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] });
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthCallbackComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'verben-auth-callback', template: "<section class=\"wrapper\"> \n <div class=\"flexWrapper\"> \n <p class=\"{{redirectText}}\">Redirecting ...</p>\n <div class=\"loader\"></div>\n </div>\n</section>", styles: [".wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.flexWrapper{display:flex;align-items:center;justify-content:center}.loader{border:2px solid white;border-radius:50%;border-top:2px solid black;width:40px;height:40px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
54
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { redirectText: [{
55
- type: Input
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jYWxsYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtY2FsbGJhY2svYXV0aC1jYWxsYmFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtY2FsbGJhY2svYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFNWjtJQUNWO0lBTlYsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVCxZQUFZLENBQVM7SUFFOUIsWUFBb0IsTUFBYyxFQUN4QixLQUFxQjtRQURYLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFDNUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDUCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3pDLElBQUcsSUFBSSxFQUFDLENBQUM7WUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNELENBQUM7SUFDRCxjQUFjO1FBQ1osTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLFVBQVUsRUFBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBR2pELElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELDBDQUEwQztnQkFDMUMsTUFBTSxlQUFlLEdBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQzVFLE1BQU0sV0FBVyxHQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNkLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQztnQkFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsK0RBQStEO1lBQ2pFLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNaLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQTtZQUNkLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0E3Q1UscUJBQXFCOzRGQUFyQixxQkFBcUIsc0dDUmxDLHlMQUtVOzs0RkRHRyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCO3dHQVF2QixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWF1dGgtY2FsbGJhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRoLWNhbGxiYWNrLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhDYWxsYmFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICBwcmV2aW91c1VybDogc3RyaW5nID0gJyc7XG4gIHR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZWRpcmVjdFRleHQ/OnN0cmluZztcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0VHlwZSgpXG4gICAgdGhpcy5oYW5kbGVSZWRpcmVjdCgpO1xuICB9XG4gXG4gIGdldFR5cGUoKXsgXG4gIGNvbnN0IGRhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndHlwZScpXG4gIGlmKGRhdGEpeyBcbiAgICB0aGlzLnR5cGUgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cbiAgfVxuICBoYW5kbGVSZWRpcmVjdCgpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIGNvbnN0IGNvZGUgPSBwYXJhbXMuZ2V0KCdjb2RlJyk7XG4gICAgY29uc3Qgc3RhdGVQYXJhbSA9IHBhcmFtcy5nZXQoJ3N0YXRlJyk7XG4gIGNvbnNvbGUubG9nKHtjb2RlOmNvZGUsIHN0YXRlOnN0YXRlUGFyYW19LCAnZGF0YScpO1xuICBcblxuICAgIGlmIChjb2RlICYmIHN0YXRlUGFyYW0pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoc3RhdGVQYXJhbSkpO1xuICAgICAgICAvLyBjb25zdCByZXR1cm5UbyA9IHN0YXRlLnJldHVyblRvIHx8ICcvJztcbiAgICAgICAgY29uc3Qgc3BsaXRTdGF0ZUFycmF5PXN0YXRlLnJldHVyblRvLnNwbGl0KCc/Jyk7XG4gICAgICAgIGNvbnN0IHJldHVyblRvID0gc3BsaXRTdGF0ZUFycmF5Lmxlbmd0aD4wP3NwbGl0U3RhdGVBcnJheVswXTpzdGF0ZS5yZXR1cm5UbztcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXM6IGFueSA9IHsgY29kZSB9O1xuICAgICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgICBxdWVyeVBhcmFtcy50eXBlID0gdGhpcy50eXBlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmV0dXJuVG9dLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmV0dXJuVG9dLCB7IHF1ZXJ5UGFyYW1zOiB7IGNvZGUgfSB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICBjb25zdCBtc2cgPSBlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJ3cmFwcGVyXCI+IFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4V3JhcHBlclwiPiBcbiAgICAgICAgPHAgY2xhc3M9XCJ7e3JlZGlyZWN0VGV4dH19XCI+UmVkaXJlY3RpbmcgLi4uPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { VerbenaButtonModule } from 'verben-ng-ui';
4
- import { ButtonComponent } from './button.component';
5
- import { FormsModule } from '@angular/forms';
6
- import * as i0 from "@angular/core";
7
- export class ButtonModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, declarations: [ButtonComponent], imports: [CommonModule, VerbenaButtonModule, FormsModule], exports: [ButtonComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, imports: [CommonModule, VerbenaButtonModule, FormsModule] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- declarations: [ButtonComponent],
16
- imports: [CommonModule, VerbenaButtonModule, FormsModule],
17
- exports: [ButtonComponent]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxZQUFZO3dHQUFaLFlBQVk7eUdBQVosWUFBWSxpQkFKUixlQUFlLGFBQ3BCLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXLGFBQzVDLGVBQWU7eUdBRWQsWUFBWSxZQUhiLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXOzs0RkFHM0MsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZlcmJlbmFCdXR0b25Nb2R1bGUgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxWZXJiZW5hQnV0dG9uTW9kdWxlLEZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW0J1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uTW9kdWxlIHt9Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZ290UGFzc3dvcmREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3Jnb3QtcGFzc3dvcmQvRm9yZ290UGFzc3dvcmREYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcmdvdFBhc3N3b3JkRGF0YSB7XG4gIEVtYWlsOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,69 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../button/button.component";
5
- export class MailComponent {
6
- customClass = '';
7
- headlingClass = '';
8
- width = '';
9
- maxWidth = '';
10
- margin = '';
11
- pd = '';
12
- bgColor = '#fff';
13
- boxShadow = '4px 4px 4px rgba(0, 0, 0, 0.25)';
14
- border = '1px solid #66666680';
15
- borderRadius = '24px';
16
- textColor = '#333';
17
- height = 'auto';
18
- buttonClick = new EventEmitter();
19
- goToLogin() {
20
- this.buttonClick.emit();
21
- }
22
- get styles() {
23
- return {
24
- 'background-color': this.bgColor,
25
- 'box-shadow': this.boxShadow,
26
- 'border': this.border,
27
- 'border-radius': this.borderRadius,
28
- 'color': this.textColor,
29
- 'width': this.width,
30
- 'max-width': this.maxWidth,
31
- 'margin': this.margin,
32
- 'height': this.height,
33
- 'padding': this.pd
34
- };
35
- }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MailComponent, selector: "verben-mail-message", inputs: { customClass: "customClass", headlingClass: "headlingClass", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }] });
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'verben-mail-message', template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n" }]
42
- }], propDecorators: { customClass: [{
43
- type: Input
44
- }], headlingClass: [{
45
- type: Input
46
- }], width: [{
47
- type: Input
48
- }], maxWidth: [{
49
- type: Input
50
- }], margin: [{
51
- type: Input
52
- }], pd: [{
53
- type: Input
54
- }], bgColor: [{
55
- type: Input
56
- }], boxShadow: [{
57
- type: Input
58
- }], border: [{
59
- type: Input
60
- }], borderRadius: [{
61
- type: Input
62
- }], textColor: [{
63
- type: Input
64
- }], height: [{
65
- type: Input
66
- }], buttonClick: [{
67
- type: Output
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsV0FBVyxHQUFXLEVBQUUsQ0FBQTtJQUN4QixhQUFhLEdBQVcsRUFBRSxDQUFBO0lBQzFCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFDdEQsTUFBTSxHQUFXLHFCQUFxQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxNQUFNLENBQUM7SUFDOUIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUMzQixNQUFNLEdBQVcsTUFBTSxDQUFDO0lBRXZCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNDLFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDaEMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDbEMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSztZQUNuQixXQUFXLEVBQUMsSUFBSSxDQUFDLFFBQVE7WUFDekIsUUFBUSxFQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixTQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUU7U0FDbEIsQ0FBQztJQUNKLENBQUM7d0dBakNVLGFBQWE7NEZBQWIsYUFBYSxvWENWMUIsd1FBV0E7OzRGRERhLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU90QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tbWFpbC1tZXNzYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFpbC5jb21wb25lbnQuY3NzJ1xufSlcblxuXG5leHBvcnQgY2xhc3MgTWFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZ29Ub0xvZ2luKCl7IFxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpXG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cblxuIiwiPHNlY3Rpb25cbltuZ1N0eWxlXT1cInN0eWxlc1wiXG5jbGFzcz1cInt7IGN1c3RvbUNsYXNzIH19XCJcbj5cbiAgICA8aDMgY2xhc3M9XCJ7e2hlYWRsaW5nQ2xhc3N9fVwiPllvdXIgZS1tYWlsIGhhcyBiZWVuIHZlcmlmaWVkITwvaDM+XG4gICAgPGxpYi1idXR0b24gXG4gICAgdGV4dD1cIkxvZ2luXCIgXG4gICAgYnV0dG9uQ2xhc3M9XCJcIlxuICAgIChjbGljayk9XCJnb1RvTG9naW4oKVwiXG4gICAgPjwvbGliLWJ1dHRvbj4gICBcbjwvc2VjdGlvbj5cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { RouterLink } from '@angular/router';
5
- import { ButtonModule } from '../button/button.module';
6
- import { MailComponent } from './mail.component';
7
- import * as i0 from "@angular/core";
8
- export class MailModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MailModule, declarations: [MailComponent], imports: [CommonModule, FormsModule, RouterLink, ButtonModule], exports: [MailComponent] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, imports: [CommonModule, FormsModule, ButtonModule] });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- declarations: [MailComponent],
17
- imports: [CommonModule, FormsModule, RouterLink, ButtonModule],
18
- exports: [MailComponent]
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9qRCxNQUFNLE9BQU8sVUFBVTt3R0FBVixVQUFVO3lHQUFWLFVBQVUsaUJBSkosYUFBYSxhQUNwQixZQUFZLEVBQUUsV0FBVyxFQUFDLFVBQVUsRUFBQyxZQUFZLGFBQ2pELGFBQWE7eUdBRVosVUFBVSxZQUhYLFlBQVksRUFBRSxXQUFXLEVBQVksWUFBWTs7NEZBR2hELFVBQVU7a0JBTHRCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLFVBQVUsRUFBQyxZQUFZLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IE1haWxDb21wb25lbnQgfSBmcm9tICcuL21haWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtNYWlsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsUm91dGVyTGluayxCdXR0b25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTWFpbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbE1vZHVsZSB7fSJdfQ==
@@ -1,107 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MechanismType } from '../../models/auth-mechanism';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "verben-ng-ui";
7
- export class OAuthComponent {
8
- router;
9
- showGoogle = false;
10
- showMicrosoft = false;
11
- showApple = false;
12
- authMechanisms = null;
13
- emitMechanismFn = new EventEmitter();
14
- page = '';
15
- type = '';
16
- constructor(router) {
17
- this.router = router;
18
- }
19
- ngOnInit() {
20
- this.loadPage();
21
- this.loadGoogleScript();
22
- if (this.authMechanisms !== null) {
23
- this.authMechanisms = this.authMechanisms.filter((item) => item.AuthMechanism !== MechanismType.InApp);
24
- }
25
- }
26
- loadPage() {
27
- this.page = this.router.url;
28
- }
29
- loadGoogleScript() {
30
- if (!document.getElementById('google-jssdk')) {
31
- const script = document.createElement('script');
32
- script.src = 'https://accounts.google.com/gsi/client';
33
- script.id = 'google-jssdk';
34
- script.async = true;
35
- script.defer = true;
36
- script.onload = () => console.log('Google SDK loaded');
37
- script.onerror = () => console.log('Error loading Google SDK');
38
- document.head.appendChild(script);
39
- }
40
- }
41
- oAuthWithGoogle(data) {
42
- this.type = data.AuthMechanism;
43
- localStorage.setItem('type', JSON.stringify(this.type));
44
- const redirectUri = encodeURIComponent(data.RedirectUri);
45
- const scope = encodeURIComponent('openid email profile');
46
- const responseType = 'code';
47
- const state = encodeURIComponent(JSON.stringify({ returnTo: this.page }));
48
- const authUrl = `https://accounts.google.com/o/oauth2/v2/auth?client_id=${data.ClientId}&redirect_uri=${redirectUri}&response_type=${responseType}&scope=${scope}&state=${state}`;
49
- window.location.href = authUrl;
50
- }
51
- oAuthWithApple() { }
52
- oAuthWithMicrosoft(data) {
53
- this.type = data.AuthMechanism;
54
- const cleanUrl = window.location.href.split('?')[0];
55
- window.history.replaceState({}, document.title, cleanUrl); // Update the URL without reloading
56
- localStorage.setItem('type', JSON.stringify(this.type));
57
- const redirectUri = encodeURIComponent(data.RedirectUri);
58
- const scope = encodeURIComponent('openid email profile');
59
- const responseType = 'code';
60
- const state = encodeURIComponent(JSON.stringify({ returnTo: this.page }));
61
- // const authUrl = `https://login.microsoftonline.com/${data.TenantId}/oauth2/v2.0/authorize?client_id=${data.ClientId}&response_type=${responseType}&redirect_uri=${redirectUri}&response_mode=query&state=${state}`;
62
- const authUrl = `https://login.microsoftonline.com/common/oauth2/v2.0/authorize
63
- ?client_id=${data.ClientId}
64
- &response_type=${responseType}
65
- &redirect_uri=${redirectUri}&scope=${scope}
66
- &response_mode=query&state=${state}`;
67
- window.location.href = authUrl;
68
- }
69
- checkForValue(value) {
70
- switch (value) {
71
- case MechanismType.Google:
72
- return 'google-logo';
73
- case MechanismType.Apple:
74
- return 'apple-logo';
75
- case MechanismType.MicrosoftAD:
76
- return 'microsoft-logo';
77
- default:
78
- return '';
79
- }
80
- }
81
- handleOauthClick(value) {
82
- switch (value.AuthMechanism) {
83
- case MechanismType.Google:
84
- return this.oAuthWithGoogle(value);
85
- break;
86
- case MechanismType.Apple:
87
- return this.oAuthWithApple();
88
- break;
89
- case MechanismType.MicrosoftAD:
90
- return this.oAuthWithMicrosoft(value);
91
- break;
92
- default:
93
- return '';
94
- }
95
- }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuthComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
97
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OAuthComponent, selector: "verben-o-auth", inputs: { authMechanisms: "authMechanisms" }, outputs: { emitMechanismFn: "emitMechanismFn" }, ngImport: i0, template: "<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <div class=\"btnWrapper\">\n <div *ngFor=\"let btn of authMechanisms, let i = index\"> \n <verbena-button\n [svg]=\"checkForValue(btn.AuthMechanism)\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n [text]=\"'Continue with ' + btn.AuthMechanism\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"handleOauthClick(btn)\"\n ></verbena-button>\n </div> \n </div> \n</section>\n", styles: ["hr{height:1px;margin:0;border:1px solid #66666640;flex:1}.OR{margin:0 2px;color:#666}.oauthWrapper{display:flex;flex-direction:column;gap:12px}.btnWrapper{display:flex;flex-direction:column;gap:10px}.OrFlexWrapper{display:flex;align-items:center;gap:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }] });
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuthComponent, decorators: [{
100
- type: Component,
101
- args: [{ selector: 'verben-o-auth', template: "<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <div class=\"btnWrapper\">\n <div *ngFor=\"let btn of authMechanisms, let i = index\"> \n <verbena-button\n [svg]=\"checkForValue(btn.AuthMechanism)\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n [text]=\"'Continue with ' + btn.AuthMechanism\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"handleOauthClick(btn)\"\n ></verbena-button>\n </div> \n </div> \n</section>\n", styles: ["hr{height:1px;margin:0;border:1px solid #66666640;flex:1}.OR{margin:0 2px;color:#666}.oauthWrapper{display:flex;flex-direction:column;gap:12px}.btnWrapper{display:flex;flex-direction:column;gap:10px}.OrFlexWrapper{display:flex;align-items:center;gap:8px}\n"] }]
102
- }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { authMechanisms: [{
103
- type: Input
104
- }], emitMechanismFn: [{
105
- type: Output
106
- }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hdXRoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvby1hdXRoL28tYXV0aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL28tYXV0aC9vLWF1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQWdCM0UsTUFBTSxPQUFPLGNBQWM7SUFTTDtJQVJwQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUNsQixjQUFjLEdBQTJCLElBQUksQ0FBQztJQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN2RCxJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLElBQUksR0FBVyxFQUFFLENBQUM7SUFFbEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzlDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFB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ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aE1lY2hhbmlzbSwgTWVjaGFuaXNtVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRoLW1lY2hhbmlzbSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwuc2VydmljZSc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgZ29vZ2xlOiBhbnk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLW8tYXV0aCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLWF1dGguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vby1hdXRoLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPQXV0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dHb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd01pY3Jvc29mdDogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93QXBwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYXV0aE1lY2hhbmlzbXM6IEF1dGhNZWNoYW5pc21bXSB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgZW1pdE1lY2hhbmlzbUZuID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHBhZ2U6IHN0cmluZyA9ICcnO1xuICB0eXBlOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFBhZ2UoKTtcbiAgICB0aGlzLmxvYWRHb29nbGVTY3JpcHQoKTtcbiAgICBpZiAodGhpcy5hdXRoTWVjaGFuaXNtcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5hdXRoTWVjaGFuaXNtcyA9IHRoaXMuYXV0aE1lY2hhbmlzbXMuZmlsdGVyKFxuICAgICAgICAoaXRlbSkgPT4gaXRlbS5BdXRoTWVjaGFuaXNtICE9PSBNZWNoYW5pc21UeXBlLkluQXBwXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRQYWdlKCkge1xuICAgIHRoaXMucGFnZSA9IHRoaXMucm91dGVyLnVybDtcbiAgfVxuXG4gIGxvYWRHb29nbGVTY3JpcHQoKTogdm9pZCB7XG4gICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlLWpzc2RrJykpIHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vZ3NpL2NsaWVudCc7XG4gICAgICBzY3JpcHQuaWQgPSAnZ29vZ2xlLWpzc2RrJztcbiAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICBzY3JpcHQuZGVmZXIgPSB0cnVlO1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IGNvbnNvbGUubG9nKCdHb29nbGUgU0RLIGxvYWRlZCcpO1xuICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoKSA9PiBjb25zb2xlLmxvZygnRXJyb3IgbG9hZGluZyBHb29nbGUgU0RLJyk7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfVxuICB9XG5cbiAgb0F1dGhXaXRoR29vZ2xlKGRhdGE6IEF1dGhNZWNoYW5pc20pIHtcbiAgICB0aGlzLnR5cGUgPSBkYXRhLkF1dGhNZWNoYW5pc207XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3R5cGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnR5cGUpKTtcbiAgICBjb25zdCByZWRpcmVjdFVyaSA9IGVuY29kZVVSSUNvbXBvbmVudChkYXRhLlJlZGlyZWN0VXJpKTtcbiAgICBjb25zdCBzY29wZSA9IGVuY29kZVVSSUNvbXBvbmVudCgnb3BlbmlkIGVtYWlsIHByb2ZpbGUnKTtcbiAgICBjb25zdCByZXNwb25zZVR5cGUgPSAnY29kZSc7XG4gICAgY29uc3Qgc3RhdGUgPSBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoeyByZXR1cm5UbzogdGhpcy5wYWdlIH0pKTtcbiAgICBjb25zdCBhdXRoVXJsID0gYGh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi92Mi9hdXRoP2NsaWVudF9pZD0ke2RhdGEuQ2xpZW50SWR9JnJlZGlyZWN0X3VyaT0ke3JlZGlyZWN0VXJpfSZyZXNwb25zZV90eXBlPSR7cmVzcG9uc2VUeXBlfSZzY29wZT0ke3Njb3BlfSZzdGF0ZT0ke3N0YXRlfWA7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBhdXRoVXJsO1xuICB9XG5cbiAgb0F1dGhXaXRoQXBwbGUoKSB7fVxuXG4gIG9BdXRoV2l0aE1pY3Jvc29mdChkYXRhOiBBdXRoTWVjaGFuaXNtKSB7XG4gICAgdGhpcy50eXBlID0gZGF0YS5BdXRoTWVjaGFuaXNtO1xuICAgIGNvbnN0IGNsZWFuVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXTtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIGRvY3VtZW50LnRpdGxlLCBjbGVhblVybCk7ICAvLyBVcGRhdGUgdGhlIFVSTCB3aXRob3V0IHJlbG9hZGluZ1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0eXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy50eXBlKSk7XG4gICAgY29uc3QgcmVkaXJlY3RVcmkgPSBlbmNvZGVVUklDb21wb25lbnQoZGF0YS5SZWRpcmVjdFVyaSk7XG4gICAgY29uc3Qgc2NvcGUgPSBlbmNvZGVVUklDb21wb25lbnQoJ29wZW5pZCBlbWFpbCBwcm9maWxlJyk7XG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0gJ2NvZGUnO1xuICAgIGNvbnN0IHN0YXRlID0gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHsgcmV0dXJuVG86IHRoaXMucGFnZSB9KSk7XG4gICAgLy8gY29uc3QgYXV0aFVybCA9IGBodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vJHtkYXRhLlRlbmFudElkfS9vYXV0aDIvdjIuMC9hdXRob3JpemU/Y2xpZW50X2lkPSR7ZGF0YS5DbGllbnRJZH0mcmVzcG9uc2VfdHlwZT0ke3Jlc3BvbnNlVHlwZX0mcmVkaXJlY3RfdXJpPSR7cmVkaXJlY3RVcml9JnJlc3BvbnNlX21vZGU9cXVlcnkmc3RhdGU9JHtzdGF0ZX1gO1xuICAgIGNvbnN0IGF1dGhVcmwgPSBgaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9vYXV0aDIvdjIuMC9hdXRob3JpemVcbj9jbGllbnRfaWQ9JHtkYXRhLkNsaWVudElkfVxuJnJlc3BvbnNlX3R5cGU9JHtyZXNwb25zZVR5cGV9XG4mcmVkaXJlY3RfdXJpPSR7cmVkaXJlY3RVcml9JnNjb3BlPSR7c2NvcGV9XG4mcmVzcG9uc2VfbW9kZT1xdWVyeSZzdGF0ZT0ke3N0YXRlfWA7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBhdXRoVXJsO1xuICB9XG5cbiAgY2hlY2tGb3JWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBNZWNoYW5pc21UeXBlLkdvb2dsZTpcbiAgICAgICAgcmV0dXJuICdnb29nbGUtbG9nbyc7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuQXBwbGU6XG4gICAgICAgIHJldHVybiAnYXBwbGUtbG9nbyc7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuTWljcm9zb2Z0QUQ6XG4gICAgICAgIHJldHVybiAnbWljcm9zb2Z0LWxvZ28nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU9hdXRoQ2xpY2sodmFsdWU6IEF1dGhNZWNoYW5pc20pIHtcbiAgICBzd2l0Y2ggKHZhbHVlLkF1dGhNZWNoYW5pc20pIHtcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5Hb29nbGU6XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoV2l0aEdvb2dsZSh2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBNZWNoYW5pc21UeXBlLkFwcGxlOlxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aFdpdGhBcHBsZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnRBRDpcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGhXaXRoTWljcm9zb2Z0KHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm9hdXRoV3JhcHBlclwiPiBcbiAgICA8ZGl2IGNsYXNzPVwiT3JGbGV4V3JhcHBlclwiPlxuICAgICAgICA8aHIvPlxuICAgICAgICA8c3Bhbj5PUjwvc3Bhbj5cbiAgICAgICAgPGhyLz5cbiAgICA8L2Rpdj5cbiAgICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJ0biBvZiBhdXRoTWVjaGFuaXNtcywgbGV0IGkgPSBpbmRleFwiPiBcbiAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgIFtzdmddPVwiY2hlY2tGb3JWYWx1ZShidG4uQXV0aE1lY2hhbmlzbSlcIlxuICAgICAgICBbc3ZnSGVpZ2h0XT1cIjI0XCJcbiAgICAgICAgW3N2Z1dpZHRoXT1cIjI0XCJcbiAgICAgICAgW3RleHRdPVwiJ0NvbnRpbnVlIHdpdGggJyArIGJ0bi5BdXRoTWVjaGFuaXNtXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBib3JkZXI9XCIxcHggc29saWQgIzMzM1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjQwcHhcIlxuICAgICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIHN2Z1Bvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgIGJ1dHRvbkNsYXNzPVwiZm9udC1ub3JtYWwgdGV4dC1bMjRweF0gbGVhZGluZy1bMjkuMDVweF0gdGV4dC1bIzMzM10gbXQtMlwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVPYXV0aENsaWNrKGJ0bilcIlxuICAgICAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgIDwvZGl2PiBcbiAgICAgPC9kaXY+IFxuPC9zZWN0aW9uPlxuIl19
@@ -1,86 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- export class OtpInputComponent {
7
- fb;
8
- length = 6;
9
- otpClass = '';
10
- otpChange = new EventEmitter();
11
- otpForm;
12
- constructor(fb) {
13
- this.fb = fb;
14
- }
15
- ngOnInit() {
16
- this.otpForm = this.fb.group({
17
- otpArray: this.fb.array(Array(this.length).fill('').map(() => new FormControl('')))
18
- });
19
- this.otpArray.valueChanges.subscribe(() => {
20
- this.emitOtp();
21
- });
22
- }
23
- get otpArray() {
24
- return this.otpForm.get('otpArray');
25
- }
26
- handleInput(event, index) {
27
- let value = event.target.value;
28
- // /\d/.test(value)
29
- if (value.length > 0) {
30
- value = value.toUpperCase();
31
- this.otpArray.at(index).setValue(value);
32
- if (index < this.length - 1) {
33
- this.focusNextInput(index);
34
- }
35
- }
36
- else {
37
- this.otpArray.at(index).setValue('');
38
- }
39
- }
40
- handleKeydown(event, index) {
41
- if (event.key === 'Backspace') {
42
- const currentValue = this.otpArray.at(index).value;
43
- if (currentValue) {
44
- this.otpArray.at(index).setValue('');
45
- }
46
- else if (index > 0) {
47
- this.focusPreviousInput(index);
48
- }
49
- }
50
- }
51
- handlePaste(event) {
52
- event.preventDefault();
53
- const pastedData = (event.clipboardData?.getData('text') || '').toUpperCase();
54
- const validData = pastedData.slice(0, this.length);
55
- validData.split('').forEach((char, index) => {
56
- this.otpArray.at(index).setValue(char);
57
- });
58
- const nextIndex = validData.length < this.length ? validData.length : this.length - 1;
59
- this.focusNextInput(nextIndex - 1);
60
- }
61
- focusNextInput(index) {
62
- const nextInput = document.getElementById(`otp-input-${index + 1}`);
63
- nextInput?.focus();
64
- }
65
- focusPreviousInput(index) {
66
- const prevInput = document.getElementById(`otp-input-${index - 1}`);
67
- prevInput?.focus();
68
- }
69
- emitOtp() {
70
- const otp = this.otpArray.value.join('');
71
- this.otpChange.emit(otp);
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpInputComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OtpInputComponent, selector: "verben-otp-input", inputs: { length: "length", otpClass: "otpClass" }, outputs: { otpChange: "otpChange" }, ngImport: i0, template: "<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n (paste)=\"handlePaste($event)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n", styles: [".otp-container{display:flex;gap:15px}.otp-input{width:50px;height:46px;text-align:center;font-size:1.5rem;border:1px solid #66666658;border-radius:12px}.otp-input:focus{border-color:#ffe681;outline:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }] });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpInputComponent, decorators: [{
77
- type: Component,
78
- args: [{ selector: 'verben-otp-input', template: "<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n (paste)=\"handlePaste($event)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n", styles: [".otp-container{display:flex;gap:15px}.otp-input{width:50px;height:46px;text-align:center;font-size:1.5rem;border:1px solid #66666658;border-radius:12px}.otp-input:focus{border-color:#ffe681;outline:none}\n"] }]
79
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { length: [{
80
- type: Input
81
- }], otpClass: [{
82
- type: Input
83
- }], otpChange: [{
84
- type: Output
85
- }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RwLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvb3RwLWlucHV0L290cC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL290cC1pbnB1dC9vdHAtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQTBCLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT2hGLE1BQU0sT0FBTyxpQkFBaUI7SUFPUjtJQU5YLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUNyQixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRCxPQUFPLENBQWE7SUFFcEIsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7SUFBRyxDQUFDO0lBRXZDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENB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LENBQUMsY0FBYyxDQUFDLGFBQWEsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxPQUFPO1FBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7d0dBOUVVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGlKQ1I5QiwyZEFlQTs7NEZEUGEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjtnRkFLbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1vdHAtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3RwLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL290cC1pbnB1dC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBPdHBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxlbmd0aDogbnVtYmVyID0gNjtcbiAgQElucHV0KCkgb3RwQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgb3RwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgb3RwRm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG90cEFycmF5OiB0aGlzLmZiLmFycmF5KEFycmF5KHRoaXMubGVuZ3RoKS5maWxsKCcnKS5tYXAoKCkgPT4gbmV3IEZvcm1Db250cm9sKCcnKSkpXG4gICAgfSk7XG5cbiAgICB0aGlzLm90cEFycmF5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5lbWl0T3RwKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgb3RwQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5vdHBGb3JtLmdldCgnb3RwQXJyYXknKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuICBoYW5kbGVJbnB1dChldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgbGV0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgLy8gL1xcZC8udGVzdCh2YWx1ZSlcbiAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgdGhpcy5vdHBBcnJheS5hdChpbmRleCkuc2V0VmFsdWUodmFsdWUpO1xuXG4gICAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5mb2N1c05leHRJbnB1dChpbmRleCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3RwQXJyYXkuYXQoaW5kZXgpLnNldFZhbHVlKCcnKTsgXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm90cEFycmF5LmF0KGluZGV4KS52YWx1ZTtcbiAgXG4gICAgICBpZiAoY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMub3RwQXJyYXkuYXQoaW5kZXgpLnNldFZhbHVlKCcnKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0lucHV0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVQYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHBhc3RlZERhdGEgPSAoZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpIHx8ICcnKS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IHZhbGlkRGF0YSA9IHBhc3RlZERhdGEuc2xpY2UoMCwgdGhpcy5sZW5ndGgpO1xuXG4gICAgdmFsaWREYXRhLnNwbGl0KCcnKS5mb3JFYWNoKChjaGFyLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy5vdHBBcnJheS5hdChpbmRleCkuc2V0VmFsdWUoY2hhcik7XG4gICAgfSk7XG5cbiAgICBjb25zdCBuZXh0SW5kZXggPSB2YWxpZERhdGEubGVuZ3RoIDwgdGhpcy5sZW5ndGggPyB2YWxpZERhdGEubGVuZ3RoIDogdGhpcy5sZW5ndGggLSAxO1xuICAgIHRoaXMuZm9jdXNOZXh0SW5wdXQobmV4dEluZGV4IC0gMSk7XG4gIH1cblxuXG4gIHByaXZhdGUgZm9jdXNOZXh0SW5wdXQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5leHRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBvdHAtaW5wdXQtJHtpbmRleCArIDF9YCk7XG4gICAgbmV4dElucHV0Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzSW5wdXQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHByZXZJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBvdHAtaW5wdXQtJHtpbmRleCAtIDF9YCk7XG4gICAgcHJldklucHV0Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0T3RwKCkge1xuICAgIGNvbnN0IG90cCA9IHRoaXMub3RwQXJyYXkudmFsdWUuam9pbignJyk7XG4gICAgdGhpcy5vdHBDaGFuZ2UuZW1pdChvdHApO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIm90cEZvcm1cIiA+XG4gIDxkaXYgZm9ybUFycmF5TmFtZT1cIm90cEFycmF5XCIgY2xhc3M9XCJvdHAtY29udGFpbmVyXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBvdHBBcnJheS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbaWRdPVwiJ290cC1pbnB1dC0nICsgaVwiXG4gICAgICBjbGFzcz1cIm90cC1pbnB1dCB7e290cENsYXNzfX1cIlxuICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50LCBpKVwiXG4gICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKCRldmVudCwgaSlcIlxuICAgICAgKHBhc3RlKT1cImhhbmRsZVBhc3RlKCRldmVudClcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==