verben-authentication-ui 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +10 -15
  3. package/src/lib/base/base-data.component.ts +86 -0
  4. package/src/lib/base/base-data.facade.ts +157 -0
  5. package/src/lib/base/base-data.service.ts +49 -0
  6. package/src/lib/base/base-data.state.ts +94 -0
  7. package/src/lib/base/models.ts +14 -0
  8. package/src/lib/components/auth-callback/auth-callback.component.css +30 -0
  9. package/src/lib/components/auth-callback/auth-callback.component.html +6 -0
  10. package/src/lib/components/auth-callback/auth-callback.component.spec.ts +23 -0
  11. package/src/lib/components/auth-callback/auth-callback.component.ts +56 -0
  12. package/src/lib/components/auth-callback/auth-callback.module.ts +10 -0
  13. package/src/lib/components/button/button.component.css +3 -0
  14. package/src/lib/components/button/button.component.html +13 -0
  15. package/src/lib/components/button/button.component.spec.ts +23 -0
  16. package/src/lib/components/button/button.component.ts +24 -0
  17. package/src/lib/components/button/button.module.ts +11 -0
  18. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  19. package/src/lib/components/forgot-password/forgot-password.component.css +46 -0
  20. package/src/lib/components/forgot-password/forgot-password.component.html +19 -0
  21. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  22. package/src/lib/components/forgot-password/forgot-password.component.ts +88 -0
  23. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  24. package/src/lib/components/mail/mail.component.css +0 -0
  25. package/src/lib/components/mail/mail.component.html +11 -0
  26. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  27. package/src/lib/components/mail/mail.component.ts +47 -0
  28. package/src/lib/components/mail/mail.module.ts +13 -0
  29. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  30. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  31. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  32. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  33. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  34. package/src/lib/components/o-auth/o-auth.component.css +26 -0
  35. package/src/lib/components/o-auth/o-auth.component.html +26 -0
  36. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  37. package/src/lib/components/o-auth/o-auth.component.ts +115 -0
  38. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  39. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  40. package/src/lib/components/otp-input/otp-input.component.html +15 -0
  41. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  42. package/src/lib/components/otp-input/otp-input.component.ts +88 -0
  43. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  44. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  45. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  46. package/src/lib/components/reset-password/reset-password.component.html +24 -0
  47. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  48. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  49. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  50. package/src/lib/components/role-control/ChildrenType.ts +4 -0
  51. package/{lib/components/role-control/MappedRole.d.ts → src/lib/components/role-control/MappedRole.ts} +3 -2
  52. package/{lib/components/role-control/MappedRoleAction.d.ts → src/lib/components/role-control/MappedRoleAction.ts} +2 -1
  53. package/{lib/components/role-control/MappedRoleContext.d.ts → src/lib/components/role-control/MappedRoleContext.ts} +4 -3
  54. package/src/lib/components/role-control/UIActions.ts +5 -0
  55. package/src/lib/components/role-control/UIs.ts +38 -0
  56. package/src/lib/components/role-control/base-table-style.ts +52 -0
  57. package/src/lib/components/role-control/role-control.component.css +55 -0
  58. package/src/lib/components/role-control/role-control.component.html +571 -0
  59. package/src/lib/components/role-control/role-control.component.spec.ts +23 -0
  60. package/src/lib/components/role-control/role-control.component.ts +1817 -0
  61. package/src/lib/components/role-control/role-control.module.ts +10 -0
  62. package/src/lib/components/role-control/role-control.service.spec.ts +16 -0
  63. package/src/lib/components/role-control/role-control.service.ts +53 -0
  64. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  65. package/src/lib/components/sign-in/sign-in.component.html +83 -0
  66. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  67. package/src/lib/components/sign-in/sign-in.component.ts +267 -0
  68. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  69. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  70. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  71. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  72. package/src/lib/components/sign-up/sign-up.component.ts +180 -0
  73. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  74. package/src/lib/components/sso/base-table-style.ts +52 -0
  75. package/src/lib/components/sso/helper.ts +17 -0
  76. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  77. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  78. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  79. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  80. package/src/lib/components/sso/sso.columns.ts +32 -0
  81. package/src/lib/components/sso/sso.component.css +47 -0
  82. package/src/lib/components/sso/sso.component.html +208 -0
  83. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  84. package/src/lib/components/sso/sso.component.ts +261 -0
  85. package/src/lib/components/sso/sso.module.ts +40 -0
  86. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  87. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  88. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  89. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +155 -0
  90. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  91. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  92. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  93. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  94. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  95. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  96. package/src/lib/components/user-management/base-table-style.ts +52 -0
  97. package/src/lib/components/user-management/facades/user-management.facades.ts +133 -0
  98. package/src/lib/components/user-management/helper.ts +38 -0
  99. package/src/lib/components/user-management/index.ts +4 -0
  100. package/src/lib/components/user-management/services/user-management.service.spec.ts +16 -0
  101. package/src/lib/components/user-management/services/user-management.service.ts +111 -0
  102. package/src/lib/components/user-management/states/user-management.state.ts +65 -0
  103. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +73 -0
  104. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  105. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +80 -0
  106. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  107. package/src/lib/components/user-management/user-management.columns.ts +51 -0
  108. package/src/lib/components/user-management/user-management.component.css +31 -0
  109. package/src/lib/components/user-management/user-management.component.html +319 -0
  110. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  111. package/src/lib/components/user-management/user-management.component.ts +604 -0
  112. package/src/lib/components/user-management/user-management.module.ts +56 -0
  113. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.css +0 -0
  114. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.html +8 -0
  115. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.spec.ts +22 -0
  116. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.ts +22 -0
  117. package/src/lib/components/user-request/user-request.component.css +91 -0
  118. package/src/lib/components/user-request/user-request.component.html +137 -0
  119. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  120. package/src/lib/components/user-request/user-request.component.ts +306 -0
  121. package/src/lib/components/user-request/user-request.module.ts +20 -0
  122. package/src/lib/components/user-request-approval/access-request.columns.ts +31 -0
  123. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  124. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +324 -0
  125. package/src/lib/components/user-request-approval/helper.ts +61 -0
  126. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  127. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +122 -0
  128. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +109 -0
  129. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  130. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +8 -0
  131. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  132. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  133. package/src/lib/components/user-request-approval/user-request-approval.component.css +6 -0
  134. package/src/lib/components/user-request-approval/user-request-approval.component.html +269 -0
  135. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  136. package/src/lib/components/user-request-approval/user-request-approval.component.ts +326 -0
  137. package/src/lib/components/user-request-approval/user-request-approval.module.ts +54 -0
  138. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +98 -0
  139. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  140. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +94 -0
  141. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  142. package/src/lib/components/user-request-process/user-request-process.component.css +0 -0
  143. package/src/lib/components/user-request-process/user-request-process.component.html +1 -0
  144. package/src/lib/components/user-request-process/user-request-process.component.spec.ts +23 -0
  145. package/src/lib/components/user-request-process/user-request-process.component.ts +12 -0
  146. package/src/lib/components/user-request-process/user-request-process.module.ts +12 -0
  147. package/src/lib/models/ApplicationRoleAction.ts +10 -0
  148. package/{lib/models/ApplicationRoleContext.d.ts → src/lib/models/ApplicationRoleContext copy.ts } +6 -5
  149. package/src/lib/models/ApplicationRoleContext.ts +10 -0
  150. package/src/lib/models/ErrorResponse.ts +7 -0
  151. package/src/lib/models/FilterTypes.ts +8 -0
  152. package/src/lib/models/MailConfig.ts +13 -0
  153. package/src/lib/models/MessageConfig.ts +5 -0
  154. package/src/lib/models/MessageMedium.ts +4 -0
  155. package/src/lib/models/OAuthParam.ts +10 -0
  156. package/src/lib/models/OAuthType.ts +7 -0
  157. package/src/lib/models/PagedResult.ts +9 -0
  158. package/src/lib/models/PasswordRequestParam.ts +5 -0
  159. package/src/lib/models/PeriodMode.ts +10 -0
  160. package/{lib/models/PermissionConfig.d.ts → src/lib/models/PermissionConfig.ts} +4 -3
  161. package/src/lib/models/ReportSchedule.ts +23 -0
  162. package/src/lib/models/ReportType.ts +5 -0
  163. package/src/lib/models/ResponseKeyValue.ts +5 -0
  164. package/{lib/models/Role.d.ts → src/lib/models/Role.ts} +6 -5
  165. package/src/lib/models/RoleAction.ts +11 -0
  166. package/src/lib/models/RoleContext.ts +11 -0
  167. package/src/lib/models/SMSConfig.ts +11 -0
  168. package/{lib/models/SearchDynamicWrapper.d.ts → src/lib/models/SearchDynamicWrapper.ts} +3 -2
  169. package/src/lib/models/SearchOperator.ts +4 -0
  170. package/src/lib/models/SearchPropertySign.ts +9 -0
  171. package/{lib/models/SearchPropertyValue.d.ts → src/lib/models/SearchPropertyValue.ts} +7 -6
  172. package/src/lib/models/SearchPropertyValueType.ts +9 -0
  173. package/src/lib/models/SortDirection.ts +5 -0
  174. package/{lib/models/Tag.d.ts → src/lib/models/Tag.ts} +4 -3
  175. package/src/lib/models/TaskNotification.ts +14 -0
  176. package/src/lib/models/TaskNotificationMessageType.ts +4 -0
  177. package/src/lib/models/TaskNotificationType.ts +4 -0
  178. package/src/lib/models/Tenant.ts +22 -0
  179. package/src/lib/models/TenantConfig.ts +19 -0
  180. package/src/lib/models/UserRequest.ts +38 -0
  181. package/src/lib/models/auth-mechanism.ts +15 -0
  182. package/src/lib/models/base.ts +13 -0
  183. package/src/lib/models/conditions.ts +11 -0
  184. package/src/lib/models/log-in.ts +8 -0
  185. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  186. package/src/lib/models/oauth-resp.ts +6 -0
  187. package/{lib/models/oauth-response.d.ts → src/lib/models/oauth-response.ts} +1 -1
  188. package/src/lib/models/object-state.ts +6 -0
  189. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +4 -2
  190. package/src/lib/models/paged.ts +9 -0
  191. package/src/lib/models/query-params.ts +9 -0
  192. package/src/lib/models/request-status.ts +4 -0
  193. package/src/lib/models/resend-otp-data.ts +8 -0
  194. package/src/lib/models/resource.ts +27 -0
  195. package/src/lib/models/sign-up.ts +11 -0
  196. package/src/lib/models/single-sign-on.ts +9 -0
  197. package/src/lib/models/status.ts +5 -0
  198. package/src/lib/models/user-access-request-status.ts +5 -0
  199. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +5 -4
  200. package/src/lib/models/user-object-state.ts +6 -0
  201. package/src/lib/models/user.ts +19 -0
  202. package/src/lib/pipes/async-label.pipe.spec.ts +8 -0
  203. package/src/lib/pipes/async-label.pipe.ts +20 -0
  204. package/src/lib/services/authorization.service.spec.ts +16 -0
  205. package/src/lib/services/authorization.service.ts +24 -0
  206. package/src/lib/services/encryption.service.ts +57 -0
  207. package/src/lib/services/environment.service.spec.ts +16 -0
  208. package/src/lib/services/environment.service.ts +30 -0
  209. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  210. package/src/lib/services/http-web-request.service.ts +114 -0
  211. package/src/lib/services/label.service.spec.ts +16 -0
  212. package/src/lib/services/label.service.ts +177 -0
  213. package/src/lib/services/util.service.spec.ts +16 -0
  214. package/src/lib/services/util.service.ts +49 -0
  215. package/src/lib/shared/shared.module.ts +55 -0
  216. package/{public-api.d.ts → src/public-api.ts} +24 -0
  217. package/src/styles.css +96 -0
  218. package/src/theme/tailwind-setup.css +3 -0
  219. package/src/theme/tailwind.css +1030 -0
  220. package/src/utils/components/base-data-view.component.ts +131 -0
  221. package/src/utils/models/DataViewConfig.ts +19 -0
  222. package/tailwind.config.js +20 -0
  223. package/tsconfig.lib.json +15 -0
  224. package/tsconfig.lib.prod.json +11 -0
  225. package/tsconfig.spec.json +15 -0
  226. package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
  227. package/esm2022/lib/components/auth-callback/auth-callback.module.mjs +0 -18
  228. package/esm2022/lib/components/button/button.component.mjs +0 -46
  229. package/esm2022/lib/components/button/button.module.mjs +0 -20
  230. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  231. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -89
  232. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  233. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  234. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  235. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  236. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  237. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
  238. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  239. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
  240. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  241. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  242. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -108
  243. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  244. package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
  245. package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
  246. package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
  247. package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
  248. package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
  249. package/esm2022/lib/components/role-control/UIs.mjs +0 -40
  250. package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
  251. package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1364
  252. package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
  253. package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
  254. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
  255. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  256. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
  257. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  258. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  259. package/esm2022/lib/components/sso/helper.mjs +0 -16
  260. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  261. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  262. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  263. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  264. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
  265. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  266. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  267. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  268. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  269. package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
  270. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -71
  271. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -47
  272. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -475
  273. package/esm2022/lib/components/user-management/user-management.module.mjs +0 -79
  274. package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
  275. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
  276. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
  277. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
  278. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  279. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
  280. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
  281. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
  282. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
  283. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  284. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -270
  285. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -80
  286. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -86
  287. package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
  288. package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
  289. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  290. package/esm2022/lib/models/OAuthParam.mjs +0 -2
  291. package/esm2022/lib/models/OAuthType.mjs +0 -9
  292. package/esm2022/lib/models/PagedResult.mjs +0 -2
  293. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  294. package/esm2022/lib/models/PermissionConfig.mjs +0 -2
  295. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  296. package/esm2022/lib/models/Role.mjs +0 -2
  297. package/esm2022/lib/models/RoleAction.mjs +0 -2
  298. package/esm2022/lib/models/RoleContext.mjs +0 -2
  299. package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
  300. package/esm2022/lib/models/SearchOperator.mjs +0 -6
  301. package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
  302. package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
  303. package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
  304. package/esm2022/lib/models/SortDirection.mjs +0 -7
  305. package/esm2022/lib/models/Tag.mjs +0 -2
  306. package/esm2022/lib/models/TenantConfig.mjs +0 -2
  307. package/esm2022/lib/models/UserRequest.mjs +0 -2
  308. package/esm2022/lib/models/auth-mechanism.mjs +0 -8
  309. package/esm2022/lib/models/base.mjs +0 -2
  310. package/esm2022/lib/models/conditions.mjs +0 -13
  311. package/esm2022/lib/models/log-in.mjs +0 -2
  312. package/esm2022/lib/models/mainUser.mjs +0 -2
  313. package/esm2022/lib/models/oauth-resp.mjs +0 -2
  314. package/esm2022/lib/models/oauth-response.mjs +0 -2
  315. package/esm2022/lib/models/object-state.mjs +0 -8
  316. package/esm2022/lib/models/otpValue.mjs +0 -2
  317. package/esm2022/lib/models/paged.mjs +0 -2
  318. package/esm2022/lib/models/query-params.mjs +0 -2
  319. package/esm2022/lib/models/request-status.mjs +0 -5
  320. package/esm2022/lib/models/resend-otp-data.mjs +0 -2
  321. package/esm2022/lib/models/sign-up.mjs +0 -2
  322. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  323. package/esm2022/lib/models/status.mjs +0 -6
  324. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  325. package/esm2022/lib/models/user-access-request.mjs +0 -2
  326. package/esm2022/lib/models/user.mjs +0 -2
  327. package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
  328. package/esm2022/lib/services/authorization.service.mjs +0 -26
  329. package/esm2022/lib/services/encryption.service.mjs +0 -52
  330. package/esm2022/lib/services/environment.service.mjs +0 -26
  331. package/esm2022/lib/services/http-web-request.service.mjs +0 -85
  332. package/esm2022/lib/services/label.service.mjs +0 -134
  333. package/esm2022/lib/services/util.service.mjs +0 -55
  334. package/esm2022/lib/shared/shared.module.mjs +0 -84
  335. package/esm2022/public-api.mjs +0 -48
  336. package/esm2022/verben-authentication-ui.mjs +0 -5
  337. package/fesm2022/verben-authentication-ui.mjs +0 -6299
  338. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  339. package/index.d.ts +0 -5
  340. package/lib/components/auth-callback/auth-callback.component.d.ts +0 -17
  341. package/lib/components/auth-callback/auth-callback.module.d.ts +0 -8
  342. package/lib/components/button/button.component.d.ts +0 -17
  343. package/lib/components/button/button.module.d.ts +0 -10
  344. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -29
  345. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  346. package/lib/components/mail/mail.component.d.ts +0 -32
  347. package/lib/components/mail/mail.module.d.ts +0 -11
  348. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  349. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  350. package/lib/components/o-auth/o-auth.component.d.ts +0 -30
  351. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  352. package/lib/components/otp-input/otp-input.component.d.ts +0 -21
  353. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  354. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  355. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  356. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  357. package/lib/components/role-control/ChildrenType.d.ts +0 -4
  358. package/lib/components/role-control/UIActions.d.ts +0 -5
  359. package/lib/components/role-control/UIs.d.ts +0 -38
  360. package/lib/components/role-control/base-table-style.d.ts +0 -1
  361. package/lib/components/role-control/role-control.component.d.ts +0 -121
  362. package/lib/components/role-control/role-control.module.d.ts +0 -8
  363. package/lib/components/role-control/role-control.service.d.ts +0 -9
  364. package/lib/components/sign-in/sign-in.component.d.ts +0 -95
  365. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  366. package/lib/components/sign-up/sign-up.component.d.ts +0 -68
  367. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  368. package/lib/components/sso/base-table-style.d.ts +0 -1
  369. package/lib/components/sso/helper.d.ts +0 -2
  370. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  371. package/lib/components/sso/sso.columns.d.ts +0 -3
  372. package/lib/components/sso/sso.component.d.ts +0 -54
  373. package/lib/components/sso/sso.module.d.ts +0 -11
  374. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -67
  375. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  376. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  377. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  378. package/lib/components/user-management/base-table-style.d.ts +0 -1
  379. package/lib/components/user-management/services/user-management.service.d.ts +0 -44
  380. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -22
  381. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  382. package/lib/components/user-management/user-management.component.d.ts +0 -123
  383. package/lib/components/user-management/user-management.module.d.ts +0 -14
  384. package/lib/components/user-management/user-status-badge/user-status-badge.component.d.ts +0 -12
  385. package/lib/components/user-request/user-request.component.d.ts +0 -80
  386. package/lib/components/user-request/user-request.module.d.ts +0 -11
  387. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  388. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  389. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -39
  390. package/lib/components/user-request-approval/helper.d.ts +0 -7
  391. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -65
  392. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -35
  393. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  394. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -69
  395. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  396. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -25
  397. package/lib/models/ApplicationRoleAction.d.ts +0 -9
  398. package/lib/models/ErrorResponse.d.ts +0 -6
  399. package/lib/models/OAuthParam.d.ts +0 -9
  400. package/lib/models/OAuthType.d.ts +0 -7
  401. package/lib/models/PagedResult.d.ts +0 -9
  402. package/lib/models/PasswordRequestParam.d.ts +0 -5
  403. package/lib/models/ResponseKeyValue.d.ts +0 -5
  404. package/lib/models/RoleAction.d.ts +0 -10
  405. package/lib/models/RoleContext.d.ts +0 -10
  406. package/lib/models/SearchOperator.d.ts +0 -4
  407. package/lib/models/SearchPropertySign.d.ts +0 -9
  408. package/lib/models/SearchPropertyValueType.d.ts +0 -9
  409. package/lib/models/SortDirection.d.ts +0 -5
  410. package/lib/models/TenantConfig.d.ts +0 -18
  411. package/lib/models/UserRequest.d.ts +0 -32
  412. package/lib/models/auth-mechanism.d.ts +0 -14
  413. package/lib/models/base.d.ts +0 -12
  414. package/lib/models/conditions.d.ts +0 -11
  415. package/lib/models/log-in.d.ts +0 -8
  416. package/lib/models/oauth-resp.d.ts +0 -6
  417. package/lib/models/object-state.d.ts +0 -6
  418. package/lib/models/paged.d.ts +0 -9
  419. package/lib/models/query-params.d.ts +0 -8
  420. package/lib/models/request-status.d.ts +0 -3
  421. package/lib/models/resend-otp-data.d.ts +0 -8
  422. package/lib/models/sign-up.d.ts +0 -9
  423. package/lib/models/single-sign-on.d.ts +0 -7
  424. package/lib/models/status.d.ts +0 -4
  425. package/lib/models/user-access-request-status.d.ts +0 -5
  426. package/lib/models/user.d.ts +0 -18
  427. package/lib/pipes/async-label.pipe.d.ts +0 -11
  428. package/lib/services/authorization.service.d.ts +0 -14
  429. package/lib/services/encryption.service.d.ts +0 -13
  430. package/lib/services/environment.service.d.ts +0 -22
  431. package/lib/services/http-web-request.service.d.ts +0 -23
  432. package/lib/services/label.service.d.ts +0 -15
  433. package/lib/services/util.service.d.ts +0 -11
  434. package/lib/shared/shared.module.d.ts +0 -10
@@ -0,0 +1,10 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RoleControlComponent } from './role-control.component';
3
+ import { SharedModule } from '../../shared/shared.module';
4
+
5
+ @NgModule({
6
+ declarations: [RoleControlComponent],
7
+ imports: [SharedModule],
8
+ exports: [RoleControlComponent],
9
+ })
10
+ export class RoleControlModule {}
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { RoleControlService } from './role-control.service';
4
+
5
+ describe('RoleControlService', () => {
6
+ let service: RoleControlService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(RoleControlService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,53 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ColumnDefinition } from 'verben-ng-ui';
3
+ import { Role } from '../../models/Role';
4
+ import { AuthorizationService } from '../../services/authorization.service';
5
+ import { MappedRole } from './MappedRole';
6
+
7
+ @Injectable({
8
+ providedIn: 'root',
9
+ })
10
+ export class RoleControlService {
11
+ constructor() {}
12
+
13
+ get roleColumns(): ColumnDefinition<MappedRole>[] {
14
+ return [
15
+ {
16
+ id: 'select',
17
+ header: '',
18
+ },
19
+ {
20
+ id: 'createdAt',
21
+ header: 'CREATED',
22
+ accessorKey: 'CreatedAt',
23
+ },
24
+ {
25
+ id: 'updatedAt',
26
+ header: 'UPDATED',
27
+ accessorKey: 'UpdatedAt',
28
+ },
29
+ {
30
+ id: 'name',
31
+ header: 'NAME',
32
+ accessorFn: (row: MappedRole) => {
33
+ return row;
34
+ },
35
+ },
36
+ {
37
+ id: 'permissions',
38
+ header: 'PERMISSIONS',
39
+ accessorFn: (row: MappedRole) => {
40
+ const sum = row.RoleContexts.filter((x) => x.Selected == true).length;
41
+ return `${sum} of ${row.RoleContexts.length} Permissions`;
42
+ },
43
+ },
44
+ {
45
+ id: 'actions',
46
+ header: 'ACTIONS',
47
+ accessorFn: (row: MappedRole) => {
48
+ return row;
49
+ },
50
+ },
51
+ ];
52
+ }
53
+ }
@@ -0,0 +1,21 @@
1
+ a{
2
+ text-decoration: underline;
3
+ }
4
+
5
+ .flexWrapper{
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap:20px;
9
+ margin-top: 12px;
10
+ }
11
+ .formWrapper{
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap:20px;
15
+ }
16
+
17
+ .pwdWrapper{
18
+ display: flex;
19
+ justify-content: flex-end;
20
+ cursor: pointer;
21
+ }
@@ -0,0 +1,83 @@
1
+ <section
2
+ [ngStyle]="styles"
3
+ class="{{ customClass }}"
4
+ >
5
+ <h2 class="{{headlingClass}}">{{headlingText}}</h2>
6
+ <form [formGroup]="loginForm" (ngSubmit)="submit('InApp')" class="flexWrapper">
7
+ <div class="formWrapper" *ngIf="showform">
8
+ <verbena-input
9
+ [label]="'Email'"
10
+ [labelColor]="inputLabelColor"
11
+ [placeHolder]="''"
12
+ [required]="true"
13
+ [type]="'email'"
14
+ formControlName="Email"
15
+ [showBorder]="true"
16
+ [bgColor]="inputBgColor"
17
+ [border]="inputBorder"
18
+ [borderRadius]="inputBorderRadius"
19
+ [showErrorMessage]="true"
20
+ [errorMessageColor]="'red'"
21
+ [errorBorderColor]="'red'"
22
+ [errorPosition]="'bottom'"
23
+ class="outline-none focus-none"
24
+ ></verbena-input>
25
+ <div>
26
+ <verbena-input
27
+ [label]="'Password'"
28
+ [labelColor]="inputLabelColor"
29
+ [placeHolder]="''"
30
+ [required]="true"
31
+ [type]="'password'"
32
+ formControlName="Password"
33
+ [showBorder]="true"
34
+ [bgColor]="inputBgColor"
35
+ [border]="inputBorder"
36
+ [borderRadius]="inputBorderRadius"
37
+ [showErrorMessage]="true"
38
+ [errorMessageColor]="'red'"
39
+ [errorBorderColor]="'red'"
40
+ [errorPosition]="'bottom'"
41
+ [passwordToggle]="true"
42
+ [passLength]="5"
43
+ [customErrorMessages]="{
44
+ password:'Password is required'
45
+ }"
46
+ class="outline-none focus-none"
47
+ ></verbena-input>
48
+ <div class="pwdWrapper">
49
+ <p clas="mb-0"> <a [routerLink]="forgetPasswordLink" class="{{forgetPasswordClass}}">Forgot password</a></p>
50
+ </div>
51
+ </div>
52
+ <lib-button
53
+ [buttonClass]="btnClass"
54
+ [color]="btnColor"
55
+ [border]="btnBorder"
56
+ [borderRadius]="btnBorderRadius"
57
+ [bgColor]="btnBgColor"
58
+ [pd]="btnPd"
59
+ [text]="btnText"
60
+ type="submit"
61
+ [disabled]="!this.checkForm()"
62
+ ></lib-button>
63
+ </div>
64
+ <div>
65
+ <p *ngIf="requestAccessLink">
66
+ <a [routerLink]="requestAccessLink" class="{{requestAccessClass}}">Click here to request user access</a>
67
+ </p>
68
+
69
+ </div>
70
+ </form>
71
+ <div>
72
+ <div *ngIf="AuthMechanisms !== null">
73
+ <verben-o-auth
74
+ [authMechanisms]="AuthMechanisms"
75
+ ></verben-o-auth>
76
+ </div>
77
+ <p class="{{createAccountClass}}" *ngIf="createAccountLink">
78
+ Don't have an account?
79
+ <a [routerLink]="createAccountLink" class="{{createAccountLinkClass}}">Create an account</a>
80
+ </p>
81
+ </div>
82
+ </section>
83
+
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { SignInComponent } from './sign-in.component';
4
+
5
+ describe('SignInComponent', () => {
6
+ let component: SignInComponent;
7
+ let fixture: ComponentFixture<SignInComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [SignInComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(SignInComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,267 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import {
3
+ AbstractControl,
4
+ FormBuilder,
5
+ FormControl,
6
+ FormGroup,
7
+ ValidationErrors,
8
+ Validators,
9
+ } from '@angular/forms';
10
+ import { LoginData } from '../../models/log-in';
11
+ import { HttpWebRequestService } from '../../services/http-web-request.service';
12
+ import { UtilService } from '../../services/util.service';
13
+ import { ErrorResponse } from '../../models/ErrorResponse';
14
+ import { ResponseKeyValue } from '../../models/ResponseKeyValue';
15
+ import { EnvironmentService } from '../../services/environment.service';
16
+ import { AuthMechanism, MechanismType } from '../../models/auth-mechanism';
17
+ import { ActivatedRoute, Router } from '@angular/router';
18
+ import { IOauthResp } from '../../models/oauth-resp';
19
+ import {TenantConfig} from '../../models/TenantConfig'
20
+ import { EncryptionService } from '../../services/encryption.service';
21
+ import CryptoJS from 'crypto-js';
22
+ @Component({
23
+ selector: 'verben-sign-in',
24
+ templateUrl: './sign-in.component.html',
25
+ styleUrl: './sign-in.component.css',
26
+ })
27
+ export class SignInComponent implements OnInit {
28
+ @Input() headlingText: string = 'Sign in';
29
+ @Input() width: string = '';
30
+ @Input() maxWidth: string = '';
31
+ @Input() margin: string = '';
32
+ @Input() pd: string = '';
33
+ @Input() customClass: string = '';
34
+ @Input() headlingClass: string = '';
35
+ @Input() bgColor: string = '#fff';
36
+ @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';
37
+ @Input() border: string = '1px solid #66666680';
38
+ @Input() borderRadius: string = '24px';
39
+ @Input() textColor: string = '#333';
40
+ @Input() height: string = 'auto';
41
+ @Input() forgetPasswordClass: string = '';
42
+ @Input() requestAccessClass: string = '';
43
+ @Input() createAccountClass: string = '';
44
+ @Input() createAccountLinkClass: string = '';
45
+
46
+ // links
47
+ @Input() forgetPasswordLink: string = '';
48
+ @Input() createAccountLink: string = '';
49
+ @Input() requestAccessLink: string = '';
50
+ // button styles
51
+ @Input() btnClass: string = '';
52
+ @Input() btnBgColor: string = '#FFE681';
53
+ @Input() btnColor: string = '';
54
+ @Input() btnBorder: string = '';
55
+ @Input() btnBorderRadius: string = '24px';
56
+ @Input() btnPd: string = '';
57
+ @Input() btnText: string = 'Log in';
58
+
59
+ //inputStyles
60
+ @Input() inputLabelColor: string = '';
61
+ @Input() inputBgColor: string = 'transparent';
62
+ @Input() inputBorder: string = '1px solid #66666659';
63
+ @Input() inputBorderRadius: string = '12px';
64
+ @Input() termsErrorText: string =
65
+ 'Please agree to the terms of use and privacy policy.';
66
+
67
+ @Output() formSubmit = new EventEmitter<LoginData>();
68
+ @Output() onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse> =
69
+ new EventEmitter();
70
+ @Output() onGoogleAuthResponse: EventEmitter<
71
+ ResponseKeyValue | ErrorResponse
72
+ > = new EventEmitter();
73
+ @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> = new EventEmitter();
74
+ @Output() tenantConfigLoaded = new EventEmitter<TenantConfig | null>();
75
+ @Output() googleClick = new EventEmitter();
76
+ @Output() microsoftClick = new EventEmitter();
77
+ @Output() appleClick = new EventEmitter();
78
+
79
+ tenantDetails: any | null = null;
80
+ AuthMechanisms: AuthMechanism[] | null = null;
81
+ showform: boolean = false;
82
+ loginForm: FormGroup;
83
+ apiKey: string;
84
+ secret: string;
85
+ isLoading: boolean = false;
86
+ code: string = '';
87
+ type: string = '';
88
+ mechanismType: string = '';
89
+ OauthData: IOauthResp = {
90
+ AccessToken: '',
91
+ Email: '',
92
+ FirstName: '',
93
+ LastName: '',
94
+ };
95
+ configData:TenantConfig | null = null
96
+
97
+ constructor(
98
+ private fb: FormBuilder,
99
+ private server: HttpWebRequestService,
100
+ private utilService: UtilService,
101
+ private envSvc: EnvironmentService,
102
+ private route: ActivatedRoute,
103
+ private router: Router,
104
+ private encryptionService: EncryptionService
105
+ ) {
106
+ this.loginForm = this.fb.group({
107
+ Email: new FormControl<string | null>(null, [
108
+ Validators.required,
109
+ Validators.email,
110
+ ]),
111
+ Password: new FormControl<string | null>(null, [
112
+ Validators.required,
113
+ Validators.minLength(5),
114
+ ]),
115
+ });
116
+ this.apiKey = this.envSvc.environment.Tenant;
117
+ this.secret = this.envSvc.environment.Secret;
118
+ }
119
+
120
+ async ngOnInit() {
121
+
122
+ await this.getTenantConfig();
123
+ this.route.queryParams.subscribe((params) => {
124
+ this.code = params['code'];
125
+ this.type = params['type'];
126
+ if (this.code) {
127
+ this.verifyUserDetails();
128
+ }
129
+ });
130
+
131
+
132
+ }
133
+
134
+
135
+ async getTenantConfig() {
136
+ const isLocalhost = window?.location?.hostname === 'localhost';
137
+ const payload = isLocalhost
138
+ ? {
139
+ Key: "UrlKey",
140
+ Value:'https://bovas.white360.net'
141
+ }
142
+ : undefined;
143
+ try{
144
+ const res = await this.server.post<TenantConfig>(
145
+ `Tenant/GetTenantConfigByUrlKey`,
146
+ payload
147
+
148
+ );
149
+ this.tenantDetails = res;
150
+ this.configData = res;
151
+ this.AuthMechanisms = this.tenantDetails?.AuthMechanisms;
152
+ if (
153
+ !this.tenantDetails?.AuthMechanism &&
154
+ this.tenantDetails?.AuthMechanism !== MechanismType.InApp
155
+ ) {
156
+ this.showform = false;
157
+ } else {
158
+ this.showform = true;
159
+ }
160
+ this.tenantConfigLoaded.emit(this.configData);
161
+ }catch(err){
162
+ const msg = err;
163
+ this.tenantConfigLoaded.emit(null);
164
+ }
165
+ }
166
+
167
+ checkForm(): boolean {
168
+ return this.loginForm.valid;
169
+ }
170
+
171
+ async verifyUserDetails() {
172
+ if (this.AuthMechanisms !== null && this.apiKey) {
173
+ const data: any = this.AuthMechanisms.find((item) =>
174
+ item.AuthMechanism.includes(this.type)
175
+ );
176
+ const payload = {
177
+ AuthCode: this.code,
178
+ Tenant: this.apiKey,
179
+ AuthMechanism: data.AuthMechanism,
180
+ };
181
+
182
+ this.utilService.sendBI(true);
183
+ const res = await this.server.post(
184
+ `Authentication/GetUserDetails`,
185
+ payload
186
+ );
187
+ this.utilService.sendBI(false);
188
+ if (res instanceof ErrorResponse) {
189
+ return;
190
+ } else {
191
+ var result = res as IOauthResp;
192
+ this.OauthData = {
193
+ AccessToken: result?.AccessToken,
194
+ Email: result?.Email,
195
+ FirstName: result?.FirstName,
196
+ LastName: result?.LastName,
197
+ };
198
+
199
+ this.submit(data.AuthMechanism);
200
+ }
201
+ }
202
+ }
203
+
204
+ async submit(type: string) {
205
+ let data: LoginData = {
206
+ MailAddress: '',
207
+ Password: '',
208
+ LoginType: type,
209
+ Tenant: this.tenantDetails.TenantId,
210
+ Secrete: this.secret,
211
+ Token: '',
212
+ };
213
+
214
+ if (type === MechanismType.InApp && this.checkForm()) {
215
+ data = {
216
+ ...data,
217
+ MailAddress: this.loginForm.controls['Email'].value,
218
+ Password:String(CryptoJS.MD5(this.loginForm.controls['Password'].value)),
219
+ };
220
+ } else if (type === MechanismType.Google || type === MechanismType.MicrosoftAD) {
221
+ data = {
222
+ ...data,
223
+ MailAddress: this.OauthData?.Email,
224
+ Token: this.OauthData?.AccessToken,
225
+ };
226
+ }
227
+
228
+ this.formSubmit.emit(data);
229
+ this.utilService.sendBI(true); // Preserving your utilService call
230
+ this.isLoading = true;
231
+
232
+
233
+
234
+ try {
235
+ const res = await this.server.post(`Authentication/Login`, data);
236
+ console.log('Response:', res);
237
+ this.utilService.sendBI(false); // Stop utilService tracking on success/failure
238
+ this.isLoading = false;
239
+
240
+ if (res instanceof ErrorResponse) {
241
+ this.onSubmitEnd.emit(res);
242
+ } else {
243
+ const result = res as ResponseKeyValue;
244
+ this.onSubmitEnd.emit(result);
245
+ }
246
+ } catch (error) {
247
+ this.utilService.sendBI(false); // Stop utilService tracking on error
248
+ this.isLoading = false;
249
+ console.error('Error during login:', error);
250
+ }
251
+ }
252
+
253
+ get styles() {
254
+ return {
255
+ 'background-color': this.bgColor,
256
+ 'box-shadow': this.boxShadow,
257
+ border: this.border,
258
+ 'border-radius': this.borderRadius,
259
+ color: this.textColor,
260
+ width: this.width,
261
+ 'max-width': this.maxWidth,
262
+ margin: this.margin,
263
+ height: this.height,
264
+ padding: this.pd,
265
+ };
266
+ }
267
+ }
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SignInComponent } from '../sign-in/sign-in.component';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { RouterLink} from '@angular/router';
6
+ import { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';
7
+ import { OAuthModule } from '../o-auth/o-auth.module';
8
+ import { ButtonModule } from '../button/button.module';
9
+ import { ReactiveFormsModule } from '@angular/forms';
10
+
11
+ @NgModule({
12
+ declarations: [SignInComponent],
13
+ imports: [CommonModule,FormsModule,VerbenaInputModule,VerbenaButtonModule,RouterLink,OAuthModule,ButtonModule,ReactiveFormsModule],
14
+ exports: [SignInComponent]
15
+ })
16
+ export class SignInModule {}
17
+
@@ -0,0 +1,36 @@
1
+ a{
2
+ text-decoration: underline;
3
+ cursor: pointer;
4
+ }
5
+ input[type="checkbox"]:checked {
6
+ accent-color: #111;
7
+ }
8
+
9
+ .flexWrapper{
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap:10px;
13
+ }
14
+
15
+ .checkBoxWrapper{
16
+ display: flex;
17
+ align-items: start;
18
+ gap:2px;
19
+ }
20
+
21
+ .checBoxInput{
22
+ margin-top:6px
23
+ }
24
+
25
+ .bigcheckboxWrapper{
26
+ margin-top: 0.5rem;
27
+ margin-bottom: 1.5rem;
28
+ }
29
+
30
+ .error-text{
31
+ color:red
32
+ }
33
+
34
+ .disable-btn{
35
+ cursor: not-allowed;
36
+ }
@@ -0,0 +1,132 @@
1
+ <section [ngStyle]="styles" class="{{ customClass }}">
2
+ <h2 class="{{headlingClass}}">
3
+ {{headlingText}}
4
+ </h2>
5
+ <form [formGroup]="signUpForm" (ngSubmit)="submit()" class="flexWrapper">
6
+ <verbena-input
7
+ [label]="'First name'"
8
+ [labelColor]="inputLabelColor"
9
+ [placeHolder]="''"
10
+ [required]="true"
11
+ [type]="'text'"
12
+ formControlName="Firstname"
13
+ [showBorder]="true"
14
+ [bgColor]="inputBgColor"
15
+ [border]="inputBorder"
16
+ [borderRadius]="inputBorderRadius"
17
+ [showErrorMessage]="true"
18
+ [errorMessageColor]="'red'"
19
+ [errorBorderColor]="'red'"
20
+ [errorPosition]="'bottom'"
21
+ class="outline-none focus-none"
22
+ [customErrorMessages]="{required:'First name is required'}"
23
+ ></verbena-input>
24
+ <verbena-input
25
+ [label]="'Last name'"
26
+ [labelColor]="inputLabelColor"
27
+ [placeHolder]="''"
28
+ [required]="true"
29
+ [type]="'text'"
30
+ formControlName="Lastname"
31
+ [showBorder]="true"
32
+ [bgColor]="inputBgColor"
33
+ [border]="inputBorder"
34
+ [borderRadius]="inputBorderRadius"
35
+ [showErrorMessage]="true"
36
+ [errorMessageColor]="'red'"
37
+ [errorBorderColor]="'red'"
38
+ [errorPosition]="'bottom'"
39
+ class="outline-none focus-none"
40
+ [customErrorMessages]="{required:'Last name is required'}"
41
+ ></verbena-input>
42
+ <verbena-input
43
+ [label]="'Email'"
44
+ [labelColor]="inputLabelColor"
45
+ [placeHolder]="''"
46
+ [required]="true"
47
+ [type]="'email'"
48
+ formControlName="Email"
49
+ [showBorder]="true"
50
+ [bgColor]="inputBgColor"
51
+ [border]="inputBorder"
52
+ [borderRadius]="inputBorderRadius"
53
+ [showErrorMessage]="true"
54
+ [errorMessageColor]="'red'"
55
+ [errorBorderColor]="'red'"
56
+ [errorPosition]="'bottom'"
57
+ class="outline-none focus-none"
58
+ ></verbena-input>
59
+ <verbena-input
60
+ [label]="'Password'"
61
+ [labelColor]="inputLabelColor"
62
+ [placeHolder]="''"
63
+ [required]="true"
64
+ [type]="'password'"
65
+ formControlName="Password"
66
+ [showBorder]="true"
67
+ [bgColor]="inputBgColor"
68
+ [border]="inputBorder"
69
+ [borderRadius]="inputBorderRadius"
70
+ [showErrorMessage]="true"
71
+ [errorMessageColor]="'red'"
72
+ [errorBorderColor]="'red'"
73
+ [errorPosition]="'bottom'"
74
+ [passwordToggle]="true"
75
+ class="outline-none focus-none"
76
+ ></verbena-input>
77
+ <div>
78
+ <verbena-input
79
+ [label]="'Confirm Password'"
80
+ [labelColor]="inputLabelColor"
81
+ [placeHolder]="''"
82
+ [required]="true"
83
+ [type]="'password'"
84
+ formControlName="Confirmpassword"
85
+ [showBorder]="true"
86
+ [bgColor]="inputBgColor"
87
+ [border]="inputBorder"
88
+ [borderRadius]="inputBorderRadius"
89
+ [showErrorMessage]="false"
90
+ [errorBorderColor]="'red'"
91
+ class="outline-none focus-none"
92
+ ></verbena-input>
93
+ <span *ngIf="signUpForm.hasError('passwordMismatch') && signUpForm.get('Confirmpassword')?.dirty">
94
+ <small class="error-text">Passwords do not match.</small>
95
+ </span>
96
+ </div>
97
+ <div>
98
+ <div class="checkBoxWrapper">
99
+ <input type="checkbox" id="terms" formControlName="Terms" class="checBoxInput" />
100
+ <label for="terms"
101
+ class="break-all font-normal leading-6"
102
+ >By creating an account, I agree to our <a [attr.href]="termsLink">Terms of use</a> and
103
+ <a [attr.href]="privacyLink">Privacy Policy</a></label
104
+ >
105
+ </div>
106
+ <p *ngIf="signUpForm.controls['Terms'].invalid && signUpForm.controls['Terms'].touched">
107
+ <small class="error-text">Please agree to the terms of use and privacy policy.</small>
108
+ </p>
109
+ </div>
110
+ <lib-button
111
+ [buttonClass]="btnClass"
112
+ [color]="btnColor"
113
+ [border]="btnBorder"
114
+ [borderRadius]="btnBorderRadius"
115
+ [bgColor]="btnBgColor"
116
+ [pd]="btnPd"
117
+ [text]="btnText"
118
+ type="submit"
119
+ [disabled]="!this.checkForm()"
120
+ [ngStyle]="{'margin-top':'10px'}"
121
+ ></lib-button>
122
+ <verben-o-auth
123
+ (googleClick)="handleGoogleAuth()"
124
+ (appleClick)="handleAppleAuth()"
125
+ ></verben-o-auth>
126
+ <p>
127
+ Already have an account?
128
+ <a [routerLink]="routerLink" class="">Log in</a>
129
+ </p>
130
+ </form>
131
+ </section>
132
+
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { SignUpComponent } from './sign-up.component';
4
+
5
+ describe('SignUpComponent', () => {
6
+ let component: SignUpComponent;
7
+ let fixture: ComponentFixture<SignUpComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [SignUpComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(SignUpComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });