@dragonmastery/dragoncore-vue 0.0.30 → 0.0.32

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 (209) hide show
  1. package/dist/{ChangePasswordPage-Dy8lFUcI.js → ChangePasswordPage-CR91NZP4.js} +2 -2
  2. package/dist/{ChangePasswordPage-Dy8lFUcI.js.map → ChangePasswordPage-CR91NZP4.js.map} +1 -1
  3. package/dist/ChangePasswordPage-qLd6YZVO.js +7 -0
  4. package/dist/ConsentRequired-DtUwfpk0.js +274 -0
  5. package/dist/ConsentRequired-DtUwfpk0.js.map +1 -0
  6. package/dist/CreateTeamForm-BK8PJeXz.js +12 -0
  7. package/dist/{CreateTeamForm-B7MsOsiV.js → CreateTeamForm-BQewI0Gn.js} +3 -3
  8. package/dist/{CreateTeamForm-B7MsOsiV.js.map → CreateTeamForm-BQewI0Gn.js.map} +1 -1
  9. package/dist/{CreateTeamMemberForm-DeUyXnVa.js → CreateTeamMemberForm-B3jxlAsC.js} +4 -4
  10. package/dist/{CreateTeamMemberForm-DeUyXnVa.js.map → CreateTeamMemberForm-B3jxlAsC.js.map} +1 -1
  11. package/dist/CreateTeamMemberForm-BYsZNxTq.js +12 -0
  12. package/dist/{CreateUserPage-1WiLNGr_.js → CreateUserPage-BcCIat_l.js} +2 -2
  13. package/dist/{CreateUserPage-1WiLNGr_.js.map → CreateUserPage-BcCIat_l.js.map} +1 -1
  14. package/dist/CreateUserPage-D0oMJnGd.js +7 -0
  15. package/dist/CreditBalanceDashboard-C2QnVfjU.js +13 -0
  16. package/dist/{CreditBalanceDashboard-CoIEyZWh.js → CreditBalanceDashboard-CRHrhlSZ.js} +2 -2
  17. package/dist/{CreditBalanceDashboard-CoIEyZWh.js.map → CreditBalanceDashboard-CRHrhlSZ.js.map} +1 -1
  18. package/dist/{CreditManagement-CCyU_yja.js → CreditManagement-7xiygPYj.js} +3 -3
  19. package/dist/{CreditManagement-CCyU_yja.js.map → CreditManagement-7xiygPYj.js.map} +1 -1
  20. package/dist/CreditManagement-CAaf_rVj.js +13 -0
  21. package/dist/{CreditTransactionHistory-UPg9uDNy.js → CreditTransactionHistory-CP7ufh7Z.js} +5 -5
  22. package/dist/{CreditTransactionHistory-UPg9uDNy.js.map → CreditTransactionHistory-CP7ufh7Z.js.map} +1 -1
  23. package/dist/CustomerCreateSupportTicketForm-C3DSzhJR.js +14 -0
  24. package/dist/{CustomerCreateSupportTicketForm-DFH1JtlA.js → CustomerCreateSupportTicketForm-Cd3ijzWy.js} +4 -4
  25. package/dist/{CustomerCreateSupportTicketForm-DFH1JtlA.js.map → CustomerCreateSupportTicketForm-Cd3ijzWy.js.map} +1 -1
  26. package/dist/{CustomerSupportTicketDetailPage-DAwiE2t6.js → CustomerSupportTicketDetailPage-DwpkxpYV.js} +8 -8
  27. package/dist/{CustomerSupportTicketDetailPage-DAwiE2t6.js.map → CustomerSupportTicketDetailPage-DwpkxpYV.js.map} +1 -1
  28. package/dist/CustomerSupportTicketList-BrTX8SUV.js +64 -0
  29. package/dist/CustomerSupportTicketParent-C0uMeN09.js +8 -0
  30. package/dist/{CustomerSupportTicketParent-rl4Ym8oa.js → CustomerSupportTicketParent-D9FuZjPz.js} +2 -2
  31. package/dist/{CustomerSupportTicketParent-rl4Ym8oa.js.map → CustomerSupportTicketParent-D9FuZjPz.js.map} +1 -1
  32. package/dist/CustomerSupportTicketSuccess-BLSMAjQN.js +12 -0
  33. package/dist/{CustomerSupportTicketSuccess-BEhFZgtn.js → CustomerSupportTicketSuccess-k3DX9NhV.js} +2 -2
  34. package/dist/{CustomerSupportTicketSuccess-BEhFZgtn.js.map → CustomerSupportTicketSuccess-k3DX9NhV.js.map} +1 -1
  35. package/dist/{DefaultReferralTeamPage-D3UIrIZK.js → DefaultReferralTeamPage-fS1SlVow.js} +6 -6
  36. package/dist/{DefaultReferralTeamPage-D3UIrIZK.js.map → DefaultReferralTeamPage-fS1SlVow.js.map} +1 -1
  37. package/dist/{EditTeamForm-C1_-p3lZ.js → EditTeamForm-CETmPEZ7.js} +3 -3
  38. package/dist/{EditTeamForm-C1_-p3lZ.js.map → EditTeamForm-CETmPEZ7.js.map} +1 -1
  39. package/dist/EditTeamForm-DiZXp6vh.js +12 -0
  40. package/dist/EditTeamMemberForm-BKbWq88S.js +9 -0
  41. package/dist/{EditTeamMemberForm-D9cofrUM.js → EditTeamMemberForm-D6vf9hp-.js} +2 -2
  42. package/dist/{EditTeamMemberForm-D9cofrUM.js.map → EditTeamMemberForm-D6vf9hp-.js.map} +1 -1
  43. package/dist/EditUserPage-DCdj6EYd.js +8 -0
  44. package/dist/{EditUserPage-CwsO8naT.js → EditUserPage-Dy61CCle.js} +3 -3
  45. package/dist/{EditUserPage-CwsO8naT.js.map → EditUserPage-Dy61CCle.js.map} +1 -1
  46. package/dist/{EnhancedRefreshTokenHandler-C6tZCcfX.js → EnhancedRefreshTokenHandler-s8wUXtB5.js} +2 -2
  47. package/dist/{EnhancedRefreshTokenHandler-C6tZCcfX.js.map → EnhancedRefreshTokenHandler-s8wUXtB5.js.map} +1 -1
  48. package/dist/{ForgotPassword-Dd-E3_o1.js → ForgotPassword-BykH9B9R.js} +3 -3
  49. package/dist/{ForgotPassword-Dd-E3_o1.js.map → ForgotPassword-BykH9B9R.js.map} +1 -1
  50. package/dist/ForgotPassword-Xb1yVZ6C.js +8 -0
  51. package/dist/{InlineAttachments-DAn_QknY.js → InlineAttachments-Ywf9r3jd.js} +4 -4
  52. package/dist/{InlineAttachments-DAn_QknY.js.map → InlineAttachments-Ywf9r3jd.js.map} +1 -1
  53. package/dist/LoginForm-B5wYdKhY.js +8 -0
  54. package/dist/{LoginForm-CSMHsZrq.js → LoginForm-CjF4NSgM.js} +4 -4
  55. package/dist/{LoginForm-CSMHsZrq.js.map → LoginForm-CjF4NSgM.js.map} +1 -1
  56. package/dist/{Logout-Bdktl4NZ.js → Logout-DmpC8Rwh.js} +4 -4
  57. package/dist/{Logout-Bdktl4NZ.js.map → Logout-DmpC8Rwh.js.map} +1 -1
  58. package/dist/Logout-qyH2t-1a.js +8 -0
  59. package/dist/{MfaSetup-Bjc3v0hs.js → MfaSetup-DCLKIMaS.js} +4 -4
  60. package/dist/{MfaSetup-Bjc3v0hs.js.map → MfaSetup-DCLKIMaS.js.map} +1 -1
  61. package/dist/MfaSetup-DMLXL9fk.js +9 -0
  62. package/dist/MfaVerify-C4xGQZlQ.js +9 -0
  63. package/dist/{MfaVerify-uJlPz8xg.js → MfaVerify-Dm2Yc0Da.js} +5 -5
  64. package/dist/{MfaVerify-uJlPz8xg.js.map → MfaVerify-Dm2Yc0Da.js.map} +1 -1
  65. package/dist/{ResetPassword-CyizBRob.js → ResetPassword-iVcY7eBY.js} +3 -3
  66. package/dist/{ResetPassword-CyizBRob.js.map → ResetPassword-iVcY7eBY.js.map} +1 -1
  67. package/dist/ResetPassword-ulR2HviU.js +8 -0
  68. package/dist/{SavedFiltersPage-Cz01ZeHx.js → SavedFiltersPage-CTLpYU2c.js} +51 -51
  69. package/dist/{SavedFiltersPage-Cz01ZeHx.js.map → SavedFiltersPage-CTLpYU2c.js.map} +1 -1
  70. package/dist/Signup-D4xILUym.js +10 -0
  71. package/dist/{Signup-CkhRQErA.js → Signup-D6vnyS4w.js} +47 -55
  72. package/dist/Signup-D6vnyS4w.js.map +1 -0
  73. package/dist/{SignupRequirementsPage-33z--rhH.js → SignupRequirementsPage-BnOkXd7w.js} +6 -6
  74. package/dist/{SignupRequirementsPage-33z--rhH.js.map → SignupRequirementsPage-BnOkXd7w.js.map} +1 -1
  75. package/dist/StaffCreateSupportTicketForm-BnpxlQaG.js +14 -0
  76. package/dist/{StaffCreateSupportTicketForm-BtR-Aowv.js → StaffCreateSupportTicketForm-gPZizMKW.js} +6 -6
  77. package/dist/{StaffCreateSupportTicketForm-BtR-Aowv.js.map → StaffCreateSupportTicketForm-gPZizMKW.js.map} +1 -1
  78. package/dist/{StaffSupportTicketDetailPage-LqnNfU34.js → StaffSupportTicketDetailPage-DUqLTHVT.js} +8 -8
  79. package/dist/{StaffSupportTicketDetailPage-LqnNfU34.js.map → StaffSupportTicketDetailPage-DUqLTHVT.js.map} +1 -1
  80. package/dist/StaffSupportTicketList-Qp0vQw8X.js +64 -0
  81. package/dist/{StaffSupportTicketParent-DPvdLUii.js → StaffSupportTicketParent-CZllER18.js} +2 -2
  82. package/dist/{StaffSupportTicketParent-DPvdLUii.js.map → StaffSupportTicketParent-CZllER18.js.map} +1 -1
  83. package/dist/StaffSupportTicketParent-D4FKQAmp.js +8 -0
  84. package/dist/StaffSupportTicketSuccess-BvwrpoAb.js +12 -0
  85. package/dist/{StaffSupportTicketSuccess-B3N-RMoT.js → StaffSupportTicketSuccess-C9vqsC51.js} +2 -2
  86. package/dist/{StaffSupportTicketSuccess-B3N-RMoT.js.map → StaffSupportTicketSuccess-C9vqsC51.js.map} +1 -1
  87. package/dist/{SupportStaffPage-geoITTqt.js → SupportStaffPage--vinFIlV.js} +6 -6
  88. package/dist/{SupportStaffPage-geoITTqt.js.map → SupportStaffPage--vinFIlV.js.map} +1 -1
  89. package/dist/{SupportTicketMaintenancePage-CEKi8xQB.js → SupportTicketMaintenancePage-C-BWD49g.js} +5 -5
  90. package/dist/{SupportTicketMaintenancePage-CEKi8xQB.js.map → SupportTicketMaintenancePage-C-BWD49g.js.map} +1 -1
  91. package/dist/TeamAttachmentsTab-CnAvlIbn.js +64 -0
  92. package/dist/{TeamHistoryTab-CxzA4u_G.js → TeamHistoryTab-5kNQ_XAq.js} +3 -3
  93. package/dist/{TeamHistoryTab-CxzA4u_G.js.map → TeamHistoryTab-5kNQ_XAq.js.map} +1 -1
  94. package/dist/TeamHistoryTab-CBWeRKXM.js +6 -0
  95. package/dist/{TeamList-_SsqJicG.js → TeamList-C0Mbkbja.js} +4 -4
  96. package/dist/{TeamList-_SsqJicG.js.map → TeamList-C0Mbkbja.js.map} +1 -1
  97. package/dist/TeamList-Fb6EfybL.js +8 -0
  98. package/dist/{TeamMemberList-BYUANoBg.js → TeamMemberList-DyfXcR6F.js} +4 -4
  99. package/dist/{TeamMemberList-BYUANoBg.js.map → TeamMemberList-DyfXcR6F.js.map} +1 -1
  100. package/dist/TeamMemberList-X2hzYZFT.js +7 -0
  101. package/dist/{TeamMemberParent-DmYcHU3n.js → TeamMemberParent-2zISixbT.js} +3 -3
  102. package/dist/{TeamMemberParent-DmYcHU3n.js.map → TeamMemberParent-2zISixbT.js.map} +1 -1
  103. package/dist/TeamMemberParent-DKxE1ziP.js +10 -0
  104. package/dist/{TeamNotesTab-Cego-QT3.js → TeamNotesTab-BREl3Vr0.js} +5 -5
  105. package/dist/{TeamNotesTab-Cego-QT3.js.map → TeamNotesTab-BREl3Vr0.js.map} +1 -1
  106. package/dist/TeamNotesTab-DxMN3WZo.js +8 -0
  107. package/dist/{TeamParent-BUnqP-dr.js → TeamParent-COSOJ-ZZ.js} +3 -3
  108. package/dist/{TeamParent-BUnqP-dr.js.map → TeamParent-COSOJ-ZZ.js.map} +1 -1
  109. package/dist/TeamParent-XgBD3twV.js +11 -0
  110. package/dist/{TimelineNoteInput-BBZv3X4p.js → TimelineNoteInput-CrivEMUP.js} +2 -2
  111. package/dist/{TimelineNoteInput-BBZv3X4p.js.map → TimelineNoteInput-CrivEMUP.js.map} +1 -1
  112. package/dist/{UserListPage-CDMSZpXK.js → UserListPage-CCl0K7Gk.js} +3 -3
  113. package/dist/{UserListPage-CDMSZpXK.js.map → UserListPage-CCl0K7Gk.js.map} +1 -1
  114. package/dist/UserListPage-CYkvaHwL.js +5 -0
  115. package/dist/UserProfilePage-BMmz7SGl.js +8 -0
  116. package/dist/{UserProfilePage-BYitd7QV.js → UserProfilePage-D7FNmca1.js} +4 -4
  117. package/dist/{UserProfilePage-BYitd7QV.js.map → UserProfilePage-D7FNmca1.js.map} +1 -1
  118. package/dist/{VerifyEmail-CWUhRA1o.js → VerifyEmail-KCti4rzf.js} +6 -6
  119. package/dist/{VerifyEmail-CWUhRA1o.js.map → VerifyEmail-KCti4rzf.js.map} +1 -1
  120. package/dist/VerifyEmail-Xd31Com7.js +10 -0
  121. package/dist/ViewTeam-BXSq4M0V.js +8 -0
  122. package/dist/{ViewTeam-ttqX2In8.js → ViewTeam-DGaNNd8N.js} +2 -2
  123. package/dist/{ViewTeam-ttqX2In8.js.map → ViewTeam-DGaNNd8N.js.map} +1 -1
  124. package/dist/{ViewTeamMember-DqWZ3F_h.js → ViewTeamMember-Dsl2GKI1.js} +2 -2
  125. package/dist/{ViewTeamMember-DqWZ3F_h.js.map → ViewTeamMember-Dsl2GKI1.js.map} +1 -1
  126. package/dist/ViewTeamMember-bmry5QZ0.js +7 -0
  127. package/dist/{customerSupportTicketRoutes-C-DKBy5g.js → customerSupportTicketRoutes-BjqjQc9A.js} +8 -8
  128. package/dist/{customerSupportTicketRoutes-C-DKBy5g.js.map → customerSupportTicketRoutes-BjqjQc9A.js.map} +1 -1
  129. package/dist/index.d.ts +254 -224
  130. package/dist/index.js +52 -53
  131. package/dist/{mfaSchema-C6PatIbY.js → mfaSchema-Ukqzdyck.js} +1 -1
  132. package/dist/{mfaSchema-C6PatIbY.js.map → mfaSchema-Ukqzdyck.js.map} +1 -1
  133. package/dist/{saved_filter-C2N9l_a9.js → saved_filter-DXWnU4Zb.js} +5 -5
  134. package/dist/{saved_filter-C2N9l_a9.js.map → saved_filter-DXWnU4Zb.js.map} +1 -1
  135. package/dist/{src-C8B9TJiH.js → src-B7oHTH_y.js} +216 -197
  136. package/dist/src-B7oHTH_y.js.map +1 -0
  137. package/dist/{staffSupportTicketRoutes-CyMecWpC.js → staffSupportTicketRoutes-CeuduGmG.js} +8 -8
  138. package/dist/{staffSupportTicketRoutes-CyMecWpC.js.map → staffSupportTicketRoutes-CeuduGmG.js.map} +1 -1
  139. package/dist/{teamRoutes-CFDsHPkd.js → teamRoutes-A7plQKi0.js} +11 -11
  140. package/dist/{teamRoutes-CFDsHPkd.js.map → teamRoutes-A7plQKi0.js.map} +1 -1
  141. package/dist/{team_memberRoutes-BgjY9Kwq.js → team_memberRoutes-mO1f-Y4o.js} +7 -7
  142. package/dist/{team_memberRoutes-BgjY9Kwq.js.map → team_memberRoutes-mO1f-Y4o.js.map} +1 -1
  143. package/dist/useAuthFlowNextStep-zlvxflBZ.js +64 -0
  144. package/dist/useAuthFlowNextStep-zlvxflBZ.js.map +1 -0
  145. package/dist/{useEmailVerificationChannel-QuMSgzzM.js → useEmailVerificationChannel-DYiMSAES.js} +3 -3
  146. package/dist/{useEmailVerificationChannel-QuMSgzzM.js.map → useEmailVerificationChannel-DYiMSAES.js.map} +1 -1
  147. package/dist/{useMutation-BLNuJoYl.js → useMutation-BXSu7_-s.js} +6 -4
  148. package/dist/useMutation-BXSu7_-s.js.map +1 -0
  149. package/dist/{useQuery-BzUGEOj0.js → useQuery-DownvLRA.js} +4 -4
  150. package/dist/{useQuery-BzUGEOj0.js.map → useQuery-DownvLRA.js.map} +1 -1
  151. package/dist/{useQueryCache-alzaRWEb.js → useQueryCache-CUTrwJWX.js} +2 -2
  152. package/dist/{useQueryCache-alzaRWEb.js.map → useQueryCache-CUTrwJWX.js.map} +1 -1
  153. package/dist/{useReturnUrl-B5V3SJf5.js → useReturnUrl-DnezAxBA.js} +2 -10
  154. package/dist/{useReturnUrl-B5V3SJf5.js.map → useReturnUrl-DnezAxBA.js.map} +1 -1
  155. package/dist/{useRpcAuth-CJtq1dqM.js → useRpcAuth-BFdprNWb.js} +5 -7
  156. package/dist/useRpcAuth-BFdprNWb.js.map +1 -0
  157. package/dist/{userAuthorized-3RiCDXxr.js → userAuthorized-qmzUYDa-.js} +2 -2
  158. package/dist/{userAuthorized-3RiCDXxr.js.map → userAuthorized-qmzUYDa-.js.map} +1 -1
  159. package/package.json +2 -2
  160. package/dist/ChangePasswordPage-D1LGJ02W.js +0 -7
  161. package/dist/ConsentFlowStep-DsVhXa91.js +0 -157
  162. package/dist/ConsentFlowStep-DsVhXa91.js.map +0 -1
  163. package/dist/ConsentRequired-B3eLxJgx.js +0 -114
  164. package/dist/ConsentRequired-B3eLxJgx.js.map +0 -1
  165. package/dist/CreateTeamForm-5V_ks5Ie.js +0 -12
  166. package/dist/CreateTeamMemberForm-CayF2tIJ.js +0 -12
  167. package/dist/CreateUserPage-DNi45YF4.js +0 -7
  168. package/dist/CreditBalanceDashboard-D_TsFlTp.js +0 -13
  169. package/dist/CreditManagement-CdkqQM7F.js +0 -13
  170. package/dist/CustomerCreateSupportTicketForm-CiTTUqtW.js +0 -14
  171. package/dist/CustomerSupportTicketList-CKZl8jxx.js +0 -64
  172. package/dist/CustomerSupportTicketParent-D3Gj4Hel.js +0 -8
  173. package/dist/CustomerSupportTicketSuccess-BJO2xsQR.js +0 -12
  174. package/dist/EditTeamForm-Bf4rSgQg.js +0 -12
  175. package/dist/EditTeamMemberForm-Bh6zVNyJ.js +0 -9
  176. package/dist/EditUserPage-CQgp-08o.js +0 -8
  177. package/dist/ExternalLinkIcon-BKVV5Gjm.js +0 -34
  178. package/dist/ExternalLinkIcon-BKVV5Gjm.js.map +0 -1
  179. package/dist/ForgotPassword-BhmO5Lfd.js +0 -8
  180. package/dist/LoginForm-CFADKiln.js +0 -8
  181. package/dist/Logout-CmKJK14I.js +0 -8
  182. package/dist/MfaSetup-BtfQXhLn.js +0 -9
  183. package/dist/MfaVerify-SUfSRf4m.js +0 -9
  184. package/dist/ResetPassword-Dz2N3pH4.js +0 -8
  185. package/dist/Signup-CkhRQErA.js.map +0 -1
  186. package/dist/Signup-cOvXCtJj.js +0 -9
  187. package/dist/SignupConsentFlow-CKMFsnf5.js +0 -223
  188. package/dist/SignupConsentFlow-CKMFsnf5.js.map +0 -1
  189. package/dist/StaffCreateSupportTicketForm-D7ctCaXe.js +0 -14
  190. package/dist/StaffSupportTicketList-GyzlONKe.js +0 -64
  191. package/dist/StaffSupportTicketParent-Dyybqx74.js +0 -8
  192. package/dist/StaffSupportTicketSuccess-DvonYilY.js +0 -12
  193. package/dist/TeamAttachmentsTab-ChP4DaUP.js +0 -64
  194. package/dist/TeamHistoryTab-wRpRizDE.js +0 -6
  195. package/dist/TeamList-cp8Pa2xg.js +0 -8
  196. package/dist/TeamMemberList-B16SuLwM.js +0 -7
  197. package/dist/TeamMemberParent-BJl8nBmP.js +0 -10
  198. package/dist/TeamNotesTab-BQN9niw-.js +0 -8
  199. package/dist/TeamParent-BseZ6Zoi.js +0 -11
  200. package/dist/UserListPage-BABli3QG.js +0 -5
  201. package/dist/UserProfilePage-Dmxp7oqP.js +0 -8
  202. package/dist/VerifyEmail-CLDngljq.js +0 -10
  203. package/dist/ViewTeam-rLNxVgS2.js +0 -8
  204. package/dist/ViewTeamMember-B5U8kZBw.js +0 -7
  205. package/dist/signupConsentStorage-pWSoHuhO.js +0 -35
  206. package/dist/signupConsentStorage-pWSoHuhO.js.map +0 -1
  207. package/dist/src-C8B9TJiH.js.map +0 -1
  208. package/dist/useMutation-BLNuJoYl.js.map +0 -1
  209. package/dist/useRpcAuth-CJtq1dqM.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
1
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
2
2
  import { createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, unref, withCtx } from "vue";
3
3
  import { toast } from "vue3-toastify";
4
4
  import { changePasswordSchema } from "@dragonmastery/dragoncore-shared";
@@ -83,4 +83,4 @@ var ChangePasswordPage_default = _sfc_main;
83
83
 
84
84
  //#endregion
85
85
  export { changePasswordSchemaWithMetadata as n, ChangePasswordPage_default as t };
86
- //# sourceMappingURL=ChangePasswordPage-Dy8lFUcI.js.map
86
+ //# sourceMappingURL=ChangePasswordPage-CR91NZP4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordPage-Dy8lFUcI.js","names":[],"sources":["../src/slices/user/features/change_password/changePasswordSchema.ts","../src/slices/user/features/change_password/ChangePasswordPage.vue"],"sourcesContent":["import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { changePasswordSchema } from '@dragonmastery/dragoncore-shared';\nimport { z } from 'zod';\n\n// Define the login form type\nexport type ChangePasswordForm = z.infer<typeof changePasswordSchema>;\n\n// Enhance the schema with metadata\nexport const changePasswordSchemaWithMetadata = withMetadata(\n changePasswordSchema,\n 'changePasswordSchema',\n {\n 'passwords.current_password': {\n inputType: 'password',\n placeholder: 'Enter current password',\n helpText: 'Enter your current password',\n autocomplete: 'current-password',\n },\n\n 'passwords.new_password': {\n inputType: 'password',\n placeholder: 'Enter new password',\n helpText: 'Enter your new password',\n },\n 'passwords.new_password_confirm': {\n inputType: 'password',\n placeholder: 'Confirm new password',\n helpText: 'Confirm your new password',\n },\n },\n);\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Change Password</h1>\n\n <ZiniaForm @handle-submit=\"handleSubmit\" @success=\"handleSuccess\" @error=\"handleError\">\n <!-- hidden username -->\n <input type=\"text\" class=\"hidden\" autocomplete=\"username\" name=\"username\" />\n <zinia.PasswordsCurrentPasswordField />\n <zinia.PasswordsNewPasswordField />\n <zinia.PasswordsNewPasswordConfirmField />\n\n <ZiniaSubmitButton submitText=\"Change Password\" submittingText=\"Changing Password...\" />\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { toast } from 'vue3-toastify';\nimport { z } from 'zod';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { changePasswordSchemaWithMetadata } from './changePasswordSchema';\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(\n changePasswordSchemaWithMetadata,\n {\n storeName: 'change-password-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n },\n);\n\nconst { mutate: changePasswordMutate } = useMutation(\n (api, input: z.infer<typeof changePasswordSchemaWithMetadata>) =>\n api.passwordReset.changePassword(input),\n);\n\n// Handle form submission\nconst handleSubmit = async (data: z.infer<typeof changePasswordSchemaWithMetadata>) => {\n const result = await changePasswordMutate(data);\n if (!result?.ok) throw new Error('Failed to change password');\n return result;\n};\n\n// Handle success\nconst handleSuccess = async (_: { ok: boolean }) => {\n form.reset({\n passwords: {\n current_password: '',\n new_password: '',\n new_password_confirm: '',\n },\n });\n toast.success('Password changed successfully!');\n};\n\n// Handle error\nconst handleError = (error: any) => {\n toast.error(error.message || 'Failed to change password');\n};\n</script>\n"],"mappings":";;;;;;;AAQA,MAAa,mCAAmC,aAC9C,sBACA,wBACA;CACE,8BAA8B;EAC5B,WAAW;EACX,aAAa;EACb,UAAU;EACV,cAAc;EACf;CAED,0BAA0B;EACxB,WAAW;EACX,aAAa;EACb,UAAU;EACX;CACD,kCAAkC;EAChC,WAAW;EACX,aAAa;EACb,UAAU;EACX;CACF,CACF;;;;;;;;ECND,MAAM,EAAE,MAAM,OAAO,WAAW,sBAAsB,QACpD,kCACA;GACE,WAAW;GACX,uBAAuB;GACvB,aAAa;GACd,CACF;EAED,MAAM,EAAE,QAAQ,yBAAyB,aACtC,KAAK,UACJ,IAAI,cAAc,eAAe,MAAM,CAC1C;EAGD,MAAM,eAAe,OAAO,SAA2D;GACrF,MAAM,SAAS,MAAM,qBAAqB,KAAK;AAC/C,OAAI,CAAC,QAAQ,GAAI,OAAM,IAAI,MAAM,4BAA4B;AAC7D,UAAO;;EAIT,MAAM,gBAAgB,OAAO,MAAuB;AAClD,QAAK,MAAM,EACT,WAAW;IACT,kBAAkB;IAClB,cAAc;IACd,sBAAsB;IACvB,EACF,CAAC;AACF,SAAM,QAAQ,iCAAiC;;EAIjD,MAAM,eAAe,UAAe;AAClC,SAAM,MAAM,MAAM,WAAW,4BAA4B;;;uBA1DzD,mBAYM,OAZN,YAYM,CAAA,OAAA,OAAA,OAAA,KAXJ,mBAAoE,MAAA,EAAhE,OAAM,uCAAqC,EAAC,mBAAe,GAAA,GAE/D,YAQY,MAAA,UAAA,EAAA;IARA,gBAAe;IAAe,WAAS;IAAgB,SAAO;;2BAChD;KAAxB,mBAAA,oBAAwB;+BACxB,mBAA4E,SAAA;MAArE,MAAK;MAAO,OAAM;MAAS,cAAa;MAAW,MAAK;;KAC/D,YAAuC,MAAA,MAAA,CAAA,8BAAA;KACvC,YAAmC,MAAA,MAAA,CAAA,0BAAA;KACnC,YAA0C,MAAA,MAAA,CAAA,iCAAA;KAE1C,YAAwF,MAAA,kBAAA,EAAA;MAArE,YAAW;MAAkB,gBAAe"}
1
+ {"version":3,"file":"ChangePasswordPage-CR91NZP4.js","names":[],"sources":["../src/slices/user/features/change_password/changePasswordSchema.ts","../src/slices/user/features/change_password/ChangePasswordPage.vue"],"sourcesContent":["import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { changePasswordSchema } from '@dragonmastery/dragoncore-shared';\nimport { z } from 'zod';\n\n// Define the login form type\nexport type ChangePasswordForm = z.infer<typeof changePasswordSchema>;\n\n// Enhance the schema with metadata\nexport const changePasswordSchemaWithMetadata = withMetadata(\n changePasswordSchema,\n 'changePasswordSchema',\n {\n 'passwords.current_password': {\n inputType: 'password',\n placeholder: 'Enter current password',\n helpText: 'Enter your current password',\n autocomplete: 'current-password',\n },\n\n 'passwords.new_password': {\n inputType: 'password',\n placeholder: 'Enter new password',\n helpText: 'Enter your new password',\n },\n 'passwords.new_password_confirm': {\n inputType: 'password',\n placeholder: 'Confirm new password',\n helpText: 'Confirm your new password',\n },\n },\n);\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Change Password</h1>\n\n <ZiniaForm @handle-submit=\"handleSubmit\" @success=\"handleSuccess\" @error=\"handleError\">\n <!-- hidden username -->\n <input type=\"text\" class=\"hidden\" autocomplete=\"username\" name=\"username\" />\n <zinia.PasswordsCurrentPasswordField />\n <zinia.PasswordsNewPasswordField />\n <zinia.PasswordsNewPasswordConfirmField />\n\n <ZiniaSubmitButton submitText=\"Change Password\" submittingText=\"Changing Password...\" />\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { toast } from 'vue3-toastify';\nimport { z } from 'zod';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { changePasswordSchemaWithMetadata } from './changePasswordSchema';\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(\n changePasswordSchemaWithMetadata,\n {\n storeName: 'change-password-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n },\n);\n\nconst { mutate: changePasswordMutate } = useMutation(\n (api, input: z.infer<typeof changePasswordSchemaWithMetadata>) =>\n api.passwordReset.changePassword(input),\n);\n\n// Handle form submission\nconst handleSubmit = async (data: z.infer<typeof changePasswordSchemaWithMetadata>) => {\n const result = await changePasswordMutate(data);\n if (!result?.ok) throw new Error('Failed to change password');\n return result;\n};\n\n// Handle success\nconst handleSuccess = async (_: { ok: boolean }) => {\n form.reset({\n passwords: {\n current_password: '',\n new_password: '',\n new_password_confirm: '',\n },\n });\n toast.success('Password changed successfully!');\n};\n\n// Handle error\nconst handleError = (error: any) => {\n toast.error(error.message || 'Failed to change password');\n};\n</script>\n"],"mappings":";;;;;;;AAQA,MAAa,mCAAmC,aAC9C,sBACA,wBACA;CACE,8BAA8B;EAC5B,WAAW;EACX,aAAa;EACb,UAAU;EACV,cAAc;EACf;CAED,0BAA0B;EACxB,WAAW;EACX,aAAa;EACb,UAAU;EACX;CACD,kCAAkC;EAChC,WAAW;EACX,aAAa;EACb,UAAU;EACX;CACF,CACF;;;;;;;;ECND,MAAM,EAAE,MAAM,OAAO,WAAW,sBAAsB,QACpD,kCACA;GACE,WAAW;GACX,uBAAuB;GACvB,aAAa;GACd,CACF;EAED,MAAM,EAAE,QAAQ,yBAAyB,aACtC,KAAK,UACJ,IAAI,cAAc,eAAe,MAAM,CAC1C;EAGD,MAAM,eAAe,OAAO,SAA2D;GACrF,MAAM,SAAS,MAAM,qBAAqB,KAAK;AAC/C,OAAI,CAAC,QAAQ,GAAI,OAAM,IAAI,MAAM,4BAA4B;AAC7D,UAAO;;EAIT,MAAM,gBAAgB,OAAO,MAAuB;AAClD,QAAK,MAAM,EACT,WAAW;IACT,kBAAkB;IAClB,cAAc;IACd,sBAAsB;IACvB,EACF,CAAC;AACF,SAAM,QAAQ,iCAAiC;;EAIjD,MAAM,eAAe,UAAe;AAClC,SAAM,MAAM,MAAM,WAAW,4BAA4B;;;uBA1DzD,mBAYM,OAZN,YAYM,CAAA,OAAA,OAAA,OAAA,KAXJ,mBAAoE,MAAA,EAAhE,OAAM,uCAAqC,EAAC,mBAAe,GAAA,GAE/D,YAQY,MAAA,UAAA,EAAA;IARA,gBAAe;IAAe,WAAS;IAAgB,SAAO;;2BAChD;KAAxB,mBAAA,oBAAwB;+BACxB,mBAA4E,SAAA;MAArE,MAAK;MAAO,OAAM;MAAS,cAAa;MAAW,MAAK;;KAC/D,YAAuC,MAAA,MAAA,CAAA,8BAAA;KACvC,YAAmC,MAAA,MAAA,CAAA,0BAAA;KACnC,YAA0C,MAAA,MAAA,CAAA,iCAAA;KAE1C,YAAwF,MAAA,kBAAA,EAAA;MAArE,YAAW;MAAkB,gBAAe"}
@@ -0,0 +1,7 @@
1
+ import "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import "./useMutation-BXSu7_-s.js";
5
+ import { t as ChangePasswordPage_default } from "./ChangePasswordPage-CR91NZP4.js";
6
+
7
+ export { ChangePasswordPage_default as default };
@@ -0,0 +1,274 @@
1
+ import { o as useUserSessionStore } from "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
5
+ import { t as useQuery } from "./useQuery-DownvLRA.js";
6
+ import { r as getValidReturnUrl } from "./useReturnUrl-DnezAxBA.js";
7
+ import { n as ExternalLinkIcon_default, t as useAuthFlowNextStep } from "./useAuthFlowNextStep-zlvxflBZ.js";
8
+ import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-Df8-CJGV.js";
9
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, nextTick, openBlock, ref, renderSlot, toDisplayString, unref, watch } from "vue";
10
+ import { useRoute, useRouter } from "vue-router";
11
+ import DOMPurify from "dompurify";
12
+ import { marked } from "marked";
13
+
14
+ //#region src/slices/auth/features/shared/ConsentFlowStep.vue
15
+ const _hoisted_1$1 = { class: "space-y-6" };
16
+ const _hoisted_2$1 = { class: "text-center space-y-1" };
17
+ const _hoisted_3$1 = { class: "text-2xl font-bold" };
18
+ const _hoisted_4$1 = { class: "text-base-content/80" };
19
+ const _hoisted_5 = {
20
+ key: 0,
21
+ class: "alert alert-error flex flex-col gap-2"
22
+ };
23
+ const _hoisted_6 = {
24
+ key: 1,
25
+ class: "text-sm text-base-content/70 mb-2"
26
+ };
27
+ const _hoisted_7 = ["data-consent-type"];
28
+ const _hoisted_8 = ["innerHTML"];
29
+ const _hoisted_9 = { class: "flex justify-center" };
30
+ const _hoisted_10 = ["href"];
31
+ const _hoisted_11 = { class: "flex flex-col gap-5 items-center" };
32
+ const _hoisted_12 = ["disabled"];
33
+ const _hoisted_13 = ["disabled"];
34
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35
+ __name: "ConsentFlowStep",
36
+ props: {
37
+ config: {},
38
+ currentStep: {},
39
+ totalSteps: {},
40
+ submitting: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ submitError: { default: null },
45
+ declining: {
46
+ type: Boolean,
47
+ default: false
48
+ },
49
+ acceptLabel: { default: "Accept and continue" },
50
+ submitAcceptLabel: { default: "Submitting..." },
51
+ declineLabel: { default: "Decline" },
52
+ declineSubmittingLabel: { default: "Returning..." },
53
+ introText: { default: "Please read the full document before accepting. Scroll to the bottom when you've finished reading." }
54
+ },
55
+ emits: ["accept", "decline"],
56
+ setup(__props, { emit: __emit }) {
57
+ const props = __props;
58
+ const emit = __emit;
59
+ function retry() {
60
+ emit("accept");
61
+ }
62
+ const displayContent = computed(() => props.config.content ?? null);
63
+ const needsScroll = computed(() => Boolean(displayContent.value));
64
+ const hasScrolledToBottom = ref(!needsScroll.value);
65
+ const scrollEl = ref(null);
66
+ function setScrollRef(el) {
67
+ scrollEl.value = el instanceof HTMLElement ? el : null;
68
+ }
69
+ watch(() => props.config, (config) => {
70
+ hasScrolledToBottom.value = !(config?.content ?? null);
71
+ nextTick(() => {
72
+ scrollEl.value?.scrollTo(0, 0);
73
+ });
74
+ }, { immediate: true });
75
+ watch(displayContent, (content) => {
76
+ hasScrolledToBottom.value = !content;
77
+ nextTick(() => {
78
+ scrollEl.value?.scrollTo(0, 0);
79
+ });
80
+ });
81
+ function renderMarkdown(content) {
82
+ const html = marked.parse(content);
83
+ return DOMPurify.sanitize(html, {
84
+ ALLOWED_TAGS: [
85
+ "p",
86
+ "br",
87
+ "strong",
88
+ "em",
89
+ "u",
90
+ "a",
91
+ "ul",
92
+ "ol",
93
+ "li",
94
+ "h1",
95
+ "h2",
96
+ "h3",
97
+ "h4",
98
+ "blockquote",
99
+ "code",
100
+ "pre",
101
+ "hr"
102
+ ],
103
+ ALLOWED_ATTR: [
104
+ "href",
105
+ "target",
106
+ "rel"
107
+ ]
108
+ });
109
+ }
110
+ function checkScrolledToBottom() {
111
+ const el = scrollEl.value;
112
+ if (!el) return;
113
+ const { scrollTop, scrollHeight, clientHeight } = el;
114
+ if (scrollHeight - scrollTop - clientHeight < 10) hasScrolledToBottom.value = true;
115
+ }
116
+ function onScroll() {
117
+ checkScrolledToBottom();
118
+ }
119
+ return (_ctx, _cache) => {
120
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
121
+ createElementVNode("div", _hoisted_2$1, [
122
+ createElementVNode("h1", _hoisted_3$1, toDisplayString(__props.config.label), 1),
123
+ createElementVNode("p", _hoisted_4$1, "Step " + toDisplayString(__props.currentStep) + " of " + toDisplayString(__props.totalSteps), 1),
124
+ _cache[2] || (_cache[2] = createElementVNode("p", { class: "text-base-content/70 text-sm" }, "Review and accept", -1))
125
+ ]),
126
+ __props.submitError ? (openBlock(), createElementBlock("div", _hoisted_5, [renderSlot(_ctx.$slots, "error-recovery", {
127
+ retry,
128
+ submitting: __props.submitting
129
+ }, () => [createElementVNode("span", null, toDisplayString(__props.submitError), 1), _cache[3] || (_cache[3] = createElementVNode("p", { class: "text-sm opacity-90" }, "You can try again using the buttons below.", -1))])])) : createCommentVNode("v-if", true),
130
+ displayContent.value ? (openBlock(), createElementBlock("p", _hoisted_6, toDisplayString(__props.introText), 1)) : createCommentVNode("v-if", true),
131
+ createCommentVNode(" Scrollable terms box when admin provides inline content "),
132
+ displayContent.value ? (openBlock(), createElementBlock("div", {
133
+ key: __props.config.type,
134
+ ref: (el) => setScrollRef(el),
135
+ class: "border border-base-300 rounded-lg px-3 py-4 sm:p-4 bg-base-100 overflow-y-auto overflow-x-hidden min-h-80 max-h-[min(32rem,70vh)] w-full min-w-0",
136
+ "data-consent-type": __props.config.type,
137
+ onScroll
138
+ }, [createElementVNode("div", {
139
+ class: "prose prose-sm prose-max-w-none max-w-full min-w-0 text-sm prose-headings:font-semibold prose-p:my-2",
140
+ innerHTML: renderMarkdown(displayContent.value)
141
+ }, null, 8, _hoisted_8)], 40, _hoisted_7)) : __props.config.url ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [createCommentVNode(" Link-only when admin does not provide content "), createElementVNode("div", _hoisted_9, [createElementVNode("a", {
142
+ href: __props.config.url,
143
+ target: "_blank",
144
+ rel: "noopener noreferrer",
145
+ class: "link link-accent inline-flex items-center gap-1.5"
146
+ }, [createTextVNode(" View " + toDisplayString(__props.config.label) + " ", 1), createVNode(ExternalLinkIcon_default)], 8, _hoisted_10)])], 2112)) : createCommentVNode("v-if", true),
147
+ createElementVNode("div", _hoisted_11, [createElementVNode("button", {
148
+ type: "button",
149
+ class: "btn btn-primary max-w-xs",
150
+ disabled: (needsScroll.value ? !hasScrolledToBottom.value : false) || __props.submitting,
151
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("accept"))
152
+ }, toDisplayString(__props.submitting ? __props.submitAcceptLabel : __props.acceptLabel), 9, _hoisted_12), createElementVNode("button", {
153
+ type: "button",
154
+ class: "btn btn-outline btn-sm btn-error",
155
+ disabled: __props.declining || __props.submitting,
156
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("decline"))
157
+ }, toDisplayString(__props.declining ? __props.declineSubmittingLabel : __props.declineLabel), 9, _hoisted_13)])
158
+ ]);
159
+ };
160
+ }
161
+ });
162
+ var ConsentFlowStep_default = _sfc_main$1;
163
+
164
+ //#endregion
165
+ //#region src/slices/auth/features/consent_required/ConsentRequired.vue
166
+ const _hoisted_1 = { class: "w-full max-w-2xl mx-auto mb-8 sm:mb-10 bg-base-200 px-3 py-4 sm:px-6 sm:py-6 rounded-xl shadow-md min-w-0" };
167
+ const _hoisted_2 = {
168
+ key: 0,
169
+ class: "alert alert-error mb-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2"
170
+ };
171
+ const _hoisted_3 = {
172
+ key: 1,
173
+ class: "text-center"
174
+ };
175
+ const _hoisted_4 = {
176
+ key: 2,
177
+ class: "space-y-6"
178
+ };
179
+ const _sfc_main = /* @__PURE__ */ defineComponent({
180
+ __name: "ConsentRequired",
181
+ setup(__props) {
182
+ const sessionStore = useUserSessionStore();
183
+ const { getNextStep } = useAuthFlowNextStep();
184
+ const router = useRouter();
185
+ const route = useRoute();
186
+ const { data: pendingConsents, loading, error: loadError, refetch } = useQuery((api) => api.users.getPendingConsents(), { skipAuthCheck: false });
187
+ const loadErrorMessage = computed(() => loadError.value ? extractRpcErrorMessage(loadError.value, "Failed to load consents.") : "");
188
+ const currentStep = ref(1);
189
+ const totalSteps = computed(() => (pendingConsents.value ?? []).length);
190
+ const currentConfig = computed(() => (pendingConsents.value ?? [])[currentStep.value - 1] ?? null);
191
+ const declining = ref(false);
192
+ const submitting = ref(false);
193
+ const submitError = ref(null);
194
+ function getErrorMessage(error) {
195
+ if (error instanceof Error && error.message) return error.message;
196
+ if (error && typeof error === "object" && "message" in error && typeof error.message === "string") return error.message;
197
+ return "Failed to record consents. Please try again.";
198
+ }
199
+ const { mutate: recordConsentsMutate } = useMutation((api, input) => api.users.recordConsents(input), { skipAuthCheck: false });
200
+ async function handleAccept() {
201
+ const config = currentConfig.value;
202
+ const consents = pendingConsents.value ?? [];
203
+ if (!config || consents.length === 0) return;
204
+ submitError.value = null;
205
+ const acceptancesSoFar = {};
206
+ for (let i = 0; i < currentStep.value; i++) {
207
+ const c = consents[i];
208
+ if (c) acceptancesSoFar[c.type] = true;
209
+ }
210
+ if (currentStep.value >= totalSteps.value) {
211
+ submitting.value = true;
212
+ try {
213
+ await recordConsentsMutate({ acceptances: acceptancesSoFar });
214
+ await sessionStore.refreshToken();
215
+ window.scrollTo(0, 0);
216
+ const targetUrl = getNextStep();
217
+ await router.push(targetUrl);
218
+ } catch (err) {
219
+ submitError.value = getErrorMessage(err);
220
+ } finally {
221
+ submitting.value = false;
222
+ }
223
+ return;
224
+ }
225
+ currentStep.value++;
226
+ nextTick(() => window.scrollTo(0, 0));
227
+ }
228
+ async function handleDecline() {
229
+ declining.value = true;
230
+ try {
231
+ sessionStore.clearSession();
232
+ await router.push("/auth/login");
233
+ } finally {
234
+ declining.value = false;
235
+ }
236
+ }
237
+ watch([pendingConsents, loading], ([consents, isLoading]) => {
238
+ if (!isLoading && Array.isArray(consents) && consents.length === 0) router.push(getValidReturnUrl(route, "/"));
239
+ }, { immediate: true });
240
+ return (_ctx, _cache) => {
241
+ return openBlock(), createElementBlock("div", _hoisted_1, [unref(loadError) ? (openBlock(), createElementBlock("div", _hoisted_2, [createElementVNode("span", null, toDisplayString(loadErrorMessage.value), 1), createElementVNode("button", {
242
+ type: "button",
243
+ class: "btn btn-sm btn-ghost self-start sm:self-auto",
244
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(refetch) && unref(refetch)(...args))
245
+ }, " Try again ")])) : createCommentVNode("v-if", true), unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_3, [..._cache[1] || (_cache[1] = [createElementVNode("p", { class: "text-base-content/80" }, "Loading...", -1)])])) : currentConfig.value ? (openBlock(), createElementBlock("div", _hoisted_4, [createVNode(ConsentFlowStep_default, {
246
+ config: currentConfig.value,
247
+ "current-step": currentStep.value,
248
+ "total-steps": totalSteps.value,
249
+ submitting: submitting.value,
250
+ "submit-error": submitError.value,
251
+ declining: declining.value,
252
+ "accept-label": "Accept and continue",
253
+ "submit-accept-label": "Saving...",
254
+ "decline-label": "Decline and log out",
255
+ "decline-submitting-label": "Logging out...",
256
+ "intro-text": "Please read the full document before accepting. Scroll to the bottom when you've finished reading. You can decline at any time; if you decline, you will not have access to the application and will be logged out.",
257
+ onAccept: handleAccept,
258
+ onDecline: handleDecline
259
+ }, null, 8, [
260
+ "config",
261
+ "current-step",
262
+ "total-steps",
263
+ "submitting",
264
+ "submit-error",
265
+ "declining"
266
+ ])])) : createCommentVNode("v-if", true)]);
267
+ };
268
+ }
269
+ });
270
+ var ConsentRequired_default = _sfc_main;
271
+
272
+ //#endregion
273
+ export { ConsentRequired_default as default };
274
+ //# sourceMappingURL=ConsentRequired-DtUwfpk0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsentRequired-DtUwfpk0.js","names":["$emit","acceptancesSoFar: Record<string, boolean>"],"sources":["../src/slices/auth/features/shared/ConsentFlowStep.vue","../src/slices/auth/features/consent_required/ConsentRequired.vue"],"sourcesContent":["<template>\n <div class=\"space-y-6\">\n <div class=\"text-center space-y-1\">\n <h1 class=\"text-2xl font-bold\">{{ config.label }}</h1>\n <p class=\"text-base-content/80\">Step {{ currentStep }} of {{ totalSteps }}</p>\n <p class=\"text-base-content/70 text-sm\">Review and accept</p>\n </div>\n\n <div v-if=\"submitError\" class=\"alert alert-error flex flex-col gap-2\">\n <slot name=\"error-recovery\" :retry=\"retry\" :submitting=\"submitting\">\n <span>{{ submitError }}</span>\n <p class=\"text-sm opacity-90\">You can try again using the buttons below.</p>\n </slot>\n </div>\n\n <p v-if=\"displayContent\" class=\"text-sm text-base-content/70 mb-2\">\n {{ introText }}\n </p>\n\n <!-- Scrollable terms box when admin provides inline content -->\n <div\n v-if=\"displayContent\"\n :key=\"config.type\"\n :ref=\"(el) => setScrollRef(el)\"\n class=\"border border-base-300 rounded-lg px-3 py-4 sm:p-4 bg-base-100 overflow-y-auto overflow-x-hidden min-h-80 max-h-[min(32rem,70vh)] w-full min-w-0\"\n :data-consent-type=\"config.type\"\n @scroll=\"onScroll\"\n >\n <div\n class=\"prose prose-sm prose-max-w-none max-w-full min-w-0 text-sm prose-headings:font-semibold prose-p:my-2\"\n v-html=\"renderMarkdown(displayContent)\"\n />\n </div>\n\n <!-- Link-only when admin does not provide content -->\n <div v-else-if=\"config.url\" class=\"flex justify-center\">\n <a\n :href=\"config.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"link link-accent inline-flex items-center gap-1.5\"\n >\n View {{ config.label }}\n <ExternalLinkIcon />\n </a>\n </div>\n\n <div class=\"flex flex-col gap-5 items-center\">\n <button\n type=\"button\"\n class=\"btn btn-primary max-w-xs\"\n :disabled=\"(needsScroll ? !hasScrolledToBottom : false) || submitting\"\n @click=\"$emit('accept')\"\n >\n {{ submitting ? submitAcceptLabel : acceptLabel }}\n </button>\n <button\n type=\"button\"\n class=\"btn btn-outline btn-sm btn-error\"\n :disabled=\"declining || submitting\"\n @click=\"$emit('decline')\"\n >\n {{ declining ? declineSubmittingLabel : declineLabel }}\n </button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type { SignupConsentConfigDto } from '@dragonmastery/dragoncore-shared';\nimport DOMPurify from 'dompurify';\nimport { marked } from 'marked';\nimport { computed, nextTick, ref, watch } from 'vue';\nimport ExternalLinkIcon from '../../../../components/ui/ExternalLinkIcon.vue';\n\nconst props = withDefaults(\n defineProps<{\n config: SignupConsentConfigDto;\n currentStep: number;\n totalSteps: number;\n submitting?: boolean;\n submitError?: string | null;\n declining?: boolean;\n /** e.g. \"Accept and continue\" */\n acceptLabel?: string;\n /** e.g. \"Submitting...\" or \"Saving...\" */\n submitAcceptLabel?: string;\n /** e.g. \"Decline\" or \"Decline and log out\" */\n declineLabel?: string;\n /** e.g. \"Returning...\" or \"Logging out...\" */\n declineSubmittingLabel?: string;\n /** Intro text when content is shown, e.g. \"Please read the full document before accepting...\" */\n introText?: string;\n }>(),\n {\n submitting: false,\n submitError: null,\n declining: false,\n acceptLabel: 'Accept and continue',\n submitAcceptLabel: 'Submitting...',\n declineLabel: 'Decline',\n declineSubmittingLabel: 'Returning...',\n introText:\n \"Please read the full document before accepting. Scroll to the bottom when you've finished reading.\",\n },\n);\n\nconst emit = defineEmits<{\n accept: [];\n decline: [];\n}>();\n\nfunction retry() {\n emit('accept');\n}\n\nconst displayContent = computed(() => props.config.content ?? null);\n\nconst needsScroll = computed(() => Boolean(displayContent.value));\n\nconst hasScrolledToBottom = ref(!needsScroll.value);\nconst scrollEl = ref<HTMLElement | null>(null);\n\nfunction setScrollRef(el: unknown) {\n scrollEl.value = el instanceof HTMLElement ? el : null;\n}\n\nwatch(\n () => props.config,\n (config) => {\n hasScrolledToBottom.value = !(config?.content ?? null);\n nextTick(() => {\n scrollEl.value?.scrollTo(0, 0);\n });\n },\n { immediate: true },\n);\n\nwatch(displayContent, (content) => {\n hasScrolledToBottom.value = !content;\n nextTick(() => {\n scrollEl.value?.scrollTo(0, 0);\n });\n});\n\nfunction renderMarkdown(content: string): string {\n const html = marked.parse(content) as string;\n return DOMPurify.sanitize(html, {\n ALLOWED_TAGS: [\n 'p',\n 'br',\n 'strong',\n 'em',\n 'u',\n 'a',\n 'ul',\n 'ol',\n 'li',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'blockquote',\n 'code',\n 'pre',\n 'hr',\n ],\n ALLOWED_ATTR: ['href', 'target', 'rel'],\n });\n}\n\nfunction checkScrolledToBottom() {\n const el = scrollEl.value;\n if (!el) return;\n const { scrollTop, scrollHeight, clientHeight } = el;\n const atBottom = scrollHeight - scrollTop - clientHeight < 10;\n if (atBottom) {\n hasScrolledToBottom.value = true;\n }\n}\n\nfunction onScroll() {\n checkScrolledToBottom();\n}\n</script>\n","<template>\n <div\n class=\"w-full max-w-2xl mx-auto mb-8 sm:mb-10 bg-base-200 px-3 py-4 sm:px-6 sm:py-6 rounded-xl shadow-md min-w-0\"\n >\n <div\n v-if=\"loadError\"\n class=\"alert alert-error mb-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2\"\n >\n <span>{{ loadErrorMessage }}</span>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-ghost self-start sm:self-auto\"\n @click=\"refetch\"\n >\n Try again\n </button>\n </div>\n\n <div v-if=\"loading\" class=\"text-center\">\n <p class=\"text-base-content/80\">Loading...</p>\n </div>\n\n <div v-else-if=\"currentConfig\" class=\"space-y-6\">\n <ConsentFlowStep\n :config=\"currentConfig\"\n :current-step=\"currentStep\"\n :total-steps=\"totalSteps\"\n :submitting=\"submitting\"\n :submit-error=\"submitError\"\n :declining=\"declining\"\n accept-label=\"Accept and continue\"\n submit-accept-label=\"Saving...\"\n decline-label=\"Decline and log out\"\n decline-submitting-label=\"Logging out...\"\n intro-text=\"Please read the full document before accepting. Scroll to the bottom when you've finished reading. You can decline at any time; if you decline, you will not have access to the application and will be logged out.\"\n @accept=\"handleAccept\"\n @decline=\"handleDecline\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type { RecordConsentsInputDto } from '@dragonmastery/dragoncore-shared';\nimport { computed, nextTick, ref, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { useAuthFlowNextStep } from '../../../../composables/useAuthFlowNextStep';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useQuery } from '../../../../composables/useQuery';\nimport { useUserSessionStore } from '../../../../composables/useUserSessionStore';\nimport { extractRpcErrorMessage } from '../../../../utils/extractRpcErrorMessage';\nimport { getValidReturnUrl } from '../../../../utils/useReturnUrl';\nimport ConsentFlowStep from '../shared/ConsentFlowStep.vue';\n\nconst sessionStore = useUserSessionStore();\nconst { getNextStep } = useAuthFlowNextStep();\nconst router = useRouter();\nconst route = useRoute();\n\nconst {\n data: pendingConsents,\n loading,\n error: loadError,\n refetch,\n} = useQuery((api) => api.users.getPendingConsents(), { skipAuthCheck: false });\n\nconst loadErrorMessage = computed(() =>\n loadError.value ? extractRpcErrorMessage(loadError.value, 'Failed to load consents.') : '',\n);\n\nconst currentStep = ref(1);\nconst totalSteps = computed(() => (pendingConsents.value ?? []).length);\nconst currentConfig = computed(\n () => (pendingConsents.value ?? [])[currentStep.value - 1] ?? null,\n);\n\nconst declining = ref(false);\nconst submitting = ref(false);\nconst submitError = ref<string | null>(null);\n\nfunction getErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message) return error.message;\n if (\n error &&\n typeof error === 'object' &&\n 'message' in error &&\n typeof (error as { message: unknown }).message === 'string'\n ) {\n return (error as { message: string }).message;\n }\n return 'Failed to record consents. Please try again.';\n}\n\nconst { mutate: recordConsentsMutate } = useMutation(\n (api, input: RecordConsentsInputDto) => api.users.recordConsents(input),\n { skipAuthCheck: false },\n);\n\nasync function handleAccept() {\n const config = currentConfig.value;\n const consents = pendingConsents.value ?? [];\n if (!config || consents.length === 0) return;\n\n submitError.value = null;\n\n const acceptancesSoFar: Record<string, boolean> = {};\n for (let i = 0; i < currentStep.value; i++) {\n const c = consents[i];\n if (c) acceptancesSoFar[c.type] = true;\n }\n\n if (currentStep.value >= totalSteps.value) {\n submitting.value = true;\n try {\n await recordConsentsMutate({ acceptances: acceptancesSoFar });\n await sessionStore.refreshToken();\n window.scrollTo(0, 0);\n const targetUrl = getNextStep();\n await router.push(targetUrl);\n } catch (err) {\n submitError.value = getErrorMessage(err);\n } finally {\n submitting.value = false;\n }\n return;\n }\n\n currentStep.value++;\n nextTick(() => window.scrollTo(0, 0));\n}\n\nasync function handleDecline() {\n declining.value = true;\n try {\n sessionStore.clearSession();\n await router.push('/auth/login');\n } finally {\n declining.value = false;\n }\n}\n\n// If no pending consents (e.g. already completed or consent disabled), redirect\nwatch(\n [pendingConsents, loading],\n ([consents, isLoading]) => {\n if (!isLoading && Array.isArray(consents) && consents.length === 0) {\n router.push(getValidReturnUrl(route, '/'));\n }\n },\n { immediate: true },\n);\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import "./useMutation-BXSu7_-s.js";
5
+ import "./FieldsetSection-Br_sygWW.js";
6
+ import "./userAuthorized-qmzUYDa-.js";
7
+ import "./teamMetadata-NTjPt89L.js";
8
+ import "./team_memberRoutes-mO1f-Y4o.js";
9
+ import "./teamRoutes-A7plQKi0.js";
10
+ import { t as CreateTeamForm_default } from "./CreateTeamForm-BQewI0Gn.js";
11
+
12
+ export { CreateTeamForm_default as default };
@@ -1,7 +1,7 @@
1
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
1
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
2
2
  import { t as FieldsetSection_default } from "./FieldsetSection-Br_sygWW.js";
3
3
  import { t as teamCreateSchemaWithMetadata } from "./teamMetadata-NTjPt89L.js";
4
- import { t as teamPaths } from "./teamRoutes-CFDsHPkd.js";
4
+ import { t as teamPaths } from "./teamRoutes-A7plQKi0.js";
5
5
  import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
6
6
  import { useRouter } from "vue-router";
7
7
  import { toast } from "vue3-toastify";
@@ -139,4 +139,4 @@ var CreateTeamForm_default = _sfc_main;
139
139
 
140
140
  //#endregion
141
141
  export { CreateTeamForm_default as t };
142
- //# sourceMappingURL=CreateTeamForm-B7MsOsiV.js.map
142
+ //# sourceMappingURL=CreateTeamForm-BQewI0Gn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTeamForm-B7MsOsiV.js","names":[],"sources":["../src/slices/team/CreateTeamForm.vue"],"sourcesContent":["<template>\n <div v-if=\"form.isLoading\" class=\"flex flex-col items-center justify-center p-8\">\n <div class=\"loading loading-spinner loading-lg\"></div>\n <p class=\"mt-4 text-lg\">Loading...</p>\n </div>\n <div v-else-if=\"form.loadError\" class=\"flex flex-col items-center justify-center p-8\">\n <p class=\"mt-4 text-lg\">{{ form.loadError }}</p>\n </div>\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Create Team\"\n subtitle=\"Create a new team\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Team Details\">\n <zinia.UniqueNameField placeholder=\"Enter unique name\" />\n <zinia.DisplayNameField placeholder=\"Enter display name\" />\n <zinia.LegalNameField placeholder=\"Enter legal name (optional)\" />\n </FieldsetSection>\n\n <FieldsetSection title=\"Description\">\n <zinia.DescriptionField placeholder=\"Enter team description\" />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.ContactNameField placeholder=\"Enter contact name\" />\n <zinia.ContactEmailField placeholder=\"Enter contact email\" />\n <zinia.ContactBusinessPhoneField placeholder=\"Enter business phone\" />\n <zinia.ContactMobilePhoneField placeholder=\"Enter mobile phone\" />\n <zinia.ContactTimeZoneField placeholder=\"Enter time zone\" />\n </FieldsetSection>\n\n <!-- Address Information -->\n <FieldsetSection title=\"Address\">\n <zinia.AddressFullField placeholder=\"Enter address\" />\n <zinia.AddressCityField placeholder=\"Enter city\" />\n <zinia.AddressZipField placeholder=\"Enter zip code\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.TwitterUsernameField placeholder=\"Enter Twitter username\" />\n <zinia.UrlField placeholder=\"Enter URL\" />\n </FieldsetSection>\n\n <!-- Branding -->\n <FieldsetSection title=\"Branding\">\n <zinia.LogoField placeholder=\"Enter logo URL\" />\n </FieldsetSection>\n\n <!-- Email Settings -->\n <FieldsetSection title=\"Email Settings\">\n <zinia.EmailSentFromField placeholder=\"Enter sent from email\" />\n <zinia.EmailReplyToField placeholder=\"Enter reply to email\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Create Team\" submittingText=\"Creating Team...\" />\n </div>\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n</template>\n\n<script setup lang=\"ts\">\nimport type { TeamCreateDto, TeamReadDto } from '@dragonmastery/dragoncore-shared';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport FieldsetSection from '../../components/ui/FieldsetSection.vue';\nimport { useMutation } from '../../composables/useMutation';\nimport { teamCreateSchemaWithMetadata } from './teamMetadata';\nimport { teamPaths } from './teamRoutes';\n\nconst router = useRouter();\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamCreateSchemaWithMetadata, {\n storeName: `create-team`,\n persistToLocalStorage: true,\n renderStyle: 'daisy_ui',\n initialValues: {\n unique_name: '',\n display_name: '',\n },\n});\n\n// Setup mutation for creating team\nconst { mutate: createTeam } = useMutation(\n (api, input: TeamCreateDto) => api.teams.createTeam(input),\n { invalidate: /^teams?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: TeamCreateDto) => {\n const createdTeam = await createTeam(formData);\n if (!createdTeam) {\n throw new Error('Failed to create team');\n }\n return createdTeam;\n};\n\n// Handle successful submission\nconst handleSuccess = async (createdTeam: TeamReadDto) => {\n clearSavedFormState();\n await router.push({\n name: teamPaths.view.name,\n params: { id: createdTeam.id },\n });\n toast.success(`Team \"${createdTeam.display_name}\" created successfully!`);\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreateTeamForm-BQewI0Gn.js","names":[],"sources":["../src/slices/team/CreateTeamForm.vue"],"sourcesContent":["<template>\n <div v-if=\"form.isLoading\" class=\"flex flex-col items-center justify-center p-8\">\n <div class=\"loading loading-spinner loading-lg\"></div>\n <p class=\"mt-4 text-lg\">Loading...</p>\n </div>\n <div v-else-if=\"form.loadError\" class=\"flex flex-col items-center justify-center p-8\">\n <p class=\"mt-4 text-lg\">{{ form.loadError }}</p>\n </div>\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Create Team\"\n subtitle=\"Create a new team\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Team Details\">\n <zinia.UniqueNameField placeholder=\"Enter unique name\" />\n <zinia.DisplayNameField placeholder=\"Enter display name\" />\n <zinia.LegalNameField placeholder=\"Enter legal name (optional)\" />\n </FieldsetSection>\n\n <FieldsetSection title=\"Description\">\n <zinia.DescriptionField placeholder=\"Enter team description\" />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.ContactNameField placeholder=\"Enter contact name\" />\n <zinia.ContactEmailField placeholder=\"Enter contact email\" />\n <zinia.ContactBusinessPhoneField placeholder=\"Enter business phone\" />\n <zinia.ContactMobilePhoneField placeholder=\"Enter mobile phone\" />\n <zinia.ContactTimeZoneField placeholder=\"Enter time zone\" />\n </FieldsetSection>\n\n <!-- Address Information -->\n <FieldsetSection title=\"Address\">\n <zinia.AddressFullField placeholder=\"Enter address\" />\n <zinia.AddressCityField placeholder=\"Enter city\" />\n <zinia.AddressZipField placeholder=\"Enter zip code\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.TwitterUsernameField placeholder=\"Enter Twitter username\" />\n <zinia.UrlField placeholder=\"Enter URL\" />\n </FieldsetSection>\n\n <!-- Branding -->\n <FieldsetSection title=\"Branding\">\n <zinia.LogoField placeholder=\"Enter logo URL\" />\n </FieldsetSection>\n\n <!-- Email Settings -->\n <FieldsetSection title=\"Email Settings\">\n <zinia.EmailSentFromField placeholder=\"Enter sent from email\" />\n <zinia.EmailReplyToField placeholder=\"Enter reply to email\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Create Team\" submittingText=\"Creating Team...\" />\n </div>\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n</template>\n\n<script setup lang=\"ts\">\nimport type { TeamCreateDto, TeamReadDto } from '@dragonmastery/dragoncore-shared';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport FieldsetSection from '../../components/ui/FieldsetSection.vue';\nimport { useMutation } from '../../composables/useMutation';\nimport { teamCreateSchemaWithMetadata } from './teamMetadata';\nimport { teamPaths } from './teamRoutes';\n\nconst router = useRouter();\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamCreateSchemaWithMetadata, {\n storeName: `create-team`,\n persistToLocalStorage: true,\n renderStyle: 'daisy_ui',\n initialValues: {\n unique_name: '',\n display_name: '',\n },\n});\n\n// Setup mutation for creating team\nconst { mutate: createTeam } = useMutation(\n (api, input: TeamCreateDto) => api.teams.createTeam(input),\n { invalidate: /^teams?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: TeamCreateDto) => {\n const createdTeam = await createTeam(formData);\n if (!createdTeam) {\n throw new Error('Failed to create team');\n }\n return createdTeam;\n};\n\n// Handle successful submission\nconst handleSuccess = async (createdTeam: TeamReadDto) => {\n clearSavedFormState();\n await router.push({\n name: teamPaths.view.name,\n params: { id: createdTeam.id },\n });\n toast.success(`Team \"${createdTeam.display_name}\" created successfully!`);\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
2
- import { t as useQuery } from "./useQuery-BzUGEOj0.js";
1
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
2
+ import { t as useQuery } from "./useQuery-DownvLRA.js";
3
3
  import { t as FieldsetSection_default } from "./FieldsetSection-Br_sygWW.js";
4
- import { t as teamMemberPaths } from "./team_memberRoutes-BgjY9Kwq.js";
4
+ import { t as teamMemberPaths } from "./team_memberRoutes-mO1f-Y4o.js";
5
5
  import { t as teamMemberCreateSchemaWithMetadata } from "./teamMemberMetadata-C4urCwBU.js";
6
6
  import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
7
7
  import { useRoute, useRouter } from "vue-router";
@@ -137,4 +137,4 @@ var CreateTeamMemberForm_default = _sfc_main;
137
137
 
138
138
  //#endregion
139
139
  export { CreateTeamMemberForm_default as t };
140
- //# sourceMappingURL=CreateTeamMemberForm-DeUyXnVa.js.map
140
+ //# sourceMappingURL=CreateTeamMemberForm-B3jxlAsC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTeamMemberForm-DeUyXnVa.js","names":[],"sources":["../src/slices/team/team_member/CreateTeamMemberForm.vue"],"sourcesContent":["<template>\n <div v-if=\"form.isLoading\" class=\"flex flex-col items-center justify-center p-8\">\n <div class=\"loading loading-spinner loading-lg\"></div>\n <p class=\"mt-4 text-lg\">Loading...</p>\n </div>\n <div v-else-if=\"form.loadError\" class=\"flex flex-col items-center justify-center p-8\">\n <p class=\"mt-4 text-lg\">{{ form.loadError }}</p>\n </div>\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Create Team Member\"\n subtitle=\"Add a new member to the team\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Member Details\">\n <zinia.UserIdField :select-options=\"form.extraData.users\" placeholder=\"Select user\" />\n <zinia.DisplayNameField placeholder=\"Enter display name (optional)\" />\n <zinia.RoleField />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.EmailAddressField placeholder=\"Enter email address (optional)\" />\n <zinia.BusinessPhoneField placeholder=\"Enter business phone (optional)\" />\n <zinia.MobilePhoneField placeholder=\"Enter mobile phone (optional)\" />\n <zinia.TimeZoneField placeholder=\"Enter time zone (optional)\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.WebsiteAddressField placeholder=\"Enter website address (optional)\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton\n submitText=\"Create Team Member\"\n submittingText=\"Creating Team Member...\"\n />\n </div>\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n</template>\n\n<script setup lang=\"ts\">\nimport FieldsetSection from '../../../components/ui/FieldsetSection.vue';\nimport { useMutation } from '../../../composables/useMutation';\nimport { useQuery } from '../../../composables/useQuery';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport type { z } from 'zod';\nimport { teamMemberCreateSchemaWithMetadata } from './teamMemberMetadata';\nimport { teamMemberPaths } from './team_memberRoutes';\n\nconst router = useRouter();\nconst route = useRoute();\nconst team_id = route.params.id as string;\n\n// Fetch users for selection\nconst {\n data: usersData,\n loading: usersLoading,\n error: usersError,\n} = useQuery((api) => api.users.getUsersForSelection(), {\n staleTime: 10 * 60 * 1000,\n});\n\nconst loadUsers = async () => {\n // Wait for query to complete\n while (usersLoading.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n\n if (usersError.value) {\n return [];\n }\n\n const users = usersData.value || [];\n\n // Transform to select options format: [{ value: id, label: email }]\n return users.map((user) => ({\n value: user.id,\n label: user.email,\n }));\n};\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamMemberCreateSchemaWithMetadata, {\n storeName: `create-team-member-${team_id}`,\n persistToLocalStorage: true,\n renderStyle: 'daisy_ui',\n initialValues: {},\n dataLoaders: {\n users: loadUsers,\n },\n});\n\n// Setup mutation for creating team member\nconst { mutate: createTeamMember } = useMutation(\n (api, input: any) => api.teamMembers.createTeamMember(input),\n { invalidate: /^team-members?:|^user:teams/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: z.infer<typeof teamMemberCreateSchemaWithMetadata>) => {\n const createdTeamMember = await createTeamMember({\n team_id: team_id,\n user_id: formData.user_id,\n role: formData.role,\n display_name: formData.display_name,\n business_phone: formData.business_phone,\n mobile_phone: formData.mobile_phone,\n email_address: formData.email_address,\n website_address: formData.website_address,\n time_zone: formData.time_zone,\n } as any);\n\n if (!createdTeamMember) {\n throw new Error('Failed to create team member');\n }\n\n return createdTeamMember;\n};\n\n// Handle successful submission\nconst handleSuccess = async (createdTeamMember: any) => {\n clearSavedFormState();\n await router.push({\n name: teamMemberPaths.list.name,\n params: { id: team_id },\n });\n toast.success(\n `Team member \"${createdTeamMember.display_name || createdTeamMember.id}\" created successfully!`,\n );\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreateTeamMemberForm-B3jxlAsC.js","names":[],"sources":["../src/slices/team/team_member/CreateTeamMemberForm.vue"],"sourcesContent":["<template>\n <div v-if=\"form.isLoading\" class=\"flex flex-col items-center justify-center p-8\">\n <div class=\"loading loading-spinner loading-lg\"></div>\n <p class=\"mt-4 text-lg\">Loading...</p>\n </div>\n <div v-else-if=\"form.loadError\" class=\"flex flex-col items-center justify-center p-8\">\n <p class=\"mt-4 text-lg\">{{ form.loadError }}</p>\n </div>\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Create Team Member\"\n subtitle=\"Add a new member to the team\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Member Details\">\n <zinia.UserIdField :select-options=\"form.extraData.users\" placeholder=\"Select user\" />\n <zinia.DisplayNameField placeholder=\"Enter display name (optional)\" />\n <zinia.RoleField />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.EmailAddressField placeholder=\"Enter email address (optional)\" />\n <zinia.BusinessPhoneField placeholder=\"Enter business phone (optional)\" />\n <zinia.MobilePhoneField placeholder=\"Enter mobile phone (optional)\" />\n <zinia.TimeZoneField placeholder=\"Enter time zone (optional)\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.WebsiteAddressField placeholder=\"Enter website address (optional)\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton\n submitText=\"Create Team Member\"\n submittingText=\"Creating Team Member...\"\n />\n </div>\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n</template>\n\n<script setup lang=\"ts\">\nimport FieldsetSection from '../../../components/ui/FieldsetSection.vue';\nimport { useMutation } from '../../../composables/useMutation';\nimport { useQuery } from '../../../composables/useQuery';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport type { z } from 'zod';\nimport { teamMemberCreateSchemaWithMetadata } from './teamMemberMetadata';\nimport { teamMemberPaths } from './team_memberRoutes';\n\nconst router = useRouter();\nconst route = useRoute();\nconst team_id = route.params.id as string;\n\n// Fetch users for selection\nconst {\n data: usersData,\n loading: usersLoading,\n error: usersError,\n} = useQuery((api) => api.users.getUsersForSelection(), {\n staleTime: 10 * 60 * 1000,\n});\n\nconst loadUsers = async () => {\n // Wait for query to complete\n while (usersLoading.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n\n if (usersError.value) {\n return [];\n }\n\n const users = usersData.value || [];\n\n // Transform to select options format: [{ value: id, label: email }]\n return users.map((user) => ({\n value: user.id,\n label: user.email,\n }));\n};\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamMemberCreateSchemaWithMetadata, {\n storeName: `create-team-member-${team_id}`,\n persistToLocalStorage: true,\n renderStyle: 'daisy_ui',\n initialValues: {},\n dataLoaders: {\n users: loadUsers,\n },\n});\n\n// Setup mutation for creating team member\nconst { mutate: createTeamMember } = useMutation(\n (api, input: any) => api.teamMembers.createTeamMember(input),\n { invalidate: /^team-members?:|^user:teams/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: z.infer<typeof teamMemberCreateSchemaWithMetadata>) => {\n const createdTeamMember = await createTeamMember({\n team_id: team_id,\n user_id: formData.user_id,\n role: formData.role,\n display_name: formData.display_name,\n business_phone: formData.business_phone,\n mobile_phone: formData.mobile_phone,\n email_address: formData.email_address,\n website_address: formData.website_address,\n time_zone: formData.time_zone,\n } as any);\n\n if (!createdTeamMember) {\n throw new Error('Failed to create team member');\n }\n\n return createdTeamMember;\n};\n\n// Handle successful submission\nconst handleSuccess = async (createdTeamMember: any) => {\n clearSavedFormState();\n await router.push({\n name: teamMemberPaths.list.name,\n params: { id: team_id },\n });\n toast.success(\n `Team member \"${createdTeamMember.display_name || createdTeamMember.id}\" created successfully!`,\n );\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import "./useMutation-BXSu7_-s.js";
5
+ import "./useQuery-DownvLRA.js";
6
+ import "./FieldsetSection-Br_sygWW.js";
7
+ import "./userAuthorized-qmzUYDa-.js";
8
+ import "./team_memberRoutes-mO1f-Y4o.js";
9
+ import "./teamMemberMetadata-C4urCwBU.js";
10
+ import { t as CreateTeamMemberForm_default } from "./CreateTeamMemberForm-B3jxlAsC.js";
11
+
12
+ export { CreateTeamMemberForm_default as default };
@@ -1,4 +1,4 @@
1
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
1
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
2
2
  import { createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, unref, withCtx } from "vue";
3
3
  import { toast } from "vue3-toastify";
4
4
  import { createUserSchema } from "@dragonmastery/dragoncore-shared";
@@ -73,4 +73,4 @@ var CreateUserPage_default = _sfc_main;
73
73
 
74
74
  //#endregion
75
75
  export { createUserSchemaWithMetadata as n, CreateUserPage_default as t };
76
- //# sourceMappingURL=CreateUserPage-1WiLNGr_.js.map
76
+ //# sourceMappingURL=CreateUserPage-BcCIat_l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUserPage-1WiLNGr_.js","names":[],"sources":["../src/slices/admin/features/create_user/create_user_schema.ts","../src/slices/admin/features/create_user/CreateUserPage.vue"],"sourcesContent":["import { createUserSchema } from '@dragonmastery/dragoncore-shared';\nimport { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { z } from 'zod';\n\n// Define the login form type\nexport type CreateUserForm = z.infer<typeof createUserSchema>;\n\n// Enhance the schema with metadata\nexport const createUserSchemaWithMetadata = withMetadata(\n createUserSchema,\n 'createUserSchema',\n {\n email: {\n inputType: 'email',\n placeholder: 'Enter email',\n helpText: 'Enter your email',\n autocomplete: 'email',\n },\n\n user_type: {\n inputType: 'select',\n placeholder: 'Select user type',\n helpText: 'Select your user type',\n },\n\n password: {\n inputType: 'password',\n placeholder: 'Enter password (optional)',\n helpText:\n 'If not provided, a random password will be generated and the user will need to use forgot password to set it',\n autocomplete: 'new-password',\n },\n },\n);\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Create User</h1>\n\n <ZiniaForm @handle-submit=\"handleSubmit\" @success=\"handleSuccess\" @error=\"handleError\">\n <zinia.EmailField />\n <zinia.UserTypeField />\n <zinia.PasswordField />\n\n <ZiniaSubmitButton submitText=\"Create User\" submittingText=\"Creating User...\" />\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { toast } from 'vue3-toastify';\nimport { z } from 'zod';\nimport { createUserSchemaWithMetadata } from './create_user_schema';\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(createUserSchemaWithMetadata, {\n storeName: 'create-user-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n});\n\nconst { mutate: createUser } = useMutation(\n (api, input: z.infer<typeof createUserSchemaWithMetadata>) => api.users.createUser(input),\n { invalidate: /^users?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (data: z.infer<typeof createUserSchemaWithMetadata>) => {\n const result = await createUser(data);\n if (!result) throw new Error('Failed to create user');\n return result;\n};\n\n// Handle success\nconst handleSuccess = async (_data: any) => {\n form.reset();\n toast.success('User created successfully!');\n};\n\n// Handle error\nconst handleError = (error: any) => {\n toast.error(error.message || 'Failed to create user');\n};\n</script>\n"],"mappings":";;;;;;;AAQA,MAAa,+BAA+B,aAC1C,kBACA,oBACA;CACE,OAAO;EACL,WAAW;EACX,aAAa;EACb,UAAU;EACV,cAAc;EACf;CAED,WAAW;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACX;CAED,UAAU;EACR,WAAW;EACX,aAAa;EACb,UACE;EACF,cAAc;EACf;CACF,CACF;;;;;;;;ECXD,MAAM,EAAE,MAAM,OAAO,WAAW,sBAAsB,QAAQ,8BAA8B;GAC1F,WAAW;GACX,uBAAuB;GACvB,aAAa;GACd,CAAC;EAEF,MAAM,EAAE,QAAQ,eAAe,aAC5B,KAAK,UAAwD,IAAI,MAAM,WAAW,MAAM,EACzF,EAAE,YAAY,YAAY,CAC3B;EAGD,MAAM,eAAe,OAAO,SAAuD;GACjF,MAAM,SAAS,MAAM,WAAW,KAAK;AACrC,OAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,wBAAwB;AACrD,UAAO;;EAIT,MAAM,gBAAgB,OAAO,UAAe;AAC1C,QAAK,OAAO;AACZ,SAAM,QAAQ,6BAA6B;;EAI7C,MAAM,eAAe,UAAe;AAClC,SAAM,MAAM,MAAM,WAAW,wBAAwB;;;uBA/CrD,mBAUM,OAVN,YAUM,CAAA,OAAA,OAAA,OAAA,KATJ,mBAAgE,MAAA,EAA5D,OAAM,uCAAqC,EAAC,eAAW,GAAA,GAE3D,YAMY,MAAA,UAAA,EAAA;IANA,gBAAe;IAAe,WAAS;IAAgB,SAAO;;2BACpD;KAApB,YAAoB,MAAA,MAAA,CAAA,WAAA;KACpB,YAAuB,MAAA,MAAA,CAAA,cAAA;KACvB,YAAuB,MAAA,MAAA,CAAA,cAAA;KAEvB,YAAgF,MAAA,kBAAA,EAAA;MAA7D,YAAW;MAAc,gBAAe"}
1
+ {"version":3,"file":"CreateUserPage-BcCIat_l.js","names":[],"sources":["../src/slices/admin/features/create_user/create_user_schema.ts","../src/slices/admin/features/create_user/CreateUserPage.vue"],"sourcesContent":["import { createUserSchema } from '@dragonmastery/dragoncore-shared';\nimport { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { z } from 'zod';\n\n// Define the login form type\nexport type CreateUserForm = z.infer<typeof createUserSchema>;\n\n// Enhance the schema with metadata\nexport const createUserSchemaWithMetadata = withMetadata(\n createUserSchema,\n 'createUserSchema',\n {\n email: {\n inputType: 'email',\n placeholder: 'Enter email',\n helpText: 'Enter your email',\n autocomplete: 'email',\n },\n\n user_type: {\n inputType: 'select',\n placeholder: 'Select user type',\n helpText: 'Select your user type',\n },\n\n password: {\n inputType: 'password',\n placeholder: 'Enter password (optional)',\n helpText:\n 'If not provided, a random password will be generated and the user will need to use forgot password to set it',\n autocomplete: 'new-password',\n },\n },\n);\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Create User</h1>\n\n <ZiniaForm @handle-submit=\"handleSubmit\" @success=\"handleSuccess\" @error=\"handleError\">\n <zinia.EmailField />\n <zinia.UserTypeField />\n <zinia.PasswordField />\n\n <ZiniaSubmitButton submitText=\"Create User\" submittingText=\"Creating User...\" />\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { toast } from 'vue3-toastify';\nimport { z } from 'zod';\nimport { createUserSchemaWithMetadata } from './create_user_schema';\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(createUserSchemaWithMetadata, {\n storeName: 'create-user-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n});\n\nconst { mutate: createUser } = useMutation(\n (api, input: z.infer<typeof createUserSchemaWithMetadata>) => api.users.createUser(input),\n { invalidate: /^users?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (data: z.infer<typeof createUserSchemaWithMetadata>) => {\n const result = await createUser(data);\n if (!result) throw new Error('Failed to create user');\n return result;\n};\n\n// Handle success\nconst handleSuccess = async (_data: any) => {\n form.reset();\n toast.success('User created successfully!');\n};\n\n// Handle error\nconst handleError = (error: any) => {\n toast.error(error.message || 'Failed to create user');\n};\n</script>\n"],"mappings":";;;;;;;AAQA,MAAa,+BAA+B,aAC1C,kBACA,oBACA;CACE,OAAO;EACL,WAAW;EACX,aAAa;EACb,UAAU;EACV,cAAc;EACf;CAED,WAAW;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACX;CAED,UAAU;EACR,WAAW;EACX,aAAa;EACb,UACE;EACF,cAAc;EACf;CACF,CACF;;;;;;;;ECXD,MAAM,EAAE,MAAM,OAAO,WAAW,sBAAsB,QAAQ,8BAA8B;GAC1F,WAAW;GACX,uBAAuB;GACvB,aAAa;GACd,CAAC;EAEF,MAAM,EAAE,QAAQ,eAAe,aAC5B,KAAK,UAAwD,IAAI,MAAM,WAAW,MAAM,EACzF,EAAE,YAAY,YAAY,CAC3B;EAGD,MAAM,eAAe,OAAO,SAAuD;GACjF,MAAM,SAAS,MAAM,WAAW,KAAK;AACrC,OAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,wBAAwB;AACrD,UAAO;;EAIT,MAAM,gBAAgB,OAAO,UAAe;AAC1C,QAAK,OAAO;AACZ,SAAM,QAAQ,6BAA6B;;EAI7C,MAAM,eAAe,UAAe;AAClC,SAAM,MAAM,MAAM,WAAW,wBAAwB;;;uBA/CrD,mBAUM,OAVN,YAUM,CAAA,OAAA,OAAA,OAAA,KATJ,mBAAgE,MAAA,EAA5D,OAAM,uCAAqC,EAAC,eAAW,GAAA,GAE3D,YAMY,MAAA,UAAA,EAAA;IANA,gBAAe;IAAe,WAAS;IAAgB,SAAO;;2BACpD;KAApB,YAAoB,MAAA,MAAA,CAAA,WAAA;KACpB,YAAuB,MAAA,MAAA,CAAA,cAAA;KACvB,YAAuB,MAAA,MAAA,CAAA,cAAA;KAEvB,YAAgF,MAAA,kBAAA,EAAA;MAA7D,YAAW;MAAc,gBAAe"}
@@ -0,0 +1,7 @@
1
+ import "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import "./useMutation-BXSu7_-s.js";
5
+ import { t as CreateUserPage_default } from "./CreateUserPage-BcCIat_l.js";
6
+
7
+ export { CreateUserPage_default as default };
@@ -0,0 +1,13 @@
1
+ import "./useRpcAuth-BFdprNWb.js";
2
+ import "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import "./useQueryCache-CUTrwJWX.js";
4
+ import "./useMutation-BXSu7_-s.js";
5
+ import "./useQuery-DownvLRA.js";
6
+ import "./saved_filter-DXWnU4Zb.js";
7
+ import "./ConfirmDialog-DjthOYU6.js";
8
+ import "./userAuthorized-qmzUYDa-.js";
9
+ import "./customerSupportTicketRoutes-BjqjQc9A.js";
10
+ import "./CreditTransactionHistory-CP7ufh7Z.js";
11
+ import { t as CreditBalanceDashboard_default } from "./CreditBalanceDashboard-CRHrhlSZ.js";
12
+
13
+ export { CreditBalanceDashboard_default as default };
@@ -1,4 +1,4 @@
1
- import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-UPg9uDNy.js";
1
+ import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-CP7ufh7Z.js";
2
2
  import { createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock } from "vue";
3
3
 
4
4
  //#region src/slices/customer/CreditBalanceDashboard.vue
@@ -25,4 +25,4 @@ var CreditBalanceDashboard_default = _sfc_main;
25
25
 
26
26
  //#endregion
27
27
  export { CreditBalanceDashboard_default as t };
28
- //# sourceMappingURL=CreditBalanceDashboard-CoIEyZWh.js.map
28
+ //# sourceMappingURL=CreditBalanceDashboard-CRHrhlSZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreditBalanceDashboard-CoIEyZWh.js","names":[],"sources":["../src/slices/customer/CreditBalanceDashboard.vue"],"sourcesContent":["<template>\n <div class=\"container mx-auto py-6\">\n <div class=\"flex justify-between items-center mb-6\">\n <h1 class=\"text-2xl font-bold\">Credit Balance</h1>\n </div>\n\n <!-- Credit balance display -->\n <div class=\"space-y-6\">\n <!-- Credit Balance Overview -->\n <CreditBalanceOverview />\n\n <!-- Transaction History -->\n <CreditTransactionHistory />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport CreditBalanceOverview from './components/CreditBalanceOverview.vue';\nimport CreditTransactionHistory from './components/CreditTransactionHistory.vue';\n</script>\n"],"mappings":";;;;;;;;;;uBACE,mBAaM,OAbN,YAaM;8BAZJ,mBAEM,OAAA,EAFD,OAAM,0CAAwC,EAAA,CACjD,mBAAkD,MAAA,EAA9C,OAAM,sBAAoB,EAAC,iBAAc,CAAA;IAG/C,mBAAA,2BAA+B;IAC/B,mBAMM,OANN,YAMM;KALJ,mBAAA,4BAAgC;KAChC,YAAyB,8BAAA;KAEzB,mBAAA,wBAA4B;KAC5B,YAA4B,iCAAA"}
1
+ {"version":3,"file":"CreditBalanceDashboard-CRHrhlSZ.js","names":[],"sources":["../src/slices/customer/CreditBalanceDashboard.vue"],"sourcesContent":["<template>\n <div class=\"container mx-auto py-6\">\n <div class=\"flex justify-between items-center mb-6\">\n <h1 class=\"text-2xl font-bold\">Credit Balance</h1>\n </div>\n\n <!-- Credit balance display -->\n <div class=\"space-y-6\">\n <!-- Credit Balance Overview -->\n <CreditBalanceOverview />\n\n <!-- Transaction History -->\n <CreditTransactionHistory />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport CreditBalanceOverview from './components/CreditBalanceOverview.vue';\nimport CreditTransactionHistory from './components/CreditTransactionHistory.vue';\n</script>\n"],"mappings":";;;;;;;;;;uBACE,mBAaM,OAbN,YAaM;8BAZJ,mBAEM,OAAA,EAFD,OAAM,0CAAwC,EAAA,CACjD,mBAAkD,MAAA,EAA9C,OAAM,sBAAoB,EAAC,iBAAc,CAAA;IAG/C,mBAAA,2BAA+B;IAC/B,mBAMM,OANN,YAMM;KALJ,mBAAA,4BAAgC;KAChC,YAAyB,8BAAA;KAEzB,mBAAA,wBAA4B;KAC5B,YAA4B,iCAAA"}
@@ -1,5 +1,5 @@
1
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
2
- import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-UPg9uDNy.js";
1
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
2
+ import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-CP7ufh7Z.js";
3
3
  import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, openBlock, provide, ref, toDisplayString, unref, withCtx } from "vue";
4
4
  import { toast } from "vue3-toastify";
5
5
  import { AddCreditsSchema, SetMonthlyAllocationSchema, formatDollar } from "@dragonmastery/dragoncore-shared";
@@ -353,4 +353,4 @@ var CreditManagement_default = _sfc_main;
353
353
 
354
354
  //#endregion
355
355
  export { addCreditsSchemaWithMetadata as a, AddCredits_default as i, SetMonthlyAllocation_default as n, setMonthlyAllocationSchemaWithMetadata as o, ResetMonthlyBalance_default as r, CreditManagement_default as t };
356
- //# sourceMappingURL=CreditManagement-CCyU_yja.js.map
356
+ //# sourceMappingURL=CreditManagement-7xiygPYj.js.map