@dragonmastery/dragoncore-vue 0.0.22 → 0.0.24

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 (249) hide show
  1. package/dist/{AppLink-CHMMrSFI.js → AppLink-FcNGKgvG.js} +1 -1
  2. package/dist/{AppLink-CHMMrSFI.js.map → AppLink-FcNGKgvG.js.map} +1 -1
  3. package/dist/Appearance-Ch4zfWZ3.js +3 -0
  4. package/dist/{Appearance-DxWTyx1M.js → Appearance-shr0Aql0.js} +1 -1
  5. package/dist/{Appearance-DxWTyx1M.js.map → Appearance-shr0Aql0.js.map} +1 -1
  6. package/dist/{ChangePasswordPage-ePeFkv_6.js → ChangePasswordPage-C633yQiU.js} +2 -2
  7. package/dist/{ChangePasswordPage-ePeFkv_6.js.map → ChangePasswordPage-C633yQiU.js.map} +1 -1
  8. package/dist/ChangePasswordPage-CYuCCosx.js +7 -0
  9. package/dist/ConfirmDialog-DjthOYU6.js +85 -0
  10. package/dist/ConfirmDialog-DjthOYU6.js.map +1 -0
  11. package/dist/ConsentFlowStep-DbQpQQA-.js +149 -0
  12. package/dist/ConsentFlowStep-DbQpQQA-.js.map +1 -0
  13. package/dist/ConsentRequired-BiCKEVBG.js +113 -0
  14. package/dist/ConsentRequired-BiCKEVBG.js.map +1 -0
  15. package/dist/CreateTeamForm-BnC_JPEK.js +12 -0
  16. package/dist/CreateTeamForm-CvMUbK5X.js +142 -0
  17. package/dist/CreateTeamForm-CvMUbK5X.js.map +1 -0
  18. package/dist/CreateTeamMemberForm-DUVHzzF0.js +140 -0
  19. package/dist/CreateTeamMemberForm-DUVHzzF0.js.map +1 -0
  20. package/dist/CreateTeamMemberForm-QpDhqvfb.js +12 -0
  21. package/dist/CreateUserPage-C9uOeYDJ.js +7 -0
  22. package/dist/{CreateUserPage-Cdv-3U5M.js → CreateUserPage-CqKcY7_X.js} +2 -2
  23. package/dist/{CreateUserPage-Cdv-3U5M.js.map → CreateUserPage-CqKcY7_X.js.map} +1 -1
  24. package/dist/CreditBalanceDashboard-CS4fV6MP.js +13 -0
  25. package/dist/CreditBalanceDashboard-CSUKpYSo.js +28 -0
  26. package/dist/CreditBalanceDashboard-CSUKpYSo.js.map +1 -0
  27. package/dist/CreditManagement-BdRd_TLz.js +356 -0
  28. package/dist/CreditManagement-BdRd_TLz.js.map +1 -0
  29. package/dist/CreditManagement-Buuew7-f.js +13 -0
  30. package/dist/CreditTransactionHistory-cYyRFOdS.js +229 -0
  31. package/dist/CreditTransactionHistory-cYyRFOdS.js.map +1 -0
  32. package/dist/CustomerCreateSupportTicketForm-BDNs8cKo.js +158 -0
  33. package/dist/CustomerCreateSupportTicketForm-BDNs8cKo.js.map +1 -0
  34. package/dist/CustomerCreateSupportTicketForm-Dk6lwDGL.js +14 -0
  35. package/dist/{CustomerSupportTicketDetailPage-UGqVoV4j.js → CustomerSupportTicketDetailPage-DGfUzPl8.js} +12 -9
  36. package/dist/{CustomerSupportTicketDetailPage-UGqVoV4j.js.map → CustomerSupportTicketDetailPage-DGfUzPl8.js.map} +1 -1
  37. package/dist/CustomerSupportTicketList-DoWnrEwj.js +63 -0
  38. package/dist/{CustomerSupportTicketParent-C2XdM5f7.js → CustomerSupportTicketParent-BpBuYCrP.js} +4 -4
  39. package/dist/{CustomerSupportTicketParent-C2XdM5f7.js.map → CustomerSupportTicketParent-BpBuYCrP.js.map} +1 -1
  40. package/dist/CustomerSupportTicketParent-Djy7pNqO.js +8 -0
  41. package/dist/CustomerSupportTicketSuccess-BKQ07Y8H.js +12 -0
  42. package/dist/CustomerSupportTicketSuccess-DZ6_1jL9.js +54 -0
  43. package/dist/CustomerSupportTicketSuccess-DZ6_1jL9.js.map +1 -0
  44. package/dist/EditTeamForm-CPJBjZa2.js +163 -0
  45. package/dist/EditTeamForm-CPJBjZa2.js.map +1 -0
  46. package/dist/EditTeamForm-DS_zV1Mk.js +12 -0
  47. package/dist/EditTeamMemberForm-D7D1Zddh.js +9 -0
  48. package/dist/{EditTeamMemberForm-BgjNP8MZ.js → EditTeamMemberForm-DfgJr5Cy.js} +7 -72
  49. package/dist/EditTeamMemberForm-DfgJr5Cy.js.map +1 -0
  50. package/dist/EditUserPage-C0K7EGjM.js +8 -0
  51. package/dist/{EditUserPage-uLPhRW5x.js → EditUserPage-CI_jtU8P.js} +4 -4
  52. package/dist/{EditUserPage-uLPhRW5x.js.map → EditUserPage-CI_jtU8P.js.map} +1 -1
  53. package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js +189 -0
  54. package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js.map +1 -0
  55. package/dist/FieldsetSection-Cd4B8Ad7.js +27 -0
  56. package/dist/FieldsetSection-Cd4B8Ad7.js.map +1 -0
  57. package/dist/{ForgotPassword-B8JG_n9D.js → ForgotPassword-Ckb9Z-wb.js} +4 -4
  58. package/dist/{ForgotPassword-B8JG_n9D.js.map → ForgotPassword-Ckb9Z-wb.js.map} +1 -1
  59. package/dist/ForgotPassword-tJVSg7PB.js +8 -0
  60. package/dist/{TimelineSystemEvent-BGG9WkQw.js → InlineAttachments-DAn_QknY.js} +60 -661
  61. package/dist/InlineAttachments-DAn_QknY.js.map +1 -0
  62. package/dist/{LoginForm-C-_lBDyl.js → LoginForm-CMN2T1fA.js} +5 -5
  63. package/dist/{LoginForm-C-_lBDyl.js.map → LoginForm-CMN2T1fA.js.map} +1 -1
  64. package/dist/LoginForm-QFJ8NHww.js +8 -0
  65. package/dist/{Logout-CIAoXyOg.js → Logout-CFLYHlLr.js} +5 -5
  66. package/dist/{Logout-CIAoXyOg.js.map → Logout-CFLYHlLr.js.map} +1 -1
  67. package/dist/Logout-CjDBff3W.js +8 -0
  68. package/dist/{MfaSetup-9qdTKQ0m.js → MfaSetup-85i4HlNJ.js} +7 -7
  69. package/dist/{MfaSetup-9qdTKQ0m.js.map → MfaSetup-85i4HlNJ.js.map} +1 -1
  70. package/dist/MfaSetup-C5mBMKsa.js +9 -0
  71. package/dist/{MfaVerify-Cgta1nE9.js → MfaVerify-C-A75TFZ.js} +6 -6
  72. package/dist/{MfaVerify-Cgta1nE9.js.map → MfaVerify-C-A75TFZ.js.map} +1 -1
  73. package/dist/MfaVerify-Dy2aV5Gk.js +9 -0
  74. package/dist/{RecordVersionViewer-BWZ78vvE.js → RecordVersionViewer-D2j10HdK.js} +1 -1
  75. package/dist/{RecordVersionViewer-BWZ78vvE.js.map → RecordVersionViewer-D2j10HdK.js.map} +1 -1
  76. package/dist/{ResetPassword-DHUfERyS.js → ResetPassword-Cd-Yxp8E.js} +4 -4
  77. package/dist/{ResetPassword-DHUfERyS.js.map → ResetPassword-Cd-Yxp8E.js.map} +1 -1
  78. package/dist/ResetPassword-D6to3G6a.js +8 -0
  79. package/dist/{SavedFiltersPage-CjFv4fI_.js → SavedFiltersPage-DPJA7feS.js} +62 -34
  80. package/dist/{SavedFiltersPage-CjFv4fI_.js.map → SavedFiltersPage-DPJA7feS.js.map} +1 -1
  81. package/dist/{Signup-DfG7Xmkx.js → Signup-2pqvJiVt.js} +57 -57
  82. package/dist/Signup-2pqvJiVt.js.map +1 -0
  83. package/dist/Signup-XdImA1os.js +9 -0
  84. package/dist/SignupConsentFlow-dyQSp9iU.js +214 -0
  85. package/dist/SignupConsentFlow-dyQSp9iU.js.map +1 -0
  86. package/dist/{SignupRequirementsPage-Sm3vgkhC.js → SignupRequirementsPage-Cf-ElkEq.js} +9 -8
  87. package/dist/{SignupRequirementsPage-Sm3vgkhC.js.map → SignupRequirementsPage-Cf-ElkEq.js.map} +1 -1
  88. package/dist/StaffCreateSupportTicketForm-BgaZJWpj.js +255 -0
  89. package/dist/StaffCreateSupportTicketForm-BgaZJWpj.js.map +1 -0
  90. package/dist/StaffCreateSupportTicketForm-C_i7mz26.js +14 -0
  91. package/dist/{StaffSupportTicketDetailPage-ePkLJU12.js → StaffSupportTicketDetailPage-DoZClE4Y.js} +17 -14
  92. package/dist/StaffSupportTicketDetailPage-DoZClE4Y.js.map +1 -0
  93. package/dist/StaffSupportTicketList-DejFCAh7.js +63 -0
  94. package/dist/StaffSupportTicketParent-B7mEN1oD.js +8 -0
  95. package/dist/{StaffSupportTicketParent-Bz-SH6-k.js → StaffSupportTicketParent-BvPwgOqH.js} +4 -4
  96. package/dist/{StaffSupportTicketParent-Bz-SH6-k.js.map → StaffSupportTicketParent-BvPwgOqH.js.map} +1 -1
  97. package/dist/StaffSupportTicketSuccess-Bt9FWXmM.js +12 -0
  98. package/dist/StaffSupportTicketSuccess-CUu2MNXF.js +54 -0
  99. package/dist/StaffSupportTicketSuccess-CUu2MNXF.js.map +1 -0
  100. package/dist/{SupportStaffPage-0X1VMovT.js → SupportStaffPage-B69-kuvg.js} +8 -7
  101. package/dist/{SupportStaffPage-0X1VMovT.js.map → SupportStaffPage-B69-kuvg.js.map} +1 -1
  102. package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js → SupportTicketDevLifecycleBadge-BoAjMb08.js} +1 -1
  103. package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js.map → SupportTicketDevLifecycleBadge-BoAjMb08.js.map} +1 -1
  104. package/dist/{SupportTicketMaintenancePage-CLDqc4Pb.js → SupportTicketMaintenancePage-Bptja-xb.js} +5 -4
  105. package/dist/{SupportTicketMaintenancePage-CLDqc4Pb.js.map → SupportTicketMaintenancePage-Bptja-xb.js.map} +1 -1
  106. package/dist/TeamAttachmentsTab-D4iYMMF3.js +63 -0
  107. package/dist/TeamHistoryTab-CRONdHcL.js +6 -0
  108. package/dist/{TeamHistoryTab-D0zW5wjj.js → TeamHistoryTab-DM8KBEG1.js} +7 -19
  109. package/dist/TeamHistoryTab-DM8KBEG1.js.map +1 -0
  110. package/dist/TeamList-BZN0Ek6v.js +141 -0
  111. package/dist/TeamList-BZN0Ek6v.js.map +1 -0
  112. package/dist/TeamList-DXtr4j1y.js +8 -0
  113. package/dist/TeamMemberList-JfyklWlt.js +7 -0
  114. package/dist/TeamMemberList-TTAPf2GN.js +166 -0
  115. package/dist/TeamMemberList-TTAPf2GN.js.map +1 -0
  116. package/dist/TeamMemberParent-a2xQB08R.js +10 -0
  117. package/dist/TeamMemberParent-xv56jEhd.js +83 -0
  118. package/dist/TeamMemberParent-xv56jEhd.js.map +1 -0
  119. package/dist/TeamMembersTab-BGcdyEE8.js +3 -0
  120. package/dist/{TeamMembersTab-4gmnP9sD.js → TeamMembersTab-BigqpBDH.js} +1 -1
  121. package/dist/{TeamMembersTab-4gmnP9sD.js.map → TeamMembersTab-BigqpBDH.js.map} +1 -1
  122. package/dist/{TeamNotesTab-DImzeVPk.js → TeamNotesTab-BgxleidZ.js} +6 -5
  123. package/dist/{TeamNotesTab-DImzeVPk.js.map → TeamNotesTab-BgxleidZ.js.map} +1 -1
  124. package/dist/TeamNotesTab-o7glfjoY.js +8 -0
  125. package/dist/TeamParent-7_XO4IOH.js +83 -0
  126. package/dist/TeamParent-7_XO4IOH.js.map +1 -0
  127. package/dist/TeamParent-Cf6RWFHo.js +11 -0
  128. package/dist/{TimelineNoteInput-Cpnwnx7B.js → TimelineNoteInput-D6LOdKZW.js} +3 -2
  129. package/dist/{TimelineNoteInput-Cpnwnx7B.js.map → TimelineNoteInput-D6LOdKZW.js.map} +1 -1
  130. package/dist/TimelineSystemEvent-zCMUx5Zz.js +525 -0
  131. package/dist/TimelineSystemEvent-zCMUx5Zz.js.map +1 -0
  132. package/dist/UserListPage-Bmwg0an5.js +5 -0
  133. package/dist/{UserListPage-DpkOdR1U.js → UserListPage-DtA8tLff.js} +4 -3
  134. package/dist/{UserListPage-DpkOdR1U.js.map → UserListPage-DtA8tLff.js.map} +1 -1
  135. package/dist/UserProfilePage-DRbCAr9H.js +8 -0
  136. package/dist/{UserProfilePage-CWRgwGQH.js → UserProfilePage-g4-VEDXo.js} +4 -4
  137. package/dist/{UserProfilePage-CWRgwGQH.js.map → UserProfilePage-g4-VEDXo.js.map} +1 -1
  138. package/dist/{VerifyEmail-DXZ4T5eN.js → VerifyEmail-CM5ehFB8.js} +7 -7
  139. package/dist/{VerifyEmail-DXZ4T5eN.js.map → VerifyEmail-CM5ehFB8.js.map} +1 -1
  140. package/dist/VerifyEmail-DMHczC9f.js +10 -0
  141. package/dist/ViewTeam-CbV0w4J_.js +220 -0
  142. package/dist/ViewTeam-CbV0w4J_.js.map +1 -0
  143. package/dist/ViewTeam-LAQmZPzc.js +8 -0
  144. package/dist/ViewTeamMember-DtWqc_q5.js +7 -0
  145. package/dist/ViewTeamMember-y3txJoRR.js +167 -0
  146. package/dist/ViewTeamMember-y3txJoRR.js.map +1 -0
  147. package/dist/ZiniaContainer-CjVhCnGB.js +18 -0
  148. package/dist/ZiniaContainer-CjVhCnGB.js.map +1 -0
  149. package/dist/{convertToLocalDateTime-CFhtN6PI.js → convertToLocalDateTime-BF25N4xd.js} +1 -2
  150. package/dist/convertToLocalDateTime-BF25N4xd.js.map +1 -0
  151. package/dist/customerSupportTicketRoutes-DYG3Vlzz.js +142 -0
  152. package/dist/customerSupportTicketRoutes-DYG3Vlzz.js.map +1 -0
  153. package/dist/{displayIdFormatter-Dz900Awr.js → displayIdFormatter-B-_WQHOr.js} +1 -1
  154. package/dist/{displayIdFormatter-Dz900Awr.js.map → displayIdFormatter-B-_WQHOr.js.map} +1 -1
  155. package/dist/{extractRpcErrorMessage-Di8E8-Wh.js → extractRpcErrorMessage-diUBl6Ij.js} +1 -1
  156. package/dist/{extractRpcErrorMessage-Di8E8-Wh.js.map → extractRpcErrorMessage-diUBl6Ij.js.map} +1 -1
  157. package/dist/index.d.ts +859 -900
  158. package/dist/index.js +66 -38
  159. package/dist/{mfaSchema-BnRWf0ma.js → mfaSchema-Ukqzdyck.js} +1 -1
  160. package/dist/{mfaSchema-BnRWf0ma.js.map → mfaSchema-Ukqzdyck.js.map} +1 -1
  161. package/dist/saved_filter-fHzm4pk5.js +1210 -0
  162. package/dist/saved_filter-fHzm4pk5.js.map +1 -0
  163. package/dist/signupConsentStorage-DS9vCUuC.js +27 -0
  164. package/dist/signupConsentStorage-DS9vCUuC.js.map +1 -0
  165. package/dist/{src-CEBiyg_f.css → src-C6ZmNSSU.css} +1 -1
  166. package/dist/{src-CEBiyg_f.css.map → src-C6ZmNSSU.css.map} +1 -1
  167. package/dist/src-DgC3Izwe.js +4655 -0
  168. package/dist/src-DgC3Izwe.js.map +1 -0
  169. package/dist/staffSupportTicketRoutes-Crk6BFEE.js +135 -0
  170. package/dist/staffSupportTicketRoutes-Crk6BFEE.js.map +1 -0
  171. package/dist/teamMemberMetadata-CQnbVepq.js +49 -0
  172. package/dist/teamMemberMetadata-CQnbVepq.js.map +1 -0
  173. package/dist/teamMetadata-DlvwO5V0.js +53 -0
  174. package/dist/teamMetadata-DlvwO5V0.js.map +1 -0
  175. package/dist/teamRoutes-_-DGwLZW.js +192 -0
  176. package/dist/teamRoutes-_-DGwLZW.js.map +1 -0
  177. package/dist/team_memberRoutes-B7Zzuuz8.js +84 -0
  178. package/dist/team_memberRoutes-B7Zzuuz8.js.map +1 -0
  179. package/dist/{useBreadcrumbs-qB6ghsAf.js → useBreadcrumbs-DIqU5AAp.js} +1 -1
  180. package/dist/{useBreadcrumbs-qB6ghsAf.js.map → useBreadcrumbs-DIqU5AAp.js.map} +1 -1
  181. package/dist/{useEmailVerificationChannel-BiiuuTUM.js → useEmailVerificationChannel-B51z65PN.js} +3 -3
  182. package/dist/{useEmailVerificationChannel-BiiuuTUM.js.map → useEmailVerificationChannel-B51z65PN.js.map} +1 -1
  183. package/dist/{useMutation-BMZJLpgx.js → useMutation-BLNuJoYl.js} +6 -3
  184. package/dist/useMutation-BLNuJoYl.js.map +1 -0
  185. package/dist/{useQuery-qpXzBuVg.js → useQuery-BzUGEOj0.js} +4 -3
  186. package/dist/{useQuery-qpXzBuVg.js.map → useQuery-BzUGEOj0.js.map} +1 -1
  187. package/dist/{useQueryCache-DkRwK5Gz.js → useQueryCache-alzaRWEb.js} +2 -2
  188. package/dist/{useQueryCache-DkRwK5Gz.js.map → useQueryCache-alzaRWEb.js.map} +1 -1
  189. package/dist/{useReturnUrl-qFeazn-G.js → useReturnUrl-B5V3SJf5.js} +1 -1
  190. package/dist/{useReturnUrl-qFeazn-G.js.map → useReturnUrl-B5V3SJf5.js.map} +1 -1
  191. package/dist/{useRpcAuth-x5Gn5gR0.js → useRpcAuth-CJtq1dqM.js} +9 -192
  192. package/dist/useRpcAuth-CJtq1dqM.js.map +1 -0
  193. package/dist/userAuthorized-C09FHWGL.js +185 -0
  194. package/dist/userAuthorized-C09FHWGL.js.map +1 -0
  195. package/package.json +3 -3
  196. package/dist/Appearance-D5pwxuf4.js +0 -3
  197. package/dist/ChangePasswordPage-DVBkBcm9.js +0 -6
  198. package/dist/ConsentRequired-e7DEOGNg.js +0 -213
  199. package/dist/ConsentRequired-e7DEOGNg.js.map +0 -1
  200. package/dist/CreateTeamForm-CV9Y00tD.js +0 -35
  201. package/dist/CreateTeamMemberForm-BX1vUcdg.js +0 -35
  202. package/dist/CreateUserPage-DQoEX-Er.js +0 -6
  203. package/dist/CreditBalanceDashboard-BZAnEjSz.js +0 -35
  204. package/dist/CreditManagement-C4-_c175.js +0 -35
  205. package/dist/CustomerCreateSupportTicketForm-3tIJKMnJ.js +0 -35
  206. package/dist/CustomerSupportTicketList-CFQEoXtm.js +0 -35
  207. package/dist/CustomerSupportTicketParent-Tnov1dEg.js +0 -7
  208. package/dist/CustomerSupportTicketSuccess-DLszUCsg.js +0 -35
  209. package/dist/EditTeamForm-Ww04P2M0.js +0 -35
  210. package/dist/EditTeamMemberForm-BgjNP8MZ.js.map +0 -1
  211. package/dist/EditTeamMemberForm-COfY-2FQ.js +0 -6
  212. package/dist/EditUserPage-BJHs3raG.js +0 -7
  213. package/dist/ForgotPassword-CzMPARbz.js +0 -7
  214. package/dist/LoginForm-DdzRn8nU.js +0 -7
  215. package/dist/Logout-3_Ns09Vy.js +0 -7
  216. package/dist/MfaSetup-BE_NP70B.js +0 -8
  217. package/dist/MfaVerify-CyiJ9A3L.js +0 -8
  218. package/dist/ResetPassword-DXHunZVp.js +0 -7
  219. package/dist/Signup-Cy1puoqh.js +0 -9
  220. package/dist/Signup-DfG7Xmkx.js.map +0 -1
  221. package/dist/SignupConsentFlow-YGWhF7tj.js +0 -269
  222. package/dist/SignupConsentFlow-YGWhF7tj.js.map +0 -1
  223. package/dist/StaffCreateSupportTicketForm-C5tRPz95.js +0 -35
  224. package/dist/StaffSupportTicketDetailPage-ePkLJU12.js.map +0 -1
  225. package/dist/StaffSupportTicketList-BbiPTm54.js +0 -35
  226. package/dist/StaffSupportTicketParent-D2onnMqe.js +0 -7
  227. package/dist/StaffSupportTicketSuccess-DLVRTvr1.js +0 -35
  228. package/dist/TeamAttachmentsTab-B-xXmvOy.js +0 -35
  229. package/dist/TeamHistoryTab-Bb7mq4Dc.js +0 -4
  230. package/dist/TeamHistoryTab-D0zW5wjj.js.map +0 -1
  231. package/dist/TeamList-B-cFoclM.js +0 -35
  232. package/dist/TeamMemberList-D3GNHlXH.js +0 -35
  233. package/dist/TeamMemberParent-BKfPMX05.js +0 -35
  234. package/dist/TeamMembersTab-CBB2Yl_I.js +0 -3
  235. package/dist/TeamNotesTab-BbODx7wS.js +0 -7
  236. package/dist/TeamParent-5lokhztw.js +0 -35
  237. package/dist/TimelineSystemEvent-BGG9WkQw.js.map +0 -1
  238. package/dist/UserListPage-4hZll_PC.js +0 -4
  239. package/dist/UserProfilePage-qFrg3PiC.js +0 -7
  240. package/dist/VerifyEmail-C5EO8OFo.js +0 -9
  241. package/dist/ViewTeam-Die0SWa_.js +0 -35
  242. package/dist/ViewTeamMember-_sqrqGit.js +0 -35
  243. package/dist/convertToLocalDateTime-CFhtN6PI.js.map +0 -1
  244. package/dist/src-_IeDZXH6.js +0 -8951
  245. package/dist/src-_IeDZXH6.js.map +0 -1
  246. package/dist/useMutation-BMZJLpgx.js.map +0 -1
  247. package/dist/useRpcAuth-x5Gn5gR0.js.map +0 -1
  248. package/dist/useSignupPendingData-BWHwUHhL.js +0 -47
  249. package/dist/useSignupPendingData-BWHwUHhL.js.map +0 -1
@@ -1,35 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./useQuery-qpXzBuVg.js";
5
- import { B as CustomerCreateSupportTicketForm_default } from "./src-_IeDZXH6.js";
6
- import "./AppLink-CHMMrSFI.js";
7
- import "./TimelineSystemEvent-BGG9WkQw.js";
8
- import "./TeamMembersTab-4gmnP9sD.js";
9
- import "./Appearance-DxWTyx1M.js";
10
- import "./useSignupPendingData-BWHwUHhL.js";
11
- import "./useBreadcrumbs-qB6ghsAf.js";
12
- import "./EditTeamMemberForm-BgjNP8MZ.js";
13
- import "./RecordVersionViewer-BWZ78vvE.js";
14
- import "./TeamHistoryTab-D0zW5wjj.js";
15
- import "./UserProfilePage-CWRgwGQH.js";
16
- import "./ChangePasswordPage-ePeFkv_6.js";
17
- import "./TeamNotesTab-DImzeVPk.js";
18
- import "./CustomerSupportTicketParent-C2XdM5f7.js";
19
- import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
- import "./StaffSupportTicketParent-Bz-SH6-k.js";
21
- import "./LoginForm-C-_lBDyl.js";
22
- import "./useEmailVerificationChannel-BiiuuTUM.js";
23
- import "./Signup-DfG7Xmkx.js";
24
- import "./ForgotPassword-B8JG_n9D.js";
25
- import "./ResetPassword-DHUfERyS.js";
26
- import "./Logout-CIAoXyOg.js";
27
- import "./mfaSchema-BnRWf0ma.js";
28
- import "./MfaSetup-9qdTKQ0m.js";
29
- import "./MfaVerify-Cgta1nE9.js";
30
- import "./VerifyEmail-DXZ4T5eN.js";
31
- import "./UserListPage-DpkOdR1U.js";
32
- import "./CreateUserPage-Cdv-3U5M.js";
33
- import "./EditUserPage-uLPhRW5x.js";
34
-
35
- export { CustomerCreateSupportTicketForm_default as default };
@@ -1,35 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./useQuery-qpXzBuVg.js";
5
- import { L as CustomerSupportTicketList_default } from "./src-_IeDZXH6.js";
6
- import "./AppLink-CHMMrSFI.js";
7
- import "./TimelineSystemEvent-BGG9WkQw.js";
8
- import "./TeamMembersTab-4gmnP9sD.js";
9
- import "./Appearance-DxWTyx1M.js";
10
- import "./useSignupPendingData-BWHwUHhL.js";
11
- import "./useBreadcrumbs-qB6ghsAf.js";
12
- import "./EditTeamMemberForm-BgjNP8MZ.js";
13
- import "./RecordVersionViewer-BWZ78vvE.js";
14
- import "./TeamHistoryTab-D0zW5wjj.js";
15
- import "./UserProfilePage-CWRgwGQH.js";
16
- import "./ChangePasswordPage-ePeFkv_6.js";
17
- import "./TeamNotesTab-DImzeVPk.js";
18
- import "./CustomerSupportTicketParent-C2XdM5f7.js";
19
- import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
- import "./StaffSupportTicketParent-Bz-SH6-k.js";
21
- import "./LoginForm-C-_lBDyl.js";
22
- import "./useEmailVerificationChannel-BiiuuTUM.js";
23
- import "./Signup-DfG7Xmkx.js";
24
- import "./ForgotPassword-B8JG_n9D.js";
25
- import "./ResetPassword-DHUfERyS.js";
26
- import "./Logout-CIAoXyOg.js";
27
- import "./mfaSchema-BnRWf0ma.js";
28
- import "./MfaSetup-9qdTKQ0m.js";
29
- import "./MfaVerify-Cgta1nE9.js";
30
- import "./VerifyEmail-DXZ4T5eN.js";
31
- import "./UserListPage-DpkOdR1U.js";
32
- import "./CreateUserPage-Cdv-3U5M.js";
33
- import "./EditUserPage-uLPhRW5x.js";
34
-
35
- export { CustomerSupportTicketList_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useQuery-qpXzBuVg.js";
4
- import "./useBreadcrumbs-qB6ghsAf.js";
5
- import { t as CustomerSupportTicketParent_default } from "./CustomerSupportTicketParent-C2XdM5f7.js";
6
-
7
- export { CustomerSupportTicketParent_default as default };
@@ -1,35 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./useQuery-qpXzBuVg.js";
5
- import { I as CustomerSupportTicketSuccess_default } from "./src-_IeDZXH6.js";
6
- import "./AppLink-CHMMrSFI.js";
7
- import "./TimelineSystemEvent-BGG9WkQw.js";
8
- import "./TeamMembersTab-4gmnP9sD.js";
9
- import "./Appearance-DxWTyx1M.js";
10
- import "./useSignupPendingData-BWHwUHhL.js";
11
- import "./useBreadcrumbs-qB6ghsAf.js";
12
- import "./EditTeamMemberForm-BgjNP8MZ.js";
13
- import "./RecordVersionViewer-BWZ78vvE.js";
14
- import "./TeamHistoryTab-D0zW5wjj.js";
15
- import "./UserProfilePage-CWRgwGQH.js";
16
- import "./ChangePasswordPage-ePeFkv_6.js";
17
- import "./TeamNotesTab-DImzeVPk.js";
18
- import "./CustomerSupportTicketParent-C2XdM5f7.js";
19
- import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
- import "./StaffSupportTicketParent-Bz-SH6-k.js";
21
- import "./LoginForm-C-_lBDyl.js";
22
- import "./useEmailVerificationChannel-BiiuuTUM.js";
23
- import "./Signup-DfG7Xmkx.js";
24
- import "./ForgotPassword-B8JG_n9D.js";
25
- import "./ResetPassword-DHUfERyS.js";
26
- import "./Logout-CIAoXyOg.js";
27
- import "./mfaSchema-BnRWf0ma.js";
28
- import "./MfaSetup-9qdTKQ0m.js";
29
- import "./MfaVerify-Cgta1nE9.js";
30
- import "./VerifyEmail-DXZ4T5eN.js";
31
- import "./UserListPage-DpkOdR1U.js";
32
- import "./CreateUserPage-Cdv-3U5M.js";
33
- import "./EditUserPage-uLPhRW5x.js";
34
-
35
- export { CustomerSupportTicketSuccess_default as default };
@@ -1,35 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./useQuery-qpXzBuVg.js";
5
- import { pt as EditTeamForm_default } from "./src-_IeDZXH6.js";
6
- import "./AppLink-CHMMrSFI.js";
7
- import "./TimelineSystemEvent-BGG9WkQw.js";
8
- import "./TeamMembersTab-4gmnP9sD.js";
9
- import "./Appearance-DxWTyx1M.js";
10
- import "./useSignupPendingData-BWHwUHhL.js";
11
- import "./useBreadcrumbs-qB6ghsAf.js";
12
- import "./EditTeamMemberForm-BgjNP8MZ.js";
13
- import "./RecordVersionViewer-BWZ78vvE.js";
14
- import "./TeamHistoryTab-D0zW5wjj.js";
15
- import "./UserProfilePage-CWRgwGQH.js";
16
- import "./ChangePasswordPage-ePeFkv_6.js";
17
- import "./TeamNotesTab-DImzeVPk.js";
18
- import "./CustomerSupportTicketParent-C2XdM5f7.js";
19
- import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
- import "./StaffSupportTicketParent-Bz-SH6-k.js";
21
- import "./LoginForm-C-_lBDyl.js";
22
- import "./useEmailVerificationChannel-BiiuuTUM.js";
23
- import "./Signup-DfG7Xmkx.js";
24
- import "./ForgotPassword-B8JG_n9D.js";
25
- import "./ResetPassword-DHUfERyS.js";
26
- import "./Logout-CIAoXyOg.js";
27
- import "./mfaSchema-BnRWf0ma.js";
28
- import "./MfaSetup-9qdTKQ0m.js";
29
- import "./MfaVerify-Cgta1nE9.js";
30
- import "./VerifyEmail-DXZ4T5eN.js";
31
- import "./UserListPage-DpkOdR1U.js";
32
- import "./CreateUserPage-Cdv-3U5M.js";
33
- import "./EditUserPage-uLPhRW5x.js";
34
-
35
- export { EditTeamForm_default as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditTeamMemberForm-BgjNP8MZ.js","names":[],"sources":["../src/components/ui/FieldsetSection.vue","../src/slices/team/team_member/teamMemberMetadata.ts","../src/slices/team/team_member/EditTeamMemberForm.vue"],"sourcesContent":["<template>\n <fieldset class=\"bg-base-100 border-base-300 border p-4 mb-6 rounded-xl\">\n <legend class=\"text-xl font-medium mb-5 top-4 text-center relative\">{{ title }}</legend>\n\n <!-- Mobile: Single column -->\n <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 pt-2\">\n <slot></slot>\n </div>\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\ndefineProps({\n title: {\n type: String,\n required: true,\n },\n});\n</script>\n","import {\n type UseFormTyped,\n withMetadata,\n ZINIA_FIELDS_KEY,\n ZINIA_FORM_KEY,\n} from '@dragonmastery/zinia-forms-core';\nimport { TeamMemberCreateSchema, TeamMemberUpdateSchema } from '@dragonmastery/dragoncore-shared';\nimport { inject } from 'vue';\n\n// Create schema (no ID)\nexport const teamMemberCreateSchemaWithMetadata = withMetadata(\n TeamMemberCreateSchema.omit({ team_id: true }),\n 'teamMemberCreateSchema',\n {\n user_id: {\n inputType: 'select',\n placeholder: 'Select user',\n },\n email_address: {\n inputType: 'email',\n placeholder: 'Enter email address',\n },\n website_address: {\n inputType: 'text',\n placeholder: 'Enter website address',\n },\n business_phone: {\n inputType: 'tel',\n placeholder: 'Enter business phone',\n },\n mobile_phone: {\n inputType: 'tel',\n placeholder: 'Enter mobile phone',\n },\n },\n);\n\n// Update schema (with ID)\nexport const teamMemberUpdateSchemaWithMetadata = withMetadata(\n TeamMemberUpdateSchema,\n 'teamMemberUpdateSchema',\n {\n email_address: {\n inputType: 'email',\n placeholder: 'Enter email address',\n },\n website_address: {\n inputType: 'text',\n placeholder: 'Enter website address',\n },\n business_phone: {\n inputType: 'tel',\n placeholder: 'Enter business phone',\n },\n mobile_phone: {\n inputType: 'tel',\n placeholder: 'Enter mobile phone',\n },\n },\n);\n\nexport type TeamMemberCreateFormDto = UseFormTyped<typeof TeamMemberCreateSchema>;\nexport type TeamMemberUpdateFormDto = UseFormTyped<typeof TeamMemberUpdateSchema>;\n\nexport const injectTeamMemberCreateForm = () =>\n inject<TeamMemberCreateFormDto['form']>(ZINIA_FORM_KEY);\nexport const injectTeamMemberUpdateForm = () =>\n inject<TeamMemberUpdateFormDto['form']>(ZINIA_FORM_KEY);\nexport const injectTeamMemberZinia = () =>\n inject<TeamMemberCreateFormDto['zinia'] | TeamMemberUpdateFormDto['zinia']>(\n ZINIA_FIELDS_KEY,\n );\n","<template>\n <div v-if=\"form.isLoading\" class=\"flex justify-center items-center p-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <div v-else-if=\"form.loadError\" 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.loadError }}</span>\n </div>\n\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Edit Team Member\"\n subtitle=\"Update team member details\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Member Details\">\n <zinia.DisplayNameField placeholder=\"Enter display name (optional)\" />\n <zinia.RoleField placeholder=\"Enter role (optional)\" />\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=\"Update Team Member\"\n submittingText=\"Updating 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 { useForm } from '@dragonmastery/zinia-forms-core';\nimport type { TeamMemberReadDto, TeamMemberUpdateDto } from '@dragonmastery/dragoncore-shared';\nimport { inject } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { teamMemberUpdateSchemaWithMetadata } from './teamMemberMetadata';\n\ninterface Props {\n teamMember: TeamMemberReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst member_id = route.params.member_id as string;\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamMemberUpdateSchemaWithMetadata, {\n storeName: `edit-team-member-${member_id}`,\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n if (!props.teamMember) {\n throw new Error('No team member data found');\n }\n\n return props.teamMember as TeamMemberUpdateDto;\n },\n});\n\n// Get refresh function from parent\nconst refreshTeamMember = inject<(() => Promise<void>) | undefined>('refreshTeamMember');\n\n// Setup mutation for updating team member\nconst { mutate: updateTeamMember } = useMutation(\n (api, input: TeamMemberUpdateDto) => api.teamMembers.updateTeamMember(input),\n { invalidate: /^team-members?:|^user:teams/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: TeamMemberUpdateDto) => {\n const updatedTeamMember = await updateTeamMember(formData);\n if (!updatedTeamMember) {\n throw new Error('Failed to update team member');\n }\n return updatedTeamMember;\n};\n\n// Handle successful submission\nconst handleSuccess = async () => {\n clearSavedFormState();\n toast.success(`Team member updated successfully!`);\n // Refresh team member data via parent\n if (refreshTeamMember) {\n await refreshTeamMember();\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,6 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import { t as EditTeamMemberForm_default } from "./EditTeamMemberForm-BgjNP8MZ.js";
5
-
6
- export { EditTeamMemberForm_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./useQuery-qpXzBuVg.js";
5
- import { t as EditUserPage_default } from "./EditUserPage-uLPhRW5x.js";
6
-
7
- export { EditUserPage_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import { t as ForgotPassword_default } from "./ForgotPassword-B8JG_n9D.js";
6
-
7
- export { ForgotPassword_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import { t as LoginForm_default } from "./LoginForm-C-_lBDyl.js";
6
-
7
- export { LoginForm_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import { t as Logout_default } from "./Logout-CIAoXyOg.js";
6
-
7
- export { Logout_default as default };
@@ -1,8 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import "./mfaSchema-BnRWf0ma.js";
6
- import { t as MfaSetup_default } from "./MfaSetup-9qdTKQ0m.js";
7
-
8
- export { MfaSetup_default as default };
@@ -1,8 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import "./mfaSchema-BnRWf0ma.js";
6
- import { t as MfaVerify_default } from "./MfaVerify-Cgta1nE9.js";
7
-
8
- export { MfaVerify_default as default };
@@ -1,7 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import { t as ResetPassword_default } from "./ResetPassword-DHUfERyS.js";
6
-
7
- export { ResetPassword_default as default };
@@ -1,9 +0,0 @@
1
- import "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import "./useMutation-BMZJLpgx.js";
4
- import "./AppLink-CHMMrSFI.js";
5
- import "./useSignupPendingData-BWHwUHhL.js";
6
- import "./useEmailVerificationChannel-BiiuuTUM.js";
7
- import { t as Signup_default } from "./Signup-DfG7Xmkx.js";
8
-
9
- export { Signup_default as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"Signup-DfG7Xmkx.js","names":[],"sources":["../src/slices/auth/utils/isEmailVerificationRequiredError.ts","../src/slices/auth/features/signup/signupSchema.ts","../src/slices/auth/features/signup/Signup.vue"],"sourcesContent":["/**\n * Detects if an error indicates that email verification is required before login.\n * Used in signup flow when auto-login after signup fails due to unverified email.\n */\nexport function isEmailVerificationRequiredError(error: unknown): boolean {\n if (!error || typeof error !== 'object') return false;\n const e = error as {\n error_type?: string;\n error_name?: string;\n name?: string;\n message?: string;\n };\n if (\n e.error_type === 'EmailVerificationRequiredError' ||\n e.error_name === 'EmailVerificationRequiredError' ||\n e.name === 'EmailVerificationRequiredError'\n ) {\n return true;\n }\n const msg = typeof e.message === 'string' ? e.message : '';\n return msg.includes('Please verify your email before logging in');\n}\n","import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { signupSchema } from '@dragonmastery/dragoncore-shared';\nimport { z } from 'zod';\n\n// Define the signup form type\nexport type SignupForm = z.infer<typeof signupSchema>;\n\n// Enhance the schema with metadata (acceptances are rendered from consumer-provided signup requirements)\nexport const signupSchemaWithMetadata = withMetadata(signupSchema, 'signupSchema', {\n email: {\n inputType: 'email',\n placeholder: 'you@example.com',\n helpText: 'Enter the email address you used to register',\n autocomplete: 'email',\n className: 'login-field',\n autofocus: true,\n },\n 'passwords.password': {\n inputType: 'password',\n placeholder: '••••••••',\n helpText: 'Must be at least 8 characters',\n autocomplete: 'current-password',\n className: 'login-field',\n },\n 'passwords.password_confirm': {\n inputType: 'password',\n placeholder: '••••••••',\n helpText: 'Must be at least 8 characters',\n autocomplete: 'current-password',\n className: 'login-field',\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\">Sign Up</h1>\n\n <div\n v-if=\"awaitingVerification\"\n class=\"space-y-4 text-center\"\n >\n <p class=\"text-base-content/80\">\n We sent a verification link to your email address. Click the link to verify your account,\n then you can continue.\n </p>\n <p class=\"text-sm text-base-content/60\">\n If you opened the link in another tab, we'll redirect you automatically when verification\n completes.\n </p>\n </div>\n\n <div v-else-if=\"declinedMessage\" class=\"mb-4\">\n <div class=\"alert alert-warning\">\n <span>{{ declinedMessage }}</span>\n </div>\n </div>\n\n <ZiniaForm\n v-if=\"!awaitingVerification\"\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n >\n <zinia.EmailField />\n <zinia.PasswordsPasswordField />\n <zinia.PasswordsPasswordConfirmField />\n\n <div\n v-if=\"(signupRequirements ?? []).length > 0\"\n class=\"mb-6 p-4 rounded-lg bg-base-100 border border-base-300\"\n >\n <p class=\"font-medium mb-2\">Before signing up, you'll need to accept:</p>\n <ul class=\"list-disc list-inside space-y-1 text-sm text-base-content/80\">\n <li\n v-for=\"config in (signupRequirements ?? [])\"\n :key=\"config.type\"\n >\n <a\n v-if=\"config.url\"\n :href=\"config.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"link link-accent\"\n >\n {{ config.label }}\n </a>\n <span v-else>{{ config.label }}</span>\n </li>\n </ul>\n <p class=\"mt-2 text-sm text-base-content/70\">\n After you click Sign Up, we'll show you each document to review and accept.\n </p>\n </div>\n\n <ZiniaSubmitButton submitText=\"Sign Up\" submittingText=\"Signing up...\" />\n\n <div class=\"text-center mt-2\">\n <p>\n Already have an account?\n <AppLink class=\"link-accent link\" :to=\"loginLink\">Login</AppLink>\n </p>\n </div>\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type { SignupRequirementsDto } from '@dragonmastery/dragoncore-shared';\nimport type { UserDetailsTokenPayload } from '../../../../lib/models/userSession';\nimport AppLink from '../../../../components/AppLink.vue';\nimport { SIGNUP_REQUIREMENTS_KEY } from '../../signupRequirements';\nimport { useSignupPendingData } from '../../useSignupPendingData';\nimport { useEnv } from '../../../../composables/useEnv';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useUserSessionStore } from '../../../../composables/useUserSessionStore';\nimport {\n getValidReturnUrl,\n setEmailVerificationReturnUrl,\n withReturnUrl,\n} from '../../../../utils/useReturnUrl';\nimport { useEmailVerificationChannel } from '../../useEmailVerificationChannel';\nimport { isEmailVerificationRequiredError } from '../../utils/isEmailVerificationRequiredError';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport type { SignupInputDto } from '@dragonmastery/dragoncore-shared';\nimport { jwtDecode } from 'jwt-decode';\nimport { computed, inject, ref } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { signupSchemaWithMetadata } from './signupSchema';\n\nconst REDIRECTED_TO_CONSENTS = Symbol('redirected-to-consents');\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(signupSchemaWithMetadata, {\n storeName: 'signup-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n});\n\nconst sessionStore = useUserSessionStore();\nconst route = useRoute();\nconst router = useRouter();\nconst { emailVerificationMode } = useEnv();\n\nconst returnUrl = computed(() => route.query.returnUrl as string | undefined);\nconst loginLink = computed(() => withReturnUrl('/auth/login', returnUrl.value));\nconst awaitingVerification = ref(false);\n\n// Provided by Auth layout when signupRequirements prop is passed, or app.provide\nconst signupRequirements = inject<SignupRequirementsDto>(SIGNUP_REQUIREMENTS_KEY, () => [], true);\n\nconst { set: setSignupPendingData } = useSignupPendingData();\n\n// Show declined message when returning from consent flow\nconst declinedMessage = computed(() => {\n const declined = route.query.declined;\n if (declined === '1' || declined === 'true') {\n return 'You declined the consent. Your account was not created.';\n }\n return null;\n});\nconst { mutate: signupMutate } = useMutation(\n (api, input: SignupInputDto) => api.users.signupUser(input),\n { skipAuthCheck: true }, // Signup is a public endpoint\n);\nconst { mutate: loginMutate } = useMutation(\n (api, input: { email: string; password: string }) => api.userSessions.login(input),\n { credentials: 'include' }, // Include credentials to allow cookies\n);\n\n// Handle form submission\nconst handleSubmit = async (data: SignupInputDto) => {\n const requirements = signupRequirements ?? [];\n\n if (requirements.length > 0) {\n setSignupPendingData(data);\n const consentPath = withReturnUrl('/auth/signup-consents', returnUrl.value);\n await router.push(consentPath);\n return REDIRECTED_TO_CONSENTS;\n }\n\n const result = await signupMutate(data);\n if (!result) throw new Error('Signup failed');\n\n try {\n const loginResult = await loginMutate({\n email: data.email,\n password: data.passwords.password,\n });\n\n if (!loginResult?.access_token || !loginResult?.user_details_token) {\n throw new Error('Failed to login after signup');\n }\n\n return {\n access_token: loginResult.access_token,\n user_details_token: loginResult.user_details_token,\n };\n } catch (loginError) {\n if (isEmailVerificationRequiredError(loginError)) {\n form.reset();\n if (emailVerificationMode === 'strict') {\n awaitingVerification.value = true;\n const targetUrl = getValidReturnUrl(route, '/');\n setEmailVerificationReturnUrl(targetUrl);\n throw loginError;\n }\n const verifyPath = withReturnUrl('/auth/verify-email', returnUrl.value);\n await router.push(verifyPath);\n throw loginError;\n }\n throw loginError;\n }\n};\n\n// Handle success (not called when we redirect to consent flow)\nconst handleSuccess = async (data: { access_token: string; user_details_token: string } | symbol) => {\n if (data === REDIRECTED_TO_CONSENTS) return;\n\n const payload = data as { access_token: string; user_details_token: string };\n sessionStore.setSession(payload.user_details_token);\n sessionStore.setAccessToken(payload.access_token);\n\n form.reset();\n\n const defaultRedirect = getValidReturnUrl(route, '/');\n const redirectTo =\n emailVerificationMode !== 'disabled'\n ? (() => {\n try {\n const tokenPayload = jwtDecode<UserDetailsTokenPayload>(payload.user_details_token);\n const emailVerified = tokenPayload.details?.user?.email_verified ?? true;\n return emailVerified ? defaultRedirect : withReturnUrl('/auth/verify-email', returnUrl.value);\n } catch {\n return defaultRedirect;\n }\n })()\n : defaultRedirect;\n\n await router.push(redirectTo);\n const wentToVerify = typeof redirectTo === 'string' && redirectTo.startsWith('/auth/verify-email');\n toast.success(\n !wentToVerify\n ? 'Registration successful! You are now logged in.'\n : 'Registration successful! Please check your email to verify your account.',\n );\n};\n\n// Handle error\nconst handleError = (error: unknown) => {\n if (isEmailVerificationRequiredError(error)) {\n return;\n }\n const message = error instanceof Error ? error.message : 'Registration failed';\n toast.error(message);\n};\n\nuseEmailVerificationChannel(\n awaitingVerification,\n (targetUrl) => router.push(targetUrl),\n () => getValidReturnUrl(route, '/'),\n);\n</script>\n"],"mappings":"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"}
@@ -1,269 +0,0 @@
1
- import { l as useUserSessionStore, m as useEnv } from "./useRpcAuth-x5Gn5gR0.js";
2
- import "./useQueryCache-DkRwK5Gz.js";
3
- import { t as useMutation } from "./useMutation-BMZJLpgx.js";
4
- import { i as setEmailVerificationReturnUrl, o as withReturnUrl, r as getValidReturnUrl } from "./useReturnUrl-qFeazn-G.js";
5
- import { n as SIGNUP_REQUIREMENTS_KEY, t as useSignupPendingData } from "./useSignupPendingData-BWHwUHhL.js";
6
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, inject, nextTick, openBlock, ref, toDisplayString, watch } from "vue";
7
- import { useRoute, useRouter } from "vue-router";
8
- import { toast } from "vue3-toastify";
9
- import DOMPurify from "dompurify";
10
- import { marked } from "marked";
11
-
12
- //#region src/slices/auth/features/signup_consents/SignupConsentFlow.vue
13
- const _hoisted_1 = { class: "w-full max-w-md mx-auto mb-8 sm:mb-10 bg-base-200 px-3 py-4 sm:px-6 sm:py-6 rounded-xl shadow-md container min-w-0" };
14
- const _hoisted_2 = {
15
- key: 0,
16
- class: "text-center"
17
- };
18
- const _hoisted_3 = {
19
- key: 1,
20
- class: "space-y-6"
21
- };
22
- const _hoisted_4 = { class: "text-center space-y-1" };
23
- const _hoisted_5 = { class: "text-2xl font-bold" };
24
- const _hoisted_6 = { class: "text-base-content/80" };
25
- const _hoisted_7 = {
26
- key: 0,
27
- class: "alert alert-error flex flex-col gap-3"
28
- };
29
- const _hoisted_8 = { class: "flex flex-wrap gap-2 mt-1" };
30
- const _hoisted_9 = ["disabled"];
31
- const _hoisted_10 = ["disabled"];
32
- const _hoisted_11 = {
33
- key: 1,
34
- class: "text-sm text-base-content/70 mb-2"
35
- };
36
- const _hoisted_12 = ["data-consent-type"];
37
- const _hoisted_13 = ["innerHTML"];
38
- const _hoisted_14 = ["href"];
39
- const _hoisted_15 = {
40
- key: 4,
41
- class: "flex flex-col gap-5"
42
- };
43
- const _hoisted_16 = ["disabled"];
44
- const _hoisted_17 = ["disabled"];
45
- const _sfc_main = /* @__PURE__ */ defineComponent({
46
- __name: "SignupConsentFlow",
47
- setup(__props) {
48
- const signupRequirements = inject(SIGNUP_REQUIREMENTS_KEY, () => [], true);
49
- const { get: getSignupPendingData, clear: clearSignupPendingData } = useSignupPendingData();
50
- const sessionStore = useUserSessionStore();
51
- const router = useRouter();
52
- const route = useRoute();
53
- const { emailVerificationMode } = useEnv();
54
- const returnUrl = computed(() => route.query.returnUrl);
55
- const signupData = computed(() => getSignupPendingData());
56
- const currentStep = ref(1);
57
- const totalSteps = computed(() => signupRequirements?.length ?? 0);
58
- const currentConfig = computed(() => signupRequirements?.[currentStep.value - 1] ?? null);
59
- const hasScrolledToBottom = ref(false);
60
- const scrollEl = ref(null);
61
- function setScrollRef(el) {
62
- scrollEl.value = el instanceof HTMLElement ? el : null;
63
- }
64
- watch(() => currentConfig.value, (config) => {
65
- hasScrolledToBottom.value = !config?.content;
66
- nextTick(() => {
67
- scrollEl.value?.scrollTo(0, 0);
68
- });
69
- }, { immediate: true });
70
- function renderMarkdown(content) {
71
- const html = marked.parse(content);
72
- return DOMPurify.sanitize(html, {
73
- ALLOWED_TAGS: [
74
- "p",
75
- "br",
76
- "strong",
77
- "em",
78
- "u",
79
- "a",
80
- "ul",
81
- "ol",
82
- "li",
83
- "h1",
84
- "h2",
85
- "h3",
86
- "h4",
87
- "blockquote",
88
- "code",
89
- "pre",
90
- "hr"
91
- ],
92
- ALLOWED_ATTR: [
93
- "href",
94
- "target",
95
- "rel"
96
- ]
97
- });
98
- }
99
- function checkScrolledToBottom() {
100
- const el = scrollEl.value;
101
- if (!el) return;
102
- const { scrollTop, scrollHeight, clientHeight } = el;
103
- if (scrollHeight - scrollTop - clientHeight < 10) hasScrolledToBottom.value = true;
104
- }
105
- function onScroll() {
106
- checkScrolledToBottom();
107
- }
108
- nextTick(checkScrolledToBottom);
109
- const declining = ref(false);
110
- const goingBack = ref(false);
111
- const submitting = ref(false);
112
- const submitError = ref(null);
113
- function getErrorMessage(error) {
114
- if (error instanceof Error && error.message) return error.message;
115
- if (error && typeof error === "object" && "message" in error && typeof error.message === "string") return error.message;
116
- return "Registration failed. Please try again.";
117
- }
118
- const { mutate: signupMutate } = useMutation((api, input) => api.users.signupUser(input), { skipAuthCheck: true });
119
- const { mutate: loginMutate } = useMutation((api, input) => api.userSessions.login(input), { credentials: "include" });
120
- async function handleAccept() {
121
- if (!currentConfig.value || !signupData.value) return;
122
- submitError.value = null;
123
- const acceptancesSoFar = {};
124
- for (let i = 0; i < currentStep.value; i++) {
125
- const c = signupRequirements?.[i];
126
- if (c) acceptancesSoFar[c.type] = true;
127
- }
128
- if (currentStep.value >= totalSteps.value) {
129
- submitting.value = true;
130
- try {
131
- await completeSignup(acceptancesSoFar);
132
- } catch (err) {
133
- submitError.value = getErrorMessage(err);
134
- } finally {
135
- submitting.value = false;
136
- }
137
- return;
138
- }
139
- currentStep.value++;
140
- hasScrolledToBottom.value = !currentConfig.value?.content;
141
- nextTick(checkScrolledToBottom);
142
- }
143
- async function completeSignup(acceptances) {
144
- const data = signupData.value;
145
- if (!data) return;
146
- if (!await signupMutate({
147
- ...data,
148
- acceptances
149
- })) throw new Error("Signup failed");
150
- clearSignupPendingData();
151
- if (emailVerificationMode !== "disabled") {
152
- try {
153
- const loginResult$1 = await loginMutate({
154
- email: data.email,
155
- password: data.passwords.password
156
- });
157
- if (loginResult$1?.access_token && loginResult$1?.user_details_token) {
158
- sessionStore.setSession(loginResult$1.user_details_token);
159
- sessionStore.setAccessToken(loginResult$1.access_token);
160
- }
161
- } catch {}
162
- if (emailVerificationMode === "strict") setEmailVerificationReturnUrl(getValidReturnUrl(route, "/"));
163
- window.scrollTo(0, 0);
164
- const verifyPath = withReturnUrl("/auth/verify-email", returnUrl.value);
165
- await router.push(verifyPath);
166
- return;
167
- }
168
- const loginResult = await loginMutate({
169
- email: data.email,
170
- password: data.passwords.password
171
- });
172
- if (!loginResult?.access_token || !loginResult?.user_details_token) throw new Error("Failed to login after signup");
173
- sessionStore.setSession(loginResult.user_details_token);
174
- sessionStore.setAccessToken(loginResult.access_token);
175
- window.scrollTo(0, 0);
176
- const defaultRedirect = getValidReturnUrl(route, "/");
177
- await router.push(defaultRedirect);
178
- toast.success("Registration successful! You are now logged in.");
179
- }
180
- async function handleDecline() {
181
- declining.value = true;
182
- try {
183
- clearSignupPendingData();
184
- const signupPath = withReturnUrl("/auth/signup", returnUrl.value);
185
- await router.push({
186
- path: signupPath,
187
- query: {
188
- ...route.query,
189
- declined: "1"
190
- }
191
- });
192
- } finally {
193
- declining.value = false;
194
- }
195
- }
196
- async function goBackToSignup() {
197
- goingBack.value = true;
198
- try {
199
- clearSignupPendingData();
200
- const signupPath = withReturnUrl("/auth/signup", returnUrl.value);
201
- const { declined: _d, ...rest } = route.query;
202
- await router.push({
203
- path: signupPath,
204
- query: rest
205
- });
206
- } finally {
207
- goingBack.value = false;
208
- }
209
- }
210
- return (_ctx, _cache) => {
211
- return openBlock(), createElementBlock("div", _hoisted_1, [!signupData.value ? (openBlock(), createElementBlock("div", _hoisted_2, [..._cache[0] || (_cache[0] = [createElementVNode("p", { class: "text-base-content/80" }, "Loading...", -1)])])) : currentConfig.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
212
- createElementVNode("div", _hoisted_4, [
213
- createElementVNode("h1", _hoisted_5, toDisplayString(currentConfig.value.label), 1),
214
- createElementVNode("p", _hoisted_6, "Step " + toDisplayString(currentStep.value) + " of " + toDisplayString(totalSteps.value), 1),
215
- _cache[1] || (_cache[1] = createElementVNode("p", { class: "text-base-content/70 text-sm" }, "Review and accept", -1))
216
- ]),
217
- submitError.value ? (openBlock(), createElementBlock("div", _hoisted_7, [
218
- createElementVNode("span", null, toDisplayString(submitError.value), 1),
219
- _cache[2] || (_cache[2] = createElementVNode("p", { class: "text-sm opacity-90" }, " You can try again or go back to sign up and try again later. ", -1)),
220
- createElementVNode("div", _hoisted_8, [createElementVNode("button", {
221
- type: "button",
222
- class: "btn btn-primary btn-sm",
223
- disabled: goingBack.value || submitting.value,
224
- onClick: goBackToSignup
225
- }, toDisplayString(goingBack.value ? "Returning..." : "Back to sign up"), 9, _hoisted_9), createElementVNode("button", {
226
- type: "button",
227
- class: "btn btn-ghost btn-sm",
228
- disabled: submitting.value || goingBack.value,
229
- onClick: handleAccept
230
- }, toDisplayString(submitting.value ? "Submitting..." : "Try again"), 9, _hoisted_10)])
231
- ])) : createCommentVNode("v-if", true),
232
- currentConfig.value.content ? (openBlock(), createElementBlock("p", _hoisted_11, " 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, your account will not be created and you will return to sign up. ")) : createCommentVNode("v-if", true),
233
- createCommentVNode(" Scrollable terms box when content is provided "),
234
- currentConfig.value.content ? (openBlock(), createElementBlock("div", {
235
- key: currentConfig.value.type,
236
- ref: (el) => setScrollRef(el),
237
- 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",
238
- "data-consent-type": currentConfig.value.type,
239
- onScroll
240
- }, [createElementVNode("div", {
241
- class: "prose prose-sm prose-max-w-none max-w-full min-w-0 text-sm prose-headings:font-semibold prose-p:my-2",
242
- innerHTML: renderMarkdown(currentConfig.value.content)
243
- }, null, 8, _hoisted_13)], 40, _hoisted_12)) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [createCommentVNode(" Link-only when no content "), createElementVNode("div", null, [currentConfig.value.url ? (openBlock(), createElementBlock("a", {
244
- key: 0,
245
- href: currentConfig.value.url,
246
- target: "_blank",
247
- rel: "noopener noreferrer",
248
- class: "link link-accent"
249
- }, " View " + toDisplayString(currentConfig.value.label), 9, _hoisted_14)) : createCommentVNode("v-if", true)])], 2112)),
250
- !submitError.value ? (openBlock(), createElementBlock("div", _hoisted_15, [createElementVNode("button", {
251
- type: "button",
252
- class: "btn btn-primary",
253
- disabled: (currentConfig.value.content ? !hasScrolledToBottom.value : false) || submitting.value,
254
- onClick: handleAccept
255
- }, toDisplayString(submitting.value ? "Submitting..." : "Accept and continue"), 9, _hoisted_16), createElementVNode("button", {
256
- type: "button",
257
- class: "btn btn-outline btn-sm btn-error",
258
- disabled: declining.value || submitting.value,
259
- onClick: handleDecline
260
- }, toDisplayString(declining.value ? "Returning..." : "Decline"), 9, _hoisted_17)])) : createCommentVNode("v-if", true)
261
- ])) : createCommentVNode("v-if", true)]);
262
- };
263
- }
264
- });
265
- var SignupConsentFlow_default = _sfc_main;
266
-
267
- //#endregion
268
- export { SignupConsentFlow_default as default };
269
- //# sourceMappingURL=SignupConsentFlow-YGWhF7tj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignupConsentFlow-YGWhF7tj.js","names":["acceptancesSoFar: Record<string, boolean>","input: SignupInputDto"],"sources":["../src/slices/auth/features/signup_consents/SignupConsentFlow.vue"],"sourcesContent":["<template>\n <div class=\"w-full max-w-md mx-auto mb-8 sm:mb-10 bg-base-200 px-3 py-4 sm:px-6 sm:py-6 rounded-xl shadow-md container min-w-0\">\n <div v-if=\"!signupData\" 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 <div class=\"text-center space-y-1\">\n <h1 class=\"text-2xl font-bold\">{{ currentConfig.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-3\">\n <span>{{ submitError }}</span>\n <p class=\"text-sm opacity-90\">\n You can try again or go back to sign up and try again later.\n </p>\n <div class=\"flex flex-wrap gap-2 mt-1\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-sm\"\n :disabled=\"goingBack || submitting\"\n @click=\"goBackToSignup\"\n >\n {{ goingBack ? 'Returning...' : 'Back to sign up' }}\n </button>\n <button\n type=\"button\"\n class=\"btn btn-ghost btn-sm\"\n :disabled=\"submitting || goingBack\"\n @click=\"handleAccept\"\n >\n {{ submitting ? 'Submitting...' : 'Try again' }}\n </button>\n </div>\n </div>\n\n <p v-if=\"currentConfig.content\" class=\"text-sm text-base-content/70 mb-2\">\n 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, your account will not be created and you will return to sign up.\n </p>\n\n <!-- Scrollable terms box when content is provided -->\n <div\n v-if=\"currentConfig.content\"\n :key=\"currentConfig.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=\"currentConfig.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(currentConfig.content)\"\n />\n </div>\n\n <!-- Link-only when no content -->\n <div v-else>\n <a\n v-if=\"currentConfig.url\"\n :href=\"currentConfig.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"link link-accent\"\n >\n View {{ currentConfig.label }}\n </a>\n </div>\n\n <div v-if=\"!submitError\" class=\"flex flex-col gap-5\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n :disabled=\"(currentConfig.content ? !hasScrolledToBottom : false) || submitting\"\n @click=\"handleAccept\"\n >\n {{ submitting ? 'Submitting...' : 'Accept and continue' }}\n </button>\n <button\n type=\"button\"\n class=\"btn btn-outline btn-sm btn-error\"\n :disabled=\"declining || submitting\"\n @click=\"handleDecline\"\n >\n {{ declining ? 'Returning...' : 'Decline' }}\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type { SignupInputDto, SignupRequirementsDto } from '@dragonmastery/dragoncore-shared';\nimport DOMPurify from 'dompurify';\nimport { marked } from 'marked';\nimport { computed, inject, nextTick, ref, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { useSignupPendingData } from '../../useSignupPendingData';\nimport { SIGNUP_REQUIREMENTS_KEY } from '../../signupRequirements';\nimport { useEnv } from '../../../../composables/useEnv';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useUserSessionStore } from '../../../../composables/useUserSessionStore';\nimport {\n getValidReturnUrl,\n setEmailVerificationReturnUrl,\n withReturnUrl,\n} from '../../../../utils/useReturnUrl';\nconst signupRequirements = inject<SignupRequirementsDto>(SIGNUP_REQUIREMENTS_KEY, () => [], true);\n\nconst { get: getSignupPendingData, clear: clearSignupPendingData } = useSignupPendingData();\nconst sessionStore = useUserSessionStore();\nconst router = useRouter();\nconst route = useRoute();\nconst { emailVerificationMode } = useEnv();\n\nconst returnUrl = computed(() => route.query.returnUrl as string | undefined);\n\nconst signupData = computed(() => getSignupPendingData());\n\nconst currentStep = ref(1);\nconst totalSteps = computed(() => signupRequirements?.length ?? 0);\nconst currentConfig = computed(\n () => signupRequirements?.[currentStep.value - 1] ?? null,\n);\n\nconst hasScrolledToBottom = ref(false);\nconst scrollEl = ref<HTMLElement | null>(null);\n\nfunction setScrollRef(el: unknown) {\n scrollEl.value = el instanceof HTMLElement ? el : null;\n}\n\nwatch(\n () => currentConfig.value,\n (config) => {\n hasScrolledToBottom.value = !config?.content;\n nextTick(() => {\n scrollEl.value?.scrollTo(0, 0);\n });\n },\n { immediate: true },\n);\n\nfunction renderMarkdown(content: string): string {\n const html = marked.parse(content) as string;\n return DOMPurify.sanitize(html, {\n ALLOWED_TAGS: ['p', 'br', 'strong', 'em', 'u', 'a', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'blockquote', 'code', 'pre', 'hr'],\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\nnextTick(checkScrolledToBottom);\n\nconst declining = ref(false);\nconst goingBack = 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 (error && typeof error === 'object' && 'message' in error && typeof (error as { message: unknown }).message === 'string') {\n return (error as { message: string }).message;\n }\n return 'Registration failed. Please try again.';\n}\n\nconst { mutate: signupMutate } = useMutation(\n (api, input: SignupInputDto) => api.users.signupUser(input),\n { skipAuthCheck: true },\n);\nconst { mutate: loginMutate } = useMutation(\n (api, input: { email: string; password: string }) => api.userSessions.login(input),\n { credentials: 'include' },\n);\n\nasync function handleAccept() {\n const config = currentConfig.value;\n if (!config || !signupData.value) 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 = signupRequirements?.[i];\n if (c) acceptancesSoFar[c.type] = true;\n }\n\n if (currentStep.value >= totalSteps.value) {\n submitting.value = true;\n try {\n await completeSignup(acceptancesSoFar);\n } catch (err) {\n submitError.value = getErrorMessage(err);\n } finally {\n submitting.value = false;\n }\n return;\n }\n\n currentStep.value++;\n hasScrolledToBottom.value = !currentConfig.value?.content;\n nextTick(checkScrolledToBottom);\n}\n\nasync function completeSignup(acceptances: Record<string, boolean>) {\n const data = signupData.value;\n if (!data) return;\n\n const input: SignupInputDto = {\n ...data,\n acceptances,\n };\n\n const result = await signupMutate(input);\n if (!result) throw new Error('Signup failed');\n\n clearSignupPendingData();\n\n if (emailVerificationMode !== 'disabled') {\n // Log user in with unverified session so they can use Resend on verify-email page\n try {\n const loginResult = await loginMutate({\n email: data.email,\n password: data.passwords.password,\n });\n if (loginResult?.access_token && loginResult?.user_details_token) {\n sessionStore.setSession(loginResult.user_details_token);\n sessionStore.setAccessToken(loginResult.access_token);\n }\n } catch {\n // Login may fail; still redirect so user can verify via email link\n }\n if (emailVerificationMode === 'strict') {\n const targetUrl = getValidReturnUrl(route, '/');\n setEmailVerificationReturnUrl(targetUrl);\n }\n window.scrollTo(0, 0);\n const verifyPath = withReturnUrl('/auth/verify-email', returnUrl.value);\n await router.push(verifyPath);\n return;\n }\n\n const loginResult = await loginMutate({\n email: data.email,\n password: data.passwords.password,\n });\n\n if (!loginResult?.access_token || !loginResult?.user_details_token) {\n throw new Error('Failed to login after signup');\n }\n\n sessionStore.setSession(loginResult.user_details_token);\n sessionStore.setAccessToken(loginResult.access_token);\n\n window.scrollTo(0, 0);\n const defaultRedirect = getValidReturnUrl(route, '/');\n await router.push(defaultRedirect);\n toast.success('Registration successful! You are now logged in.');\n}\n\nasync function handleDecline() {\n declining.value = true;\n try {\n clearSignupPendingData();\n const signupPath = withReturnUrl('/auth/signup', returnUrl.value);\n await router.push({ path: signupPath, query: { ...route.query, declined: '1' } });\n } finally {\n declining.value = false;\n }\n}\n\nasync function goBackToSignup() {\n goingBack.value = true;\n try {\n clearSignupPendingData();\n const signupPath = withReturnUrl('/auth/signup', returnUrl.value);\n const { declined: _d, ...rest } = route.query;\n await router.push({ path: signupPath, query: rest });\n } finally {\n goingBack.value = false;\n }\n}\n\n</script>\n"],"mappings":"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"}