verben-authentication-ui 0.3.1 → 0.3.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 (288) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +8 -14
  3. package/src/lib/components/button/button.component.css +3 -0
  4. package/src/lib/components/button/button.component.html +13 -0
  5. package/src/lib/components/button/button.component.spec.ts +23 -0
  6. package/src/lib/components/button/button.component.ts +24 -0
  7. package/src/lib/components/button/button.module.ts +11 -0
  8. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  9. package/src/lib/components/forgot-password/forgot-password.component.css +29 -0
  10. package/src/lib/components/forgot-password/forgot-password.component.html +13 -0
  11. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  12. package/src/lib/components/forgot-password/forgot-password.component.ts +86 -0
  13. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  14. package/src/lib/components/mail/mail.component.css +0 -0
  15. package/src/lib/components/mail/mail.component.html +11 -0
  16. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  17. package/src/lib/components/mail/mail.component.ts +47 -0
  18. package/src/lib/components/mail/mail.module.ts +13 -0
  19. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  20. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  21. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  22. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  23. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  24. package/src/lib/components/o-auth/o-auth.component.css +21 -0
  25. package/src/lib/components/o-auth/o-auth.component.html +60 -0
  26. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  27. package/src/lib/components/o-auth/o-auth.component.ts +43 -0
  28. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  29. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  30. package/src/lib/components/otp-input/otp-input.component.html +14 -0
  31. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  32. package/src/lib/components/otp-input/otp-input.component.ts +73 -0
  33. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  34. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  35. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  36. package/src/lib/components/reset-password/reset-password.component.html +22 -0
  37. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  38. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  39. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  40. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  41. package/src/lib/components/sign-in/sign-in.component.html +84 -0
  42. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  43. package/src/lib/components/sign-in/sign-in.component.ts +184 -0
  44. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  45. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  46. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  47. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  48. package/src/lib/components/sign-up/sign-up.component.ts +176 -0
  49. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  50. package/src/lib/components/sso/base-table-style.ts +52 -0
  51. package/src/lib/components/sso/helper.ts +15 -0
  52. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  53. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  54. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  55. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  56. package/src/lib/components/sso/sso.columns.ts +32 -0
  57. package/src/lib/components/sso/sso.component.css +47 -0
  58. package/src/lib/components/sso/sso.component.html +208 -0
  59. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  60. package/src/lib/components/sso/sso.component.ts +261 -0
  61. package/src/lib/components/sso/sso.module.ts +40 -0
  62. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  63. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  64. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  65. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +183 -0
  66. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  67. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  68. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  69. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  70. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  71. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  72. package/src/lib/components/user-management/base-table-style.ts +52 -0
  73. package/src/lib/components/user-management/helper.ts +29 -0
  74. package/src/lib/components/user-management/index.ts +4 -0
  75. package/src/lib/components/user-management/useer-management.module.ts +48 -0
  76. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +61 -0
  77. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  78. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +91 -0
  79. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  80. package/src/lib/components/user-management/user-management.columns.ts +45 -0
  81. package/src/lib/components/user-management/user-management.component.css +26 -0
  82. package/src/lib/components/user-management/user-management.component.html +275 -0
  83. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  84. package/src/lib/components/user-management/user-management.component.ts +380 -0
  85. package/src/lib/components/user-management/user-management.service.ts +42 -0
  86. package/src/lib/components/user-request/user-request.component.css +91 -0
  87. package/src/lib/components/user-request/user-request.component.html +165 -0
  88. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  89. package/src/lib/components/user-request/user-request.component.ts +167 -0
  90. package/src/lib/components/user-request/user-request.module.ts +18 -0
  91. package/src/lib/components/user-request-approval/access-request.columns.ts +26 -0
  92. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  93. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +152 -0
  94. package/src/lib/components/user-request-approval/helper.ts +39 -0
  95. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  96. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +87 -0
  97. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +65 -0
  98. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  99. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +7 -0
  100. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  101. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  102. package/src/lib/components/user-request-approval/user-request-approval.component.css +1 -0
  103. package/src/lib/components/user-request-approval/user-request-approval.component.html +218 -0
  104. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  105. package/src/lib/components/user-request-approval/user-request-approval.component.ts +301 -0
  106. package/src/lib/components/user-request-approval/user-request-approval.module.ts +52 -0
  107. package/src/lib/components/user-request-approval/user-request-approval.service.spec.ts +16 -0
  108. package/src/lib/components/user-request-approval/user-request-approval.service.ts +58 -0
  109. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +66 -0
  110. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  111. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +97 -0
  112. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  113. package/src/lib/models/ErrorResponse.ts +7 -0
  114. package/src/lib/models/PasswordRequestParam.ts +5 -0
  115. package/src/lib/models/ResponseKeyValue.ts +5 -0
  116. package/src/lib/models/UserRequest.ts +28 -0
  117. package/src/lib/models/auth-mechanism.ts +14 -0
  118. package/src/lib/models/base.ts +11 -0
  119. package/src/lib/models/log-in.ts +7 -0
  120. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  121. package/src/lib/models/object-state.ts +6 -0
  122. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +3 -1
  123. package/src/lib/models/paged.ts +9 -0
  124. package/src/lib/models/query-params.ts +7 -0
  125. package/src/lib/models/request-status.ts +4 -0
  126. package/src/lib/models/resend-otp-data.ts +8 -0
  127. package/src/lib/models/resource.ts +27 -0
  128. package/src/lib/models/sign-up.ts +11 -0
  129. package/src/lib/models/single-sign-on.ts +9 -0
  130. package/src/lib/models/status.ts +5 -0
  131. package/src/lib/models/user-access-request-status.ts +5 -0
  132. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +4 -3
  133. package/src/lib/models/user.ts +24 -0
  134. package/src/lib/services/environment.service.spec.ts +16 -0
  135. package/src/lib/services/environment.service.ts +23 -0
  136. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  137. package/src/lib/services/http-web-request.service.ts +101 -0
  138. package/src/lib/services/util.service.spec.ts +16 -0
  139. package/src/lib/services/util.service.ts +28 -0
  140. package/{public-api.d.ts → src/public-api.ts} +21 -0
  141. package/src/styles.css +96 -0
  142. package/src/theme/tailwind-setup.css +3 -0
  143. package/src/theme/tailwind.css +980 -0
  144. package/tailwind.config.js +20 -0
  145. package/tsconfig.lib.json +15 -0
  146. package/tsconfig.lib.prod.json +11 -0
  147. package/tsconfig.spec.json +15 -0
  148. package/esm2022/lib/components/button/button.component.mjs +0 -46
  149. package/esm2022/lib/components/button/button.module.mjs +0 -20
  150. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  151. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -86
  152. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  153. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  154. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  155. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  156. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  157. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -25
  158. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  159. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -75
  160. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  161. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  162. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -107
  163. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  164. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -214
  165. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  166. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -223
  167. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  168. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  169. package/esm2022/lib/components/sso/helper.mjs +0 -14
  170. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  171. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  172. package/esm2022/lib/components/sso/sso.component.mjs +0 -197
  173. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  174. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -201
  175. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  176. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  177. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  178. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  179. package/esm2022/lib/components/user-management/helper.mjs +0 -26
  180. package/esm2022/lib/components/user-management/useer-management.module.mjs +0 -68
  181. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -57
  182. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -43
  183. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -323
  184. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -180
  185. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -34
  186. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -24
  187. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  188. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -128
  189. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -35
  190. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -72
  191. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -59
  192. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  193. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -251
  194. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -77
  195. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +0 -32
  196. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -64
  197. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  198. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  199. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  200. package/esm2022/lib/models/UserRequest.mjs +0 -2
  201. package/esm2022/lib/models/base.mjs +0 -2
  202. package/esm2022/lib/models/log-in.mjs +0 -2
  203. package/esm2022/lib/models/mainUser.mjs +0 -2
  204. package/esm2022/lib/models/object-state.mjs +0 -8
  205. package/esm2022/lib/models/otpValue.mjs +0 -2
  206. package/esm2022/lib/models/paged.mjs +0 -2
  207. package/esm2022/lib/models/query-params.mjs +0 -2
  208. package/esm2022/lib/models/request-status.mjs +0 -5
  209. package/esm2022/lib/models/sign-up.mjs +0 -2
  210. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  211. package/esm2022/lib/models/status.mjs +0 -6
  212. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  213. package/esm2022/lib/models/user-access-request.mjs +0 -2
  214. package/esm2022/lib/models/user.mjs +0 -2
  215. package/esm2022/lib/services/environment.service.mjs +0 -26
  216. package/esm2022/lib/services/http-web-request.service.mjs +0 -83
  217. package/esm2022/lib/services/util.service.mjs +0 -32
  218. package/esm2022/public-api.mjs +0 -43
  219. package/esm2022/verben-authentication-ui.mjs +0 -5
  220. package/fesm2022/verben-authentication-ui.mjs +0 -3481
  221. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  222. package/index.d.ts +0 -5
  223. package/lib/components/button/button.component.d.ts +0 -17
  224. package/lib/components/button/button.module.d.ts +0 -10
  225. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -28
  226. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  227. package/lib/components/mail/mail.component.d.ts +0 -32
  228. package/lib/components/mail/mail.module.d.ts +0 -11
  229. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  230. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  231. package/lib/components/o-auth/o-auth.component.d.ts +0 -10
  232. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  233. package/lib/components/otp-input/otp-input.component.d.ts +0 -20
  234. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  235. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  236. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  237. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  238. package/lib/components/sign-in/sign-in.component.d.ts +0 -77
  239. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  240. package/lib/components/sign-up/sign-up.component.d.ts +0 -66
  241. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  242. package/lib/components/sso/base-table-style.d.ts +0 -1
  243. package/lib/components/sso/helper.d.ts +0 -2
  244. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  245. package/lib/components/sso/sso.columns.d.ts +0 -3
  246. package/lib/components/sso/sso.component.d.ts +0 -50
  247. package/lib/components/sso/sso.module.d.ts +0 -11
  248. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -65
  249. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  250. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  251. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  252. package/lib/components/user-management/base-table-style.d.ts +0 -1
  253. package/lib/components/user-management/helper.d.ts +0 -2
  254. package/lib/components/user-management/useer-management.module.d.ts +0 -11
  255. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -20
  256. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  257. package/lib/components/user-management/user-management.component.d.ts +0 -60
  258. package/lib/components/user-request/user-request.component.d.ts +0 -56
  259. package/lib/components/user-request/user-request.module.d.ts +0 -10
  260. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  261. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  262. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -23
  263. package/lib/components/user-request-approval/helper.d.ts +0 -6
  264. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -50
  265. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -21
  266. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  267. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -59
  268. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  269. package/lib/components/user-request-approval/user-request-approval.service.d.ts +0 -18
  270. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -21
  271. package/lib/models/ErrorResponse.d.ts +0 -6
  272. package/lib/models/PasswordRequestParam.d.ts +0 -5
  273. package/lib/models/ResponseKeyValue.d.ts +0 -5
  274. package/lib/models/UserRequest.d.ts +0 -24
  275. package/lib/models/base.d.ts +0 -10
  276. package/lib/models/log-in.d.ts +0 -7
  277. package/lib/models/object-state.d.ts +0 -6
  278. package/lib/models/paged.d.ts +0 -9
  279. package/lib/models/query-params.d.ts +0 -7
  280. package/lib/models/request-status.d.ts +0 -3
  281. package/lib/models/sign-up.d.ts +0 -9
  282. package/lib/models/single-sign-on.d.ts +0 -7
  283. package/lib/models/status.d.ts +0 -4
  284. package/lib/models/user-access-request-status.d.ts +0 -5
  285. package/lib/models/user.d.ts +0 -23
  286. package/lib/services/environment.service.d.ts +0 -16
  287. package/lib/services/http-web-request.service.d.ts +0 -23
  288. package/lib/services/util.service.d.ts +0 -8
@@ -0,0 +1,109 @@
1
+ <form
2
+ [formGroup]="form"
3
+ class="flex flex-col px-3 pb-3 rounded-xl h-full w-full relative"
4
+ >
5
+ <verbena-input
6
+ name="Name"
7
+ label="Name:"
8
+ formControlName="Name"
9
+ [(ngModel)]="currentData?.data.Name"
10
+ />
11
+ <verbena-input
12
+ label="Description:"
13
+ name="Description"
14
+ formControlName="Description"
15
+ [(ngModel)]="currentData?.data.Description"
16
+ />
17
+ <verbena-input
18
+ label="Link:"
19
+ name="Link"
20
+ formControlName="Link"
21
+ [(ngModel)]="currentData?.data.Link"
22
+ />
23
+ <span class="block my-2 ">Logo</span>
24
+ <label [style.background-color]="'#f9f9f9'" class="border cursor-pointer border-secondary-200 rounded-md w-full px-4 py-2 flex justify-between">
25
+ <span *ngIf="!uploadedFileName">{{isUploading?"uploading...":"Upload a photo"}}</span>
26
+ <span *ngIf="fileUploadError" class="error">{{ fileUploadError }}</span>
27
+ <div *ngIf="uploadedFileName" class="flex items-center text-sm gap-2 border border-primary rounded-lg px-3 ">
28
+ <span>{{ uploadedFileName }}</span>
29
+ <button
30
+ [style.color]="'black'"
31
+ type="button"
32
+ (click)="removeFile()"
33
+ >
34
+ &#x2715;
35
+ </button>
36
+ </div>
37
+ <input
38
+ id="logo"
39
+ [type]="'file'"
40
+ label="Logo:"
41
+ name="Logo"
42
+ accept="image/png"
43
+ formControlName="Logo"
44
+ (change)="onFileSelected($event)"
45
+ formControlName="Logo"
46
+ />
47
+ <span class="flex gap-2">
48
+ <span class="bg-primary flex icon-container rounded-md justify-center items-center">
49
+ <img src="./assets/icons/cam.png" class="icon-width"/>
50
+ </span>
51
+ <span class="bg-primary flex icon-container rounded-md justify-center items-center">
52
+ <img src="./assets/icons/file.png" class="icon-width2"/>
53
+ </span>
54
+ </span>
55
+ </label>
56
+
57
+ <!-- buttons -->
58
+ <div
59
+ class="flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute"
60
+ style="
61
+ display: flex;
62
+ justify-content: space-between;
63
+ position: absolute;
64
+ padding: 8px 12px;
65
+ right: 0;
66
+ left: 0;
67
+ bottom: 32;
68
+ "
69
+ >
70
+ <!-- <verbena-button
71
+ text="Delete"
72
+ class="bg-secondary-200 text-[black]"
73
+ (click)="onDelete()"
74
+ />
75
+ <verbena-button
76
+ text="Save"
77
+ class="bg-primary text-[black]"
78
+ (click)="onSave()"
79
+ />
80
+
81
+ <verbena-button
82
+ text="Secondary Button"
83
+ styleType="secondary"
84
+ ></verbena-button> -->
85
+ <verbena-button
86
+ width="114px"
87
+ height="39px"
88
+ text="Delete"
89
+ [bgColor]="'#999999'"
90
+ [textColor]="'#404040'"
91
+ borderRadius="10px"
92
+ ></verbena-button>
93
+ <verbena-button
94
+ (click)="switchView.emit()"
95
+ text="Switch To Table"
96
+ styleType="ylw-outline"
97
+ ></verbena-button>
98
+ <verbena-button
99
+ text="Save"
100
+ bgColor="#28a745"
101
+ textColor="#404040"
102
+ borderRadius="10px"
103
+ pd="10px 20px"
104
+ [bgColor]="'#FFE681'"
105
+ width="114px"
106
+ height="39px"
107
+ ></verbena-button>
108
+ </div>
109
+ </form>
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { SsoFormComponent } from './sso-form.component';
4
+
5
+ describe('SsoFormComponent', () => {
6
+ let component: SsoFormComponent;
7
+ let fixture: ComponentFixture<SsoFormComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [SsoFormComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(SsoFormComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,70 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { FormBuilder, FormGroup } from '@angular/forms';
3
+ import { CardData } from 'verben-ng-ui';
4
+
5
+
6
+ @Component({
7
+ selector: 'lib-sso-form',
8
+ templateUrl: './sso-form.component.html',
9
+ styleUrl: './sso-form.component.css',
10
+ })
11
+ export class SsoFormComponent {
12
+ isUploading: boolean = false;
13
+ uploadedFileName: string | null = null;
14
+ fileUploadError: string | null = null;
15
+ @Input() currentData:CardData|null=null
16
+ @Output() switchView = new EventEmitter<undefined>();
17
+
18
+ form: FormGroup;
19
+
20
+ constructor(private fb: FormBuilder) {
21
+ this.form = this.fb.group({
22
+ Description: [''],
23
+ Name: [''],
24
+ Link: [''],
25
+ Logo: [''],
26
+ });
27
+ }
28
+
29
+ ngOnInit(): void {}
30
+
31
+ onSave(): void {
32
+ if (this.form.valid) {
33
+ // Emit save event with form value
34
+ console.log('Form saved:', this.form.value);
35
+ }
36
+ }
37
+ onDelete(): void {
38
+ // Emit delete event
39
+ console.log('Delete requested');
40
+ }
41
+ onFileSelected(event: Event) {
42
+ const input = event.target as HTMLInputElement;
43
+ if (input.files && input.files.length > 0) {
44
+ const file = input.files[0];
45
+ this.fileUploadError = null;
46
+ if (!file) {
47
+ this.isUploading = true;
48
+ }
49
+ if (file.size > 5000000) {
50
+ this.fileUploadError = 'File size exceeds 5MB limit.';
51
+ this.uploadedFileName = null;
52
+ this.isUploading = false; // Reset isUploading state
53
+ } else {
54
+ this.uploadedFileName = file.name;
55
+ }
56
+ } else {
57
+ this.isUploading = false;
58
+ }
59
+ }
60
+
61
+ removeFile() {
62
+ this.uploadedFileName = null;
63
+ this.fileUploadError = null;
64
+ const fileInput = document.getElementById('attachment') as HTMLInputElement;
65
+ if (fileInput) {
66
+ fileInput.value = '';
67
+ }
68
+ }
69
+
70
+ }
@@ -0,0 +1,32 @@
1
+
2
+ import { ColumnDefinition } from 'verben-ng-ui';
3
+ import { SingleSignOn } from '../../models/single-sign-on';
4
+
5
+ export const columns: ColumnDefinition<SingleSignOn>[] = [
6
+ {
7
+ id: 'createdAt',
8
+ header: 'Created',
9
+ accessorKey: 'CreatedAt',
10
+ },
11
+ {
12
+ id: 'name',
13
+ header: 'Name',
14
+ accessorKey: 'Name',
15
+ },
16
+ {
17
+ id: 'description',
18
+ header: 'Description',
19
+ accessorKey: 'Description',
20
+ },
21
+ {
22
+ id: 'link',
23
+ header: 'Link',
24
+ accessorKey: 'Link',
25
+ },
26
+ {
27
+ id: 'logo',
28
+ header: 'Logo',
29
+ accessorKey: 'Logo',
30
+ },
31
+ { id: 'actions', header: 'Actions', accessorKey: 'Name' },
32
+ ];
@@ -0,0 +1,47 @@
1
+ .flex {
2
+ display: flex;
3
+ }
4
+ .w-full {
5
+ width: 100%;
6
+ }
7
+ .bg-secondary-200 {
8
+ background-color: #e8eaf1;
9
+ }
10
+ .flex-col {
11
+ flex-direction: column;
12
+ }
13
+ .items-center{
14
+ align-items: center;
15
+ }
16
+ .bg-primary {
17
+ background-color: #d4a007;
18
+ }
19
+ .border-primary{
20
+ border:1px solid #d4a007;
21
+ }
22
+ .rounded-lg{
23
+ border-radius: 20px;
24
+ }
25
+ .w-3 {
26
+ width: 6px;
27
+ }
28
+ .rounded-tr-none {
29
+ border-top-right-radius: 0;
30
+ }
31
+
32
+ .rounded-br-none {
33
+ border-bottom-right-radius: 0;
34
+ }
35
+ .bg-secondary-100 {
36
+ background-color: rgba(128, 128, 128, 0.055);
37
+
38
+ }
39
+ .bg-secondary{
40
+ background-color: #E8EAF1;
41
+ }
42
+ .p-2{
43
+ padding: 6px;
44
+ }
45
+ .logo-width{
46
+ width: 70px;
47
+ }
@@ -0,0 +1,208 @@
1
+ <div class="space-y-8">
2
+ <verben-data-view
3
+ #vdv
4
+ [viewState]="{
5
+ isSearch: true,
6
+ isColumn: true,
7
+ isFilter: true,
8
+ isSort: true,
9
+ isExport: true,
10
+ isSelect: true,
11
+ isToggle:true
12
+ }"
13
+ [buttonClass]="'my-custom-button-class'"
14
+ [iconClass]="'my-icon-class'"
15
+ [activeIconClass]="'my-active-icon-class'"
16
+ [selectedSortCount]="selectedSortCount"
17
+ [selectedColumnCount]="selectedColumnCount"
18
+ [selectedFilterTableCount]="selectedFilterTableCount"
19
+ [showColumnChild]="showColumn"
20
+ [showSortChild]="showSort"
21
+ [showFilterChild]="showFilter"
22
+ [isTableView]="false"
23
+ [selectedFilterTableCount]="0"
24
+ [cardIcon]="'list-view'"
25
+ [tableIcon]="'table-view'"
26
+ (viewChange)="onViewChange($event)"
27
+ (stateChange)="onStateChange($event)"
28
+ >
29
+ <div table-content>
30
+ <lib-data-table
31
+ [data]="data"
32
+ [columns]="filteredColumns"
33
+ [styleConfig]="styles"
34
+ (selectionChange)="onSelectionChange($event)"
35
+ >
36
+ <ng-container libColumn="createdAt">
37
+ <ng-template #cell let-value>
38
+ {{ value | date }}
39
+ </ng-template>
40
+ </ng-container>
41
+ <ng-container libColumn="logo">
42
+ <ng-template #cell let-value>
43
+ <img class="logo-width" [src]="value"/>
44
+ </ng-template>
45
+ </ng-container>
46
+ <ng-container libColumn="actions">
47
+ <ng-template #cell let-value let-deleteRow let-rowIndex>
48
+ <div class="flex space-x-8" style="display: flex; gap: 24px">
49
+ <verben-svg
50
+ (click)="openDetailView(value)"
51
+ icon="edit"
52
+ [width]="15"
53
+ [height]="15"
54
+ stroke="#3479E9"
55
+ fill="white"
56
+ class="cursor-pointer"
57
+ ></verben-svg>
58
+ <verben-svg
59
+ icon="delete"
60
+ [width]="15"
61
+ [height]="15"
62
+ stroke="#E20000"
63
+ (click)="deleteRow()"
64
+ class="cursor-pointer"
65
+ ></verben-svg>
66
+ </div>
67
+ </ng-template>
68
+ <ng-template #header>
69
+ <strong>Actions</strong>
70
+ </ng-template>
71
+ </ng-container>
72
+ </lib-data-table>
73
+ </div>
74
+ <div card-content>
75
+ <verben-card-data-view
76
+ borderRadius="12px"
77
+ (loadMoreClick)="loadMore()"
78
+ #vdcv
79
+ dataId="Link"
80
+ border="5px"
81
+ [cardDataList]="cardData"
82
+ rbgColor="#f5f6f9"
83
+ >
84
+ <verben-left-card-data-view class="">
85
+ <verben-left-card-data
86
+ #vlcd
87
+ [parent]="vdcv"
88
+ dataId="Link"
89
+ class="bg-secondary-100 rounded-xl border-primary border-[1px]"
90
+ [cardDataList]="cardData"
91
+ >
92
+ <ng-template #card let-item>
93
+ <div (click)="currentData = vdcv.onItemClick(item)" class="flex">
94
+ <verben-svg
95
+ [width]="15"
96
+ [height]="15"
97
+ (click)="vlcd.showChildren(item)"
98
+ [ngClass]="vlcd.showToggle(item) ? 'visible' : 'invisible'"
99
+ class="items-center flex pr-1 cursor-pointer"
100
+ [icon]="item.isChildrenExpanded ? 'minus' : 'plus'"
101
+ />
102
+ <div
103
+ (click)="currentData = vdcv.onItemClick(item)"
104
+ class="flex cursor-pointer w-full bg-secondary rounded-xl"
105
+ >
106
+ <div
107
+ class="w-3 rounded-xl rounded-tr-none rounded-br-none"
108
+ [ngClass]="
109
+ item.selected ? 'bg-primary' : 'bg-secondary-200'
110
+ "
111
+ ></div>
112
+ <div class="flex flex-col py-2 px-4 w-full">
113
+ <div class="flex">
114
+ <span class="font-bold text-sm">{{ item.data.Name }}</span>
115
+ </div>
116
+ @for (ciItem of item.body; track ciItem.value) {
117
+ <div class="flex items-center justify-between gap-2">
118
+ <div>
119
+ <span class="text-muted font-light text-xs"
120
+ >{{ ciItem.title }}:</span
121
+ >
122
+ <span class="text-black text-xs font-semibold">{{ item.data.Description }}</span>
123
+ </div>
124
+ <img class="logo-width" [alt]="ciItem.title" [src]="item.data.Logo"/>
125
+ </div>
126
+ }
127
+ </div>
128
+ </div>
129
+ </div>
130
+ </ng-template>
131
+ </verben-left-card-data>
132
+ </verben-left-card-data-view>
133
+
134
+ <verben-right-card-data-view>
135
+ <ng-template #parent>
136
+ <lib-sso-form
137
+ [currentData]="currentData"
138
+ (switchView)="vdv.toggleView()"
139
+ ></lib-sso-form>
140
+ </ng-template>
141
+ </verben-right-card-data-view>
142
+
143
+ <verben-card-data-view-footer class="float-right">
144
+ <div class="flex gap-2 mt-1">
145
+ <span class="paginator-text"
146
+ >{{ cardData.length }} records loaded</span
147
+ >
148
+ <button (click)="loadMore()" class="load-more">Load more</button>
149
+ </div>
150
+ </verben-card-data-view-footer>
151
+ </verben-card-data-view>
152
+ </div>
153
+ <div column-content>
154
+ <verben-visible-column
155
+ (columnsUpdated)="onColumnsUpdated($event)"
156
+ [border]="'1px solid rgba(212, 160, 7, 1)'"
157
+ borderRadius="10px"
158
+ boxShadow="2px 2px 2px 0px silver"
159
+ bgColor="white"
160
+ width="400px"
161
+ textColor="black"
162
+ pd="1rem"
163
+ primaryColor="#FFE681"
164
+ secondaryColor="#3479E9"
165
+ [columns]="visibleColumns"
166
+ [displayedColumns]="5"
167
+ ></verben-visible-column>
168
+ </div>
169
+ <div filter-content>
170
+ <verben-table-filter
171
+ (filtersApplied)="onFilterApplied($event)"
172
+ [border]="'1px solid rgba(212, 160, 7, 1)'"
173
+ borderRadius="10px"
174
+ boxShadow="2px 2px 2px 0px silver"
175
+ bgColor="white"
176
+ width="420px"
177
+ textColor="black"
178
+ pd="1rem"
179
+ primaryColor="#FFE681"
180
+ secondaryColor="#3479E9"
181
+ tertiaryColor="#404040"
182
+ [filterOptions]="filterArray"
183
+ [maxFilterLength]="3"
184
+ ></verben-table-filter>
185
+ </div>
186
+ <div sort-content>
187
+ <verben-sort-table
188
+ (selectedOptions)="onSortUpdated($event)"
189
+ [border]="'1px solid rgba(212, 160, 7, 1)'"
190
+ borderRadius="10px"
191
+ boxShadow="2px 2px 2px 0px silver"
192
+ bgColor="white"
193
+ width="400px"
194
+ textColor="black"
195
+ pd="1rem"
196
+ primaryColor="#FFE681"
197
+ secondaryColor="#3479E9"
198
+ tertiaryColor="#404040"
199
+ [enableDragAndDrop]="true"
200
+ [sortOptions]="sortOptions"
201
+ ></verben-sort-table>
202
+ </div>
203
+ <div export-content>
204
+ <lib-data-export [data]="data" (exportDataEvent)="handleExport($event)">
205
+ </lib-data-export>
206
+ </div>
207
+ </verben-data-view>
208
+ </div>
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { SsoComponent } from './sso.component';
4
+
5
+ describe('SsoComponent', () => {
6
+ let component: SsoComponent;
7
+ let fixture: ComponentFixture<SsoComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [SsoComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(SsoComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });