@solidstarters/solid-core-ui 1.1.3 → 1.1.5

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 (193) hide show
  1. package/dist/components/auth/SolidChangeForcePassword.d.ts +3 -0
  2. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -0
  3. package/dist/components/auth/SolidChangeForcePassword.js +125 -0
  4. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -0
  5. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidForgotPassword.js +54 -42
  7. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  9. package/dist/components/auth/SolidLogin.js +51 -38
  10. package/dist/components/auth/SolidLogin.js.map +1 -1
  11. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
  12. package/dist/components/auth/SolidOTPVerify.js +3 -2
  13. package/dist/components/auth/SolidOTPVerify.js.map +1 -1
  14. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  15. package/dist/components/auth/SolidRegister.js +12 -9
  16. package/dist/components/auth/SolidRegister.js.map +1 -1
  17. package/dist/components/auth/SolidResetPassword.d.ts +4 -1
  18. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  19. package/dist/components/auth/SolidResetPassword.js +58 -53
  20. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  21. package/dist/components/common/FilterComponent.d.ts +3 -0
  22. package/dist/components/common/FilterComponent.d.ts.map +1 -0
  23. package/dist/components/common/FilterComponent.js +214 -0
  24. package/dist/components/common/FilterComponent.js.map +1 -0
  25. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  26. package/dist/components/common/SocialMediaLogin.js +2 -2
  27. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  28. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
  29. package/dist/components/core/common/SolidConfigureLayoutElement.js +39 -6
  30. package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
  31. package/dist/components/core/filter/columns/SolidBigintField.d.ts +4 -0
  32. package/dist/components/core/filter/columns/SolidBigintField.d.ts.map +1 -0
  33. package/dist/components/core/filter/columns/SolidBigintField.js +8 -0
  34. package/dist/components/core/filter/columns/SolidBigintField.js.map +1 -0
  35. package/dist/components/core/filter/columns/SolidBooleanField.d.ts +4 -0
  36. package/dist/components/core/filter/columns/SolidBooleanField.d.ts.map +1 -0
  37. package/dist/components/core/filter/columns/SolidBooleanField.js +27 -0
  38. package/dist/components/core/filter/columns/SolidBooleanField.js.map +1 -0
  39. package/dist/components/core/filter/columns/SolidComputedField.d.ts +4 -0
  40. package/dist/components/core/filter/columns/SolidComputedField.d.ts.map +1 -0
  41. package/dist/components/core/filter/columns/SolidComputedField.js +22 -0
  42. package/dist/components/core/filter/columns/SolidComputedField.js.map +1 -0
  43. package/dist/components/core/filter/columns/SolidDateField.d.ts +9 -0
  44. package/dist/components/core/filter/columns/SolidDateField.d.ts.map +1 -0
  45. package/dist/components/core/filter/columns/SolidDateField.js +35 -0
  46. package/dist/components/core/filter/columns/SolidDateField.js.map +1 -0
  47. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts +4 -0
  48. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts.map +1 -0
  49. package/dist/components/core/filter/columns/SolidDatetimeField.js +24 -0
  50. package/dist/components/core/filter/columns/SolidDatetimeField.js.map +1 -0
  51. package/dist/components/core/filter/columns/SolidDecimalField.d.ts +4 -0
  52. package/dist/components/core/filter/columns/SolidDecimalField.d.ts.map +1 -0
  53. package/dist/components/core/filter/columns/SolidDecimalField.js +8 -0
  54. package/dist/components/core/filter/columns/SolidDecimalField.js.map +1 -0
  55. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts +4 -0
  56. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts.map +1 -0
  57. package/dist/components/core/filter/columns/SolidExternalIdField.js +25 -0
  58. package/dist/components/core/filter/columns/SolidExternalIdField.js.map +1 -0
  59. package/dist/components/core/filter/columns/SolidFloatField.d.ts +4 -0
  60. package/dist/components/core/filter/columns/SolidFloatField.d.ts.map +1 -0
  61. package/dist/components/core/filter/columns/SolidFloatField.js +8 -0
  62. package/dist/components/core/filter/columns/SolidFloatField.js.map +1 -0
  63. package/dist/components/core/filter/columns/SolidIdField.d.ts +4 -0
  64. package/dist/components/core/filter/columns/SolidIdField.d.ts.map +1 -0
  65. package/dist/components/core/filter/columns/SolidIdField.js +25 -0
  66. package/dist/components/core/filter/columns/SolidIdField.js.map +1 -0
  67. package/dist/components/core/filter/columns/SolidIntField.d.ts +4 -0
  68. package/dist/components/core/filter/columns/SolidIntField.d.ts.map +1 -0
  69. package/dist/components/core/filter/columns/SolidIntField.js +34 -0
  70. package/dist/components/core/filter/columns/SolidIntField.js.map +1 -0
  71. package/dist/components/core/filter/columns/SolidLongTextField.d.ts +4 -0
  72. package/dist/components/core/filter/columns/SolidLongTextField.d.ts.map +1 -0
  73. package/dist/components/core/filter/columns/SolidLongTextField.js +8 -0
  74. package/dist/components/core/filter/columns/SolidLongTextField.js.map +1 -0
  75. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts +4 -0
  76. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts.map +1 -0
  77. package/dist/components/core/filter/columns/SolidMediaMultipleField.js +35 -0
  78. package/dist/components/core/filter/columns/SolidMediaMultipleField.js.map +1 -0
  79. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts +4 -0
  80. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts.map +1 -0
  81. package/dist/components/core/filter/columns/SolidMediaSingleField.js +35 -0
  82. package/dist/components/core/filter/columns/SolidMediaSingleField.js.map +1 -0
  83. package/dist/components/core/filter/columns/SolidRelationField.d.ts +4 -0
  84. package/dist/components/core/filter/columns/SolidRelationField.d.ts.map +1 -0
  85. package/dist/components/core/filter/columns/SolidRelationField.js +12 -0
  86. package/dist/components/core/filter/columns/SolidRelationField.js.map +1 -0
  87. package/dist/components/core/filter/columns/SolidRichTextField.d.ts +4 -0
  88. package/dist/components/core/filter/columns/SolidRichTextField.d.ts.map +1 -0
  89. package/dist/components/core/filter/columns/SolidRichTextField.js +8 -0
  90. package/dist/components/core/filter/columns/SolidRichTextField.js.map +1 -0
  91. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts +4 -0
  92. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts.map +1 -0
  93. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js +25 -0
  94. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js.map +1 -0
  95. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts +4 -0
  96. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts.map +1 -0
  97. package/dist/components/core/filter/columns/SolidSelectionStaticField.js +26 -0
  98. package/dist/components/core/filter/columns/SolidSelectionStaticField.js.map +1 -0
  99. package/dist/components/core/filter/columns/SolidShortTextField.d.ts +4 -0
  100. package/dist/components/core/filter/columns/SolidShortTextField.d.ts.map +1 -0
  101. package/dist/components/core/filter/columns/SolidShortTextField.js +33 -0
  102. package/dist/components/core/filter/columns/SolidShortTextField.js.map +1 -0
  103. package/dist/components/core/filter/columns/SolidTimeField.d.ts +4 -0
  104. package/dist/components/core/filter/columns/SolidTimeField.d.ts.map +1 -0
  105. package/dist/components/core/filter/columns/SolidTimeField.js +24 -0
  106. package/dist/components/core/filter/columns/SolidTimeField.js.map +1 -0
  107. package/dist/components/core/filter/columns/SolidUuidField.d.ts +4 -0
  108. package/dist/components/core/filter/columns/SolidUuidField.d.ts.map +1 -0
  109. package/dist/components/core/filter/columns/SolidUuidField.js +25 -0
  110. package/dist/components/core/filter/columns/SolidUuidField.js.map +1 -0
  111. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts +4 -0
  112. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts.map +1 -0
  113. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js +54 -0
  114. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js.map +1 -0
  115. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListView.js +31 -58
  117. package/dist/components/core/list/SolidListView.js.map +1 -1
  118. package/dist/components/core/list/columns/SolidBooleanColumn.js +3 -1
  119. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  120. package/dist/components/core/list/columns/SolidDateColumn.js +5 -1
  121. package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
  122. package/dist/components/core/list/columns/SolidDatetimeColumn.js +5 -1
  123. package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
  124. package/dist/components/core/list/columns/SolidExternalIdColumn.js +5 -1
  125. package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
  126. package/dist/components/core/list/columns/SolidIdColumn.js +5 -1
  127. package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
  128. package/dist/components/core/list/columns/SolidIntColumn.js +5 -1
  129. package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
  130. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +5 -1
  131. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  132. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +5 -1
  133. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  134. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js +5 -1
  135. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
  136. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +3 -1
  137. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  138. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  139. package/dist/components/core/list/columns/SolidShortTextColumn.js +3 -1
  140. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  141. package/dist/components/core/list/columns/SolidTimeColumn.js +3 -1
  142. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  143. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -1
  144. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  145. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  146. package/dist/components/core/model/FieldMetaDataForm.js +30 -26
  147. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  148. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  149. package/dist/components/core/model/ModelMetaData.js +14 -36
  150. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  151. package/dist/components/core/module/CreateModule.js +1 -1
  152. package/dist/components/core/module/CreateModule.js.map +1 -1
  153. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  154. package/dist/components/layout/AppSidebar.js +6 -7
  155. package/dist/components/layout/AppSidebar.js.map +1 -1
  156. package/dist/index.d.ts +1 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +3 -2
  159. package/dist/index.js.map +1 -1
  160. package/dist/redux/api/authApi.d.ts +4 -1
  161. package/dist/redux/api/authApi.d.ts.map +1 -1
  162. package/dist/redux/api/authApi.js +28 -1
  163. package/dist/redux/api/authApi.js.map +1 -1
  164. package/package.json +1 -1
  165. package/solidstarters-solid-core-ui-1.1.2.tgz +0 -0
  166. package/src/components/auth/SolidChangeForcePassword.tsx +159 -0
  167. package/src/components/auth/SolidForgotPassword.tsx +77 -78
  168. package/src/components/auth/SolidLogin.tsx +110 -93
  169. package/src/components/auth/SolidOTPVerify.tsx +16 -14
  170. package/src/components/auth/SolidRegister.tsx +41 -16
  171. package/src/components/auth/SolidResetPassword.tsx +106 -110
  172. package/src/components/common/SocialMediaLogin.tsx +7 -3
  173. package/src/components/core/common/SolidConfigureLayoutElement.tsx +86 -15
  174. package/src/components/core/list/SolidListView.tsx +71 -59
  175. package/src/components/core/list/columns/SolidBooleanColumn.tsx +1 -1
  176. package/src/components/core/list/columns/SolidDateColumn.tsx +2 -2
  177. package/src/components/core/list/columns/SolidDatetimeColumn.tsx +2 -2
  178. package/src/components/core/list/columns/SolidExternalIdColumn.tsx +2 -2
  179. package/src/components/core/list/columns/SolidIdColumn.tsx +2 -2
  180. package/src/components/core/list/columns/SolidIntColumn.tsx +2 -2
  181. package/src/components/core/list/columns/SolidMediaMultipleColumn.tsx +2 -2
  182. package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +2 -2
  183. package/src/components/core/list/columns/SolidSelectionDynamicColumn.tsx +2 -2
  184. package/src/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -1
  185. package/src/components/core/list/columns/SolidShortTextColumn.tsx +3 -5
  186. package/src/components/core/list/columns/SolidTimeColumn.tsx +1 -1
  187. package/src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +2 -2
  188. package/src/components/core/model/FieldMetaDataForm.tsx +28 -2
  189. package/src/components/core/model/ModelMetaData.tsx +14 -83
  190. package/src/components/core/module/CreateModule.tsx +1 -1
  191. package/src/components/layout/AppSidebar.tsx +10 -14
  192. package/src/index.ts +1 -0
  193. package/src/redux/api/authApi.ts +30 -0
@@ -51,7 +51,34 @@ export var authApi = createApi({
51
51
  };
52
52
  },
53
53
  }),
54
+ initiateChangePassword: builder.mutation({
55
+ query: function (body) {
56
+ return {
57
+ url: '/iam/initiate/forgot-password',
58
+ method: "POST",
59
+ body: body,
60
+ };
61
+ }
62
+ }),
63
+ confirmForgotPassword: builder.mutation({
64
+ query: function (body) {
65
+ return {
66
+ url: '/iam/confirm/forgot-password',
67
+ method: "POST",
68
+ body: body
69
+ };
70
+ }
71
+ }),
72
+ changePassword: builder.mutation({
73
+ query: function (body) {
74
+ return {
75
+ url: "/iam/change-password",
76
+ method: "POST",
77
+ body: body,
78
+ };
79
+ },
80
+ }),
54
81
  }); },
55
82
  });
56
- export var useRegisterMutation = authApi.useRegisterMutation, useRegisterPrivateMutation = authApi.useRegisterPrivateMutation, useUpdateUserMutation = authApi.useUpdateUserMutation, useForgotPasswordMutation = authApi.useForgotPasswordMutation, useResetPasswordMutation = authApi.useResetPasswordMutation;
83
+ export var useRegisterMutation = authApi.useRegisterMutation, useRegisterPrivateMutation = authApi.useRegisterPrivateMutation, useUpdateUserMutation = authApi.useUpdateUserMutation, useForgotPasswordMutation = authApi.useForgotPasswordMutation, useResetPasswordMutation = authApi.useResetPasswordMutation, useInitiateChangePasswordMutation = authApi.useInitiateChangePasswordMutation, useConfirmForgotPasswordMutation = authApi.useConfirmForgotPasswordMutation, useChangePasswordMutation = authApi.useChangePasswordMutation;
57
84
  //# sourceMappingURL=authApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authApi.js","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,IAAM,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;YACzB,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,eAAe;oBACpB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;YAChC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,uBAAuB;oBAC5B,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC3B,KAAK,EAAE,UAAC,EAAY;oBAAV,EAAE,QAAA,EAAE,IAAI,UAAA;gBAAO,OAAA,CAAC;oBACxB,GAAG,EAAE,gBAAS,EAAE,CAAE;oBAClB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,IAAI;iBACX,CAAC;YAJuB,CAIvB;SACH,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,kBAAkB;oBACvB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC9B,KAAK,YAAC,EAAe;oBAAb,KAAK,WAAA,EAAE,IAAI,UAAA;gBACjB,OAAO;oBACL,GAAG,EAAE,0BAAmB,KAAK,CAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC,EA5CsB,CA4CtB;CACH,CAAC,CAAC;AAEH,MAAM,CACJ,IAAA,mBAAmB,GAKjB,OAAO,oBALU,EACnB,0BAA0B,GAIxB,OAAO,2BAJiB,EAC1B,qBAAqB,GAGnB,OAAO,sBAHY,EACrB,yBAAyB,GAEvB,OAAO,0BAFgB,EACzB,wBAAwB,GACtB,OAAO,yBADe,CACd"}
1
+ {"version":3,"file":"authApi.js","sourceRoot":"","sources":["../../../src/redux/api/authApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,IAAM,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;YACzB,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,eAAe;oBACpB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;YAChC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,uBAAuB;oBAC5B,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC3B,KAAK,EAAE,UAAC,EAAY;oBAAV,EAAE,QAAA,EAAE,IAAI,UAAA;gBAAO,OAAA,CAAC;oBACxB,GAAG,EAAE,gBAAS,EAAE,CAAE;oBAClB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,IAAI;iBACX,CAAC;YAJuB,CAIvB;SACH,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,kBAAkB;oBACvB,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC9B,KAAK,YAAC,EAAe;oBAAb,KAAK,WAAA,EAAE,IAAI,UAAA;gBACjB,OAAO;oBACL,GAAG,EAAE,0BAAmB,KAAK,CAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,MAAA;iBACL,CAAC;YACJ,CAAC;SACF,CAAC;QACF,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC;YACvC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAA;YACH,CAAC;SACF,CAAC;QACF,qBAAqB,EAAE,OAAO,CAAC,QAAQ,CAAC;YACtC,KAAK,YAAC,IAAI;gBACR,OAAO;oBACL,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACL,CAAA;YACH,CAAC;SACF,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,KAAK,YAAC,IAAI;gBACN,OAAO;oBACH,GAAG,EAAE,sBAAsB;oBAC3B,MAAM,EAAE,MAAM;oBACd,IAAI,MAAA;iBACP,CAAC;YACN,CAAC;SACJ,CAAC;KACD,CAAC,EAvEsB,CAuEtB;CACH,CAAC,CAAC;AAEH,MAAM,CACJ,IAAA,mBAAmB,GAQjB,OAAO,oBARU,EACnB,0BAA0B,GAOxB,OAAO,2BAPiB,EAC1B,qBAAqB,GAMnB,OAAO,sBANY,EACrB,yBAAyB,GAKvB,OAAO,0BALgB,EACzB,wBAAwB,GAItB,OAAO,yBAJe,EACxB,iCAAiC,GAG/B,OAAO,kCAHwB,EACjC,gCAAgC,GAE9B,OAAO,iCAFuB,EAChC,yBAAyB,GACvB,OAAO,0BADgB,CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core-ui",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "scripts": {
5
5
  "build": "tsc && tsc-alias",
6
6
  "clean": "rm -rf dist",
@@ -0,0 +1,159 @@
1
+ "use client"
2
+ import { useChangePasswordMutation } from '@/redux/api/authApi';
3
+ import { useFormik } from 'formik';
4
+ import { signOut, useSession } from 'next-auth/react';
5
+ import { Button } from 'primereact/button';
6
+ import { InputText } from 'primereact/inputtext';
7
+ import { Message } from 'primereact/message';
8
+ import { Password } from 'primereact/password';
9
+ import { Toast } from 'primereact/toast';
10
+ import { classNames } from 'primereact/utils';
11
+ import { useRef } from 'react';
12
+ import * as Yup from 'yup';
13
+ const SolidChangeForcePassword = () => {
14
+ const toast = useRef<Toast>(null);
15
+ const [changePassword] = useChangePasswordMutation();
16
+
17
+ const session: any = useSession();
18
+ const showToast = (severity: "success" | "error", summary: string, detail: string) => {
19
+ toast.current?.show({
20
+ severity,
21
+ summary,
22
+ detail,
23
+ life: 3000,
24
+ });
25
+ };
26
+ const validationSchema = Yup.object({
27
+ email: Yup.string().email('Invalid email format').required('Email is required'),
28
+ currentPassword: Yup.string().min(6, 'Password must be at least 6 characters').required('Current password is required'),
29
+ newPassword: Yup.string().min(6, 'Password must be at least 6 characters').required('New password is required'),
30
+ confirmPassword: Yup.string().oneOf([Yup.ref('newPassword')], 'Passwords must match').required('Confirm password is required'),
31
+ id: Yup.number().required('User ID is required'),
32
+ });
33
+ const formik = useFormik({
34
+ initialValues: {
35
+ email: session?.data?.user?.user?.email,
36
+ currentPassword: "",
37
+ newPassword: "",
38
+ confirmPassword: "",
39
+ id: session?.data?.user?.user?.id,
40
+ },
41
+ validationSchema,
42
+ onSubmit: async (values) => {
43
+ try {
44
+ const payload = {
45
+ id: values.id,
46
+ email: values.email,
47
+ currentPassword: values.currentPassword,
48
+ newPassword: values.newPassword,
49
+ };
50
+ console.log("Payload:", payload);
51
+
52
+ // Call the mutation and handle the response
53
+ const response = await changePassword(payload).unwrap(); // Await the API call and unwrap to handle errors.
54
+ if (response?.statusCode === 200) {
55
+ showToast("success", "Force Password Change Success", "Password Change Successfully");
56
+ signOut({ callbackUrl: "/auth/login" })
57
+ } else (
58
+ showToast("error", "Login Error", response.error)
59
+ )
60
+ } catch (err) {
61
+ console.error("Failed to update password:", err);
62
+ showToast("error", "Login Failed", "Something went wrong");
63
+ }
64
+ },
65
+ });
66
+ const isFormFieldValid = (formik: any, fieldName: string) =>
67
+ formik.touched[fieldName] && formik.errors[fieldName];
68
+
69
+ return (
70
+ <>
71
+ <Toast ref={toast} />
72
+
73
+ <form onSubmit={formik.handleSubmit} className='d-flex flex-column gap-3 auth-form'>
74
+ <div className="flex flex-column gap-2 mt-2">
75
+ <label htmlFor="email" className="solid-auth-input-label">Email Id</label>
76
+ <InputText
77
+ id="email"
78
+ name="email"
79
+ placeholder="Email ID"
80
+ value={formik.values.email}
81
+ onChange={formik.handleChange}
82
+ onBlur={formik.handleBlur}
83
+ readOnly
84
+ />
85
+ </div>
86
+ <div className="flex flex-column gap-2 mt-4" style={{}}>
87
+ <label htmlFor="currentPassword" className="solid-auth-input-label">Current Password</label>
88
+ <Password
89
+ id="currentPassword"
90
+ name="currentPassword"
91
+ placeholder="***************"
92
+ value={formik.values.currentPassword}
93
+ onChange={formik.handleChange}
94
+ onBlur={formik.handleBlur}
95
+ toggleMask
96
+ className={classNames("", {
97
+ "p-invalid": isFormFieldValid(formik, "password"),
98
+ })}
99
+ inputClassName="w-full"
100
+ feedback={false}
101
+ />
102
+ {isFormFieldValid(formik, "currentPassword") && <Message
103
+ className="text-red-500 text-sm"
104
+ severity="error"
105
+ text={formik?.errors?.currentPassword?.toString()}
106
+ />}
107
+ </div>
108
+ <div className="flex flex-column gap-2 mt-4" style={{}}>
109
+ <label htmlFor="password" className="solid-auth-input-label">New Password</label>
110
+ <Password
111
+ id="newPassword"
112
+ name="newPassword"
113
+ placeholder="***************"
114
+ value={formik.values.newPassword}
115
+ onChange={formik.handleChange}
116
+ onBlur={formik.handleBlur}
117
+ toggleMask
118
+ className={classNames("", {
119
+ "p-invalid": isFormFieldValid(formik, "newPassword"),
120
+ })}
121
+ inputClassName="w-full"
122
+ feedback={false}
123
+ />
124
+ {isFormFieldValid(formik, "newPassword") && <Message
125
+ className="text-red-500 text-sm"
126
+ severity="error"
127
+ text={formik?.errors?.newPassword?.toString()}
128
+ />}
129
+ </div>
130
+ <div className="flex flex-column gap-2 mt-4" style={{}}>
131
+ <label htmlFor="password" className="solid-auth-input-label">Confirm Password</label>
132
+ <Password
133
+ id="confirmPassword"
134
+ name="confirmPassword"
135
+ placeholder="***************"
136
+ value={formik.values.confirmPassword}
137
+ onChange={formik.handleChange}
138
+ onBlur={formik.handleBlur}
139
+ toggleMask
140
+ className={classNames("", {
141
+ "p-invalid": isFormFieldValid(formik, "confirmPassword"),
142
+ })}
143
+ inputClassName="w-full"
144
+ feedback={false}
145
+ />
146
+ {isFormFieldValid(formik, "confirmPassword") && <Message
147
+ className="text-red-500 text-sm"
148
+ severity="error"
149
+ text={formik?.errors?.confirmPassword?.toString()}
150
+ />}
151
+ </div>
152
+ <div className="mt-4">
153
+ <Button className="w-full font-light auth-submit-button" label="Change Password" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
154
+ </div>
155
+ </form>
156
+ </>
157
+ )
158
+ }
159
+ export default SolidChangeForcePassword
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
 
3
- import { Form, Formik } from "formik";
4
- import { signIn } from "next-auth/react";
3
+ import { useInitiateChangePasswordMutation } from "@/redux/api/authApi";
4
+ import { useFormik } from "formik";
5
5
  import Link from "next/link";
6
6
  import { useRouter } from "next/navigation";
7
7
  import { Button } from "primereact/button";
8
8
  import { InputText } from "primereact/inputtext";
9
9
  import { Message } from "primereact/message";
10
10
  import { Toast } from "primereact/toast";
11
- import { useContext, useRef, useState } from "react";
11
+ import { useContext, useRef } from "react";
12
12
  import * as Yup from "yup";
13
13
  import { LayoutContext } from "../layout/context/layoutcontext";
14
14
 
@@ -18,17 +18,6 @@ const SolidForgotPassword = () => {
18
18
  const { authLayout } = layoutConfig;
19
19
  const toast = useRef<Toast>(null);
20
20
  const router = useRouter();
21
-
22
- const [password, setPassword] = useState('');
23
- const [checked, setChecked] = useState<boolean>(false);
24
-
25
- const validationSchema = Yup.object({
26
- email: Yup.string()
27
- .email("Invalid email address")
28
- .required("Email is required"),
29
- password: Yup.string().required("Password is required"),
30
- });
31
-
32
21
  const showToast = (severity: "success" | "error", summary: string, detail: string) => {
33
22
  toast.current?.show({
34
23
  severity,
@@ -37,6 +26,43 @@ const SolidForgotPassword = () => {
37
26
  life: 3000,
38
27
  });
39
28
  };
29
+ const [initiateChangePassword] = useInitiateChangePasswordMutation();
30
+ const validationSchema = Yup.object({
31
+ email: Yup.string()
32
+ .email('Invalid email format')
33
+ .required('Email is required'),
34
+ });
35
+ function maskEmail(email: string) {
36
+ const [localPart, domain] = email.split('@');
37
+ const maskedLocal = localPart.slice(0, 3) + '*'.repeat(localPart.length - 3);
38
+ const maskedDomain = domain.slice(-8).padStart(domain.length, '*');
39
+ return `${maskedLocal}@${maskedDomain}`;
40
+ }
41
+
42
+ const formik = useFormik({
43
+ initialValues: {
44
+ email: "",
45
+ },
46
+ validationSchema,
47
+ onSubmit: async (values) => {
48
+ try {
49
+ const payload = {
50
+ email: values.email,
51
+ };
52
+ const response = await initiateChangePassword(payload).unwrap();
53
+ if (response?.statusCode === 200) {
54
+ const email = response?.data?.data?.user?.email;
55
+ const maskedEmail = maskEmail(email);
56
+ router.push(`/auth/initiate-forgot-password-thank-you?email=${maskedEmail}`)
57
+ } else (
58
+ showToast("error", "Login Error", response.error)
59
+ )
60
+ } catch (err: any) {
61
+ console.log("Error", err);
62
+ showToast("error", "Login Error", err?.data ? err?.data?.message : "Something Went Wrong");
63
+ }
64
+ },
65
+ });
40
66
 
41
67
  const isFormFieldValid = (formik: any, fieldName: string) =>
42
68
  formik.touched[fieldName] && formik.errors[fieldName];
@@ -45,72 +71,45 @@ const SolidForgotPassword = () => {
45
71
  <>
46
72
  <Toast ref={toast} />
47
73
  <div className={`auth-container ${authLayout === 'Center' ? 'center' : 'side'}`}>
48
- <div className="flex justify-content-center">
49
- <div className="solid-logo flex align-items-center gap-3">
50
- <img
51
- alt="solid logo"
52
- src={'/images/SS-Logo-1 1.png'}
53
- className="position-relative img-fluid"
54
- />
55
- <div>
56
- <p className="solid-logo-title">
57
- Solid<br />Starters
58
- </p>
74
+ {authLayout === 'Center' &&
75
+ <div className="flex justify-content-center">
76
+ <div className="solid-logo flex align-items-center gap-3">
77
+ <img
78
+ alt="solid logo"
79
+ src={'/images/SS-Logo-1 1.png'}
80
+ className="position-relative img-fluid"
81
+ />
82
+ <div>
83
+ <p className="solid-logo-title">
84
+ Solid<br />Starters
85
+ </p>
86
+ </div>
59
87
  </div>
60
88
  </div>
61
- </div>
62
- <h2 className="solid-auth-title text-center">Forgot Password</h2>
63
- <p className="solid-auth-subtitle text-sm">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p>
64
- <>
65
- <Formik
66
- initialValues={{
67
- email: "",
68
- password: "",
69
- }}
70
- validationSchema={validationSchema}
71
- onSubmit={async (values) => {
72
- // Handle form submission
73
- const email = values.email;
74
- const password = values.password;
75
-
76
- const response = await signIn("credentials", {
77
- redirect: false,
78
- email,
79
- password,
80
- });
81
- if (response?.error) {
82
- showToast("error", "Login Error", response.error);
83
- } else {
84
- showToast("success", "Login Success", "Redirecting to dashboard...");
85
- router.push("/admin/core/solid-core/user/list");
86
- }
87
-
88
- }}
89
- >
90
- {(formik) => (
91
- <Form>
92
- <div className="flex flex-column gap-2">
93
- <label htmlFor="email" className="solid-auth-input-label">Username or Email</label>
94
- <InputText
95
- id="email"
96
- name="email"
97
- placeholder="Email ID"
98
- onChange={formik.handleChange}
99
- value={formik.values.email}
100
- />
101
- {isFormFieldValid(formik, "email") && <Message
102
- className="text-red-500 text-sm"
103
- severity="error"
104
- text={formik?.errors?.email?.toString()}
105
- />}
106
- </div>
107
- <div className="mt-4">
108
- <Button className="w-full font-light" label="Send OTP" />
109
- </div>
110
- </Form>
111
- )}
112
- </Formik>
113
- </>
89
+ }
90
+ <h2 className={`solid-auth-title ${authLayout === 'Center' ? 'text-center' : 'text-left'}`}>Forgot Password</h2>
91
+ {/* <p className="solid-auth-subtitle text-sm">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}
92
+ <form onSubmit={formik.handleSubmit}>
93
+ <div className="flex flex-column gap-2">
94
+ <label htmlFor="email" className="solid-auth-input-label">Username or Email</label>
95
+ <InputText
96
+ id="email"
97
+ name="email"
98
+ placeholder="Email ID"
99
+ value={formik.values.email}
100
+ onChange={formik.handleChange}
101
+ onBlur={formik.handleBlur}
102
+ />
103
+ {isFormFieldValid(formik, "email") && <Message
104
+ className="text-red-500 text-sm"
105
+ severity="error"
106
+ text={formik?.errors?.email?.toString()}
107
+ />}
108
+ </div>
109
+ <div className="mt-4">
110
+ <Button className="w-full font-light auth-submit-button" label="Send OTP" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
111
+ </div>
112
+ </form>
114
113
  </div>
115
114
  <div className="text-center mt-5">
116
115
  <div className="text-sm text-400 secondary-dark-color">