@dragonmastery/dragoncore-vue 0.0.19 → 0.0.20

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 (177) hide show
  1. package/dist/AppLink-CHMMrSFI.js +54 -0
  2. package/dist/AppLink-CHMMrSFI.js.map +1 -0
  3. package/dist/Appearance-D5pwxuf4.js +3 -0
  4. package/dist/{Appearance-BfPdKMXw.js → Appearance-DxWTyx1M.js} +1 -1
  5. package/dist/{Appearance-BfPdKMXw.js.map → Appearance-DxWTyx1M.js.map} +1 -1
  6. package/dist/{ChangePasswordPage-DXzU3NI9.js → ChangePasswordPage-DBXchGfn.js} +2 -2
  7. package/dist/{ChangePasswordPage-DXzU3NI9.js.map → ChangePasswordPage-DBXchGfn.js.map} +1 -1
  8. package/dist/ChangePasswordPage-Re323roR.js +6 -0
  9. package/dist/ConsentRequired-qMNT-U2T.js +204 -0
  10. package/dist/ConsentRequired-qMNT-U2T.js.map +1 -0
  11. package/dist/CreateTeamForm-DXN1hoJh.js +34 -0
  12. package/dist/CreateTeamMemberForm-CLHT1HN_.js +34 -0
  13. package/dist/{CreateUserPage-bwR6fq5C.js → CreateUserPage-B0iHLsm5.js} +2 -2
  14. package/dist/{CreateUserPage-bwR6fq5C.js.map → CreateUserPage-B0iHLsm5.js.map} +1 -1
  15. package/dist/CreateUserPage-C8107z_O.js +6 -0
  16. package/dist/CreditBalanceDashboard-D7MFKfh6.js +34 -0
  17. package/dist/CreditManagement-A8hVPoSp.js +34 -0
  18. package/dist/CustomerCreateSupportTicketForm-B8JQNC1I.js +34 -0
  19. package/dist/{CustomerSupportTicketDetailPage-D_1t2EpN.js → CustomerSupportTicketDetailPage-DyJTKtLU.js} +9 -9
  20. package/dist/{CustomerSupportTicketDetailPage-D_1t2EpN.js.map → CustomerSupportTicketDetailPage-DyJTKtLU.js.map} +1 -1
  21. package/dist/CustomerSupportTicketList-DR-UfcGr.js +34 -0
  22. package/dist/CustomerSupportTicketParent-C-KzT4qQ.js +7 -0
  23. package/dist/{CustomerSupportTicketParent-B09_iFpJ.js → CustomerSupportTicketParent-CldxkQ75.js} +4 -4
  24. package/dist/{CustomerSupportTicketParent-B09_iFpJ.js.map → CustomerSupportTicketParent-CldxkQ75.js.map} +1 -1
  25. package/dist/CustomerSupportTicketSuccess-SBdIcS-_.js +34 -0
  26. package/dist/EditTeamForm-BDQkhBbx.js +34 -0
  27. package/dist/EditTeamMemberForm-CBxFLoIy.js +6 -0
  28. package/dist/{EditTeamMemberForm-DJW7yRQW.js → EditTeamMemberForm-CiNb4nNG.js} +2 -2
  29. package/dist/{EditTeamMemberForm-DJW7yRQW.js.map → EditTeamMemberForm-CiNb4nNG.js.map} +1 -1
  30. package/dist/EditUserPage-BWKrAKZZ.js +7 -0
  31. package/dist/{EditUserPage-aDygGmfD.js → EditUserPage-DpV3dm-c.js} +4 -4
  32. package/dist/{EditUserPage-aDygGmfD.js.map → EditUserPage-DpV3dm-c.js.map} +1 -1
  33. package/dist/ForgotPassword-D3OQqbrD.js +7 -0
  34. package/dist/{ForgotPassword-CJjzm9GK.js → ForgotPassword-roKwDfce.js} +4 -3
  35. package/dist/{ForgotPassword-CJjzm9GK.js.map → ForgotPassword-roKwDfce.js.map} +1 -1
  36. package/dist/{LoginForm-IEP-hEh0.js → LoginForm-BGDymDnO.js} +5 -4
  37. package/dist/{LoginForm-IEP-hEh0.js.map → LoginForm-BGDymDnO.js.map} +1 -1
  38. package/dist/LoginForm-C97dUsU3.js +7 -0
  39. package/dist/{Logout-Cm9kEzgH.js → Logout-Cbw1SacV.js} +5 -4
  40. package/dist/{Logout-Cm9kEzgH.js.map → Logout-Cbw1SacV.js.map} +1 -1
  41. package/dist/Logout-DY3iorah.js +7 -0
  42. package/dist/{MfaSetup-Ch0w-gTN.js → MfaSetup-CwYXnvgW.js} +5 -4
  43. package/dist/{MfaSetup-Ch0w-gTN.js.map → MfaSetup-CwYXnvgW.js.map} +1 -1
  44. package/dist/MfaSetup-DAQV8MhP.js +8 -0
  45. package/dist/{MfaVerify-BwzjVrTj.js → MfaVerify-CIlen2i5.js} +6 -5
  46. package/dist/{MfaVerify-BwzjVrTj.js.map → MfaVerify-CIlen2i5.js.map} +1 -1
  47. package/dist/MfaVerify-D-_oX6gL.js +8 -0
  48. package/dist/RecordVersionViewer-BWZ78vvE.js +490 -0
  49. package/dist/RecordVersionViewer-BWZ78vvE.js.map +1 -0
  50. package/dist/{ResetPassword-DuLuXaNp.js → ResetPassword-BgKyXQ4q.js} +4 -3
  51. package/dist/{ResetPassword-DuLuXaNp.js.map → ResetPassword-BgKyXQ4q.js.map} +1 -1
  52. package/dist/ResetPassword-CkPqUFbq.js +7 -0
  53. package/dist/{SavedFiltersPage-CawED9Oz.js → SavedFiltersPage-BlzfWkaj.js} +32 -30
  54. package/dist/{SavedFiltersPage-CawED9Oz.js.map → SavedFiltersPage-BlzfWkaj.js.map} +1 -1
  55. package/dist/Signup-C2FshPnc.js +8 -0
  56. package/dist/Signup-qBqsSYVz.js +213 -0
  57. package/dist/Signup-qBqsSYVz.js.map +1 -0
  58. package/dist/SignupConsentFlow-DG2IGikE.js +243 -0
  59. package/dist/SignupConsentFlow-DG2IGikE.js.map +1 -0
  60. package/dist/SignupRequirementsPage-DnLpQfB8.js +360 -0
  61. package/dist/SignupRequirementsPage-DnLpQfB8.js.map +1 -0
  62. package/dist/StaffCreateSupportTicketForm-BrGB7tqD.js +34 -0
  63. package/dist/{StaffSupportTicketDetailPage-DZZN3jmt.js → StaffSupportTicketDetailPage-D0SjH36N.js} +11 -11
  64. package/dist/{StaffSupportTicketDetailPage-DZZN3jmt.js.map → StaffSupportTicketDetailPage-D0SjH36N.js.map} +1 -1
  65. package/dist/StaffSupportTicketList-HA4NlkKE.js +34 -0
  66. package/dist/StaffSupportTicketParent-BTbpNdfc.js +7 -0
  67. package/dist/{StaffSupportTicketParent-BYxQPuhI.js → StaffSupportTicketParent-Dk6RFRMt.js} +4 -4
  68. package/dist/{StaffSupportTicketParent-BYxQPuhI.js.map → StaffSupportTicketParent-Dk6RFRMt.js.map} +1 -1
  69. package/dist/StaffSupportTicketSuccess-CTeMG_iK.js +34 -0
  70. package/dist/{SupportStaffPage-B05UR5LK.js → SupportStaffPage-DFcgP8iE.js} +7 -7
  71. package/dist/{SupportStaffPage-B05UR5LK.js.map → SupportStaffPage-DFcgP8iE.js.map} +1 -1
  72. package/dist/{SupportTicketDevLifecycleBadge-Ba-Rm6QW.js → SupportTicketDevLifecycleBadge-EMrQHfyG.js} +1 -1
  73. package/dist/{SupportTicketDevLifecycleBadge-Ba-Rm6QW.js.map → SupportTicketDevLifecycleBadge-EMrQHfyG.js.map} +1 -1
  74. package/dist/{SupportTicketMaintenancePage-BoZpjcAF.js → SupportTicketMaintenancePage-BCW0eZxV.js} +4 -4
  75. package/dist/{SupportTicketMaintenancePage-BoZpjcAF.js.map → SupportTicketMaintenancePage-BCW0eZxV.js.map} +1 -1
  76. package/dist/TeamAttachmentsTab-IaRtuF55.js +34 -0
  77. package/dist/TeamHistoryTab-DWcVhkwC.js +4 -0
  78. package/dist/{TeamHistoryTab-BrC6FFIw.js → TeamHistoryTab-PVS8A-6K.js} +3 -3
  79. package/dist/{TeamHistoryTab-BrC6FFIw.js.map → TeamHistoryTab-PVS8A-6K.js.map} +1 -1
  80. package/dist/TeamList-BNo_ime8.js +34 -0
  81. package/dist/TeamMemberList-DJKYxfsx.js +34 -0
  82. package/dist/TeamMemberParent-Bk6dqXsh.js +34 -0
  83. package/dist/{TeamNotesTab-B2eETkAz.js → TeamNotesTab-D7ELC1EW.js} +5 -5
  84. package/dist/{TeamNotesTab-B2eETkAz.js.map → TeamNotesTab-D7ELC1EW.js.map} +1 -1
  85. package/dist/TeamNotesTab-JRWYpqRJ.js +7 -0
  86. package/dist/TeamParent-TSWT_0bK.js +34 -0
  87. package/dist/{TimelineNoteInput-C0a0WRQC.js → TimelineNoteInput-D-NjzUiF.js} +2 -2
  88. package/dist/{TimelineNoteInput-C0a0WRQC.js.map → TimelineNoteInput-D-NjzUiF.js.map} +1 -1
  89. package/dist/{TimelineSystemEvent-Dj2TMOF6.js → TimelineSystemEvent-Cc6HMeO3.js} +4 -4
  90. package/dist/{TimelineSystemEvent-Dj2TMOF6.js.map → TimelineSystemEvent-Cc6HMeO3.js.map} +1 -1
  91. package/dist/UserListPage-BjHbDpvC.js +4 -0
  92. package/dist/{UserListPage-QSdxrJT6.js → UserListPage-DdJFeLP1.js} +3 -3
  93. package/dist/{UserListPage-QSdxrJT6.js.map → UserListPage-DdJFeLP1.js.map} +1 -1
  94. package/dist/{UserProfilePage-X4z2lG-J.js → UserProfilePage-BhCxv0N9.js} +4 -4
  95. package/dist/{UserProfilePage-X4z2lG-J.js.map → UserProfilePage-BhCxv0N9.js.map} +1 -1
  96. package/dist/UserProfilePage-BxIMig4s.js +7 -0
  97. package/dist/VerifyEmail-BYSYk5ef.js +7 -0
  98. package/dist/{VerifyEmail-8bsvoDdM.js → VerifyEmail-DXYcjCX4.js} +5 -4
  99. package/dist/{VerifyEmail-8bsvoDdM.js.map → VerifyEmail-DXYcjCX4.js.map} +1 -1
  100. package/dist/{VerifyEmailRequired-CN1FU1AE.js → VerifyEmailRequired-DeMYFS0I.js} +23 -8
  101. package/dist/VerifyEmailRequired-DeMYFS0I.js.map +1 -0
  102. package/dist/ViewTeam-DIxy437n.js +34 -0
  103. package/dist/ViewTeamMember-DIaIqfbX.js +34 -0
  104. package/dist/{convertToLocalDateTime-DOSGtMn8.js → convertToLocalDateTime-CFhtN6PI.js} +12 -2
  105. package/dist/convertToLocalDateTime-CFhtN6PI.js.map +1 -0
  106. package/dist/{displayIdFormatter-B1ZKgofu.js → displayIdFormatter-Dz900Awr.js} +1 -1
  107. package/dist/{displayIdFormatter-B1ZKgofu.js.map → displayIdFormatter-Dz900Awr.js.map} +1 -1
  108. package/dist/{extractRpcErrorMessage-C_UbKgHL.js → extractRpcErrorMessage-Di8E8-Wh.js} +1 -1
  109. package/dist/{extractRpcErrorMessage-C_UbKgHL.js.map → extractRpcErrorMessage-Di8E8-Wh.js.map} +1 -1
  110. package/dist/index.d.ts +755 -708
  111. package/dist/index.js +36 -33
  112. package/dist/{mfaSchema-nfNCcEhM.js → mfaSchema-s-T8m-7-.js} +1 -1
  113. package/dist/{mfaSchema-nfNCcEhM.js.map → mfaSchema-s-T8m-7-.js.map} +1 -1
  114. package/dist/{src-CkgUIye9.js → src--FuqlDhU.js} +397 -802
  115. package/dist/src--FuqlDhU.js.map +1 -0
  116. package/dist/{useBreadcrumbs-DmgSucoe.js → useBreadcrumbs-qB6ghsAf.js} +1 -1
  117. package/dist/{useBreadcrumbs-DmgSucoe.js.map → useBreadcrumbs-qB6ghsAf.js.map} +1 -1
  118. package/dist/{useMutation-DbzXtqf1.js → useMutation-Dhx2gMgS.js} +3 -3
  119. package/dist/{useMutation-DbzXtqf1.js.map → useMutation-Dhx2gMgS.js.map} +1 -1
  120. package/dist/{useQuery-BKb5JXVS.js → useQuery-DxmMxM8z.js} +5 -5
  121. package/dist/useQuery-DxmMxM8z.js.map +1 -0
  122. package/dist/{useQueryCache-CHG4-HGF.js → useQueryCache-CJKZquh6.js} +2 -2
  123. package/dist/{useQueryCache-CHG4-HGF.js.map → useQueryCache-CJKZquh6.js.map} +1 -1
  124. package/dist/{useReturnUrl-Da8PpLb9.js → useReturnUrl-qFeazn-G.js} +2 -54
  125. package/dist/useReturnUrl-qFeazn-G.js.map +1 -0
  126. package/dist/{useRpcAuth-8Byr6SSI.js → useRpcAuth-Bse-lggK.js} +3 -2
  127. package/dist/useRpcAuth-Bse-lggK.js.map +1 -0
  128. package/dist/useSignupPendingData-BWHwUHhL.js +47 -0
  129. package/dist/useSignupPendingData-BWHwUHhL.js.map +1 -0
  130. package/package.json +5 -2
  131. package/src/daisyui.css +1 -0
  132. package/dist/Appearance-C3WguxT-.js +0 -3
  133. package/dist/ChangePasswordPage-BuVNYC_G.js +0 -6
  134. package/dist/CreateTeamForm-BuMrZ169.js +0 -32
  135. package/dist/CreateTeamMemberForm-D0xqR9me.js +0 -32
  136. package/dist/CreateUserPage-BWIvFF-4.js +0 -6
  137. package/dist/CreditBalanceDashboard-BR-er7gs.js +0 -32
  138. package/dist/CreditManagement-CyjrE1ep.js +0 -32
  139. package/dist/CustomerCreateSupportTicketForm-C9-CLRRQ.js +0 -32
  140. package/dist/CustomerSupportTicketList-B0dC7lgD.js +0 -32
  141. package/dist/CustomerSupportTicketParent-D0wLnKXf.js +0 -7
  142. package/dist/CustomerSupportTicketSuccess-BvuBglg8.js +0 -32
  143. package/dist/EditTeamForm-BJlOKEkI.js +0 -32
  144. package/dist/EditTeamMemberForm-CbDvTLXI.js +0 -6
  145. package/dist/EditUserPage-CsHl1h_g.js +0 -7
  146. package/dist/ForgotPassword-DJjmzU_m.js +0 -7
  147. package/dist/LoginForm-BeiI_y3E.js +0 -7
  148. package/dist/Logout-DmZTNQDP.js +0 -7
  149. package/dist/MfaSetup-BwkenBRD.js +0 -8
  150. package/dist/MfaVerify-BaUROEol.js +0 -8
  151. package/dist/ResetPassword-DEFj1pgV.js +0 -7
  152. package/dist/Signup-C94alv87.js +0 -166
  153. package/dist/Signup-C94alv87.js.map +0 -1
  154. package/dist/Signup-CFUbdrYs.js +0 -7
  155. package/dist/StaffCreateSupportTicketForm-AxprwWRv.js +0 -32
  156. package/dist/StaffSupportTicketList-DYKysNs3.js +0 -32
  157. package/dist/StaffSupportTicketParent-CT8oYFd6.js +0 -7
  158. package/dist/StaffSupportTicketSuccess-zWEagE4E.js +0 -32
  159. package/dist/TeamAttachmentsTab-BFRMbPlZ.js +0 -32
  160. package/dist/TeamHistoryTab-CYrt5KnE.js +0 -4
  161. package/dist/TeamList-CF5BQhfx.js +0 -32
  162. package/dist/TeamMemberList-Dfi2iKOH.js +0 -32
  163. package/dist/TeamMemberParent-DXcumR-Q.js +0 -32
  164. package/dist/TeamNotesTab-Bv_HPC6f.js +0 -7
  165. package/dist/TeamParent-DLoNn-mW.js +0 -32
  166. package/dist/UserListPage-CBwfXo15.js +0 -4
  167. package/dist/UserProfilePage-cTrZuwOT.js +0 -7
  168. package/dist/VerifyEmail-Cpc0umIu.js +0 -7
  169. package/dist/VerifyEmailRequired-CN1FU1AE.js.map +0 -1
  170. package/dist/ViewTeam-DpjnoTwo.js +0 -32
  171. package/dist/ViewTeamMember-CRb2oBHG.js +0 -32
  172. package/dist/convertToLocalDateTime-DOSGtMn8.js.map +0 -1
  173. package/dist/src-CkgUIye9.js.map +0 -1
  174. package/dist/useQuery-BKb5JXVS.js.map +0 -1
  175. package/dist/useReturnUrl-Da8PpLb9.js.map +0 -1
  176. package/dist/useRpcAuth-8Byr6SSI.js.map +0 -1
  177. /package/dist/{TeamMembersTab-DTJxmb-M.js → TeamMembersTab-CBB2Yl_I.js} +0 -0
@@ -0,0 +1,54 @@
1
+ import { computed, createBlock, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
2
+ import { RouterLink } from "vue-router";
3
+
4
+ //#region src/components/AppLink.vue
5
+ const _hoisted_1 = ["href"];
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "AppLink",
8
+ props: {
9
+ to: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ activeClass: {
14
+ type: String,
15
+ default: "active"
16
+ },
17
+ exactActiveClass: {
18
+ type: String,
19
+ default: "exact-active"
20
+ }
21
+ },
22
+ setup(__props) {
23
+ const props = __props;
24
+ const isExternalLink = computed(() => {
25
+ return typeof props.to === "string" && props.to.startsWith("http");
26
+ });
27
+ return (_ctx, _cache) => {
28
+ return isExternalLink.value ? (openBlock(), createElementBlock("a", mergeProps({ key: 0 }, _ctx.$attrs, {
29
+ href: __props.to,
30
+ target: "_blank",
31
+ rel: "noopener noreferrer",
32
+ class: [_ctx.$attrs.class]
33
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1)) : (openBlock(), createBlock(unref(RouterLink), mergeProps({ key: 1 }, _ctx.$attrs, {
34
+ to: __props.to,
35
+ class: [_ctx.$attrs.class],
36
+ "active-class": __props.activeClass,
37
+ "exact-active-class": __props.exactActiveClass
38
+ }), {
39
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
40
+ _: 3
41
+ }, 16, [
42
+ "to",
43
+ "class",
44
+ "active-class",
45
+ "exact-active-class"
46
+ ]));
47
+ };
48
+ }
49
+ });
50
+ var AppLink_default = _sfc_main;
51
+
52
+ //#endregion
53
+ export { AppLink_default as t };
54
+ //# sourceMappingURL=AppLink-CHMMrSFI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppLink-CHMMrSFI.js","names":["$attrs"],"sources":["../src/components/AppLink.vue"],"sourcesContent":["<template>\n <template v-if=\"isExternalLink\">\n <a\n v-bind=\"$attrs\"\n :href=\"to\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n :class=\"[$attrs.class]\"\n >\n <slot />\n </a>\n </template>\n <template v-else>\n <router-link\n v-bind=\"$attrs\"\n :to=\"to\"\n :class=\"[$attrs.class]\"\n :active-class=\"activeClass\"\n :exact-active-class=\"exactActiveClass\"\n >\n <slot />\n </router-link>\n </template>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { RouterLink } from 'vue-router';\n\nconst props = defineProps({\n to: {\n type: String,\n required: true,\n },\n activeClass: {\n type: String,\n default: 'active',\n },\n exactActiveClass: {\n type: String,\n default: 'exact-active',\n },\n});\n\nconst isExternalLink = computed(() => {\n return typeof props.to === 'string' && props.to.startsWith('http');\n});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAed,MAAM,iBAAiB,eAAe;AACpC,UAAO,OAAO,MAAM,OAAO,YAAY,MAAM,GAAG,WAAW,OAAO;IAClE;;UA7CgB,eAAA,SAAA,WAAA,EACd,mBAQI,KARJ,WAQI,EAAA,KAAA,GAAA,EAPMA,KAAAA,QAAM;IACb,MAAM,QAAA;IACP,QAAO;IACP,KAAI;IACH,OAAK,CAAGA,KAAAA,OAAO,MAAK;QAErB,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA,KAAA,WAAA,EAIV,YAQc,MAAA,WAAA,EARd,WAQc,EAAA,KAAA,GAAA,EAPJA,KAAAA,QAAM;IACb,IAAI,QAAA;IACJ,OAAK,CAAGA,KAAAA,OAAO,MAAK;IACpB,gBAAc,QAAA;IACd,sBAAoB,QAAA;;2BAEb,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { t as Appearance_default } from "./Appearance-DxWTyx1M.js";
2
+
3
+ export { Appearance_default as default };
@@ -67,4 +67,4 @@ var Appearance_default = _sfc_main;
67
67
 
68
68
  //#endregion
69
69
  export { ThemePref_default as n, Appearance_default as t };
70
- //# sourceMappingURL=Appearance-BfPdKMXw.js.map
70
+ //# sourceMappingURL=Appearance-DxWTyx1M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Appearance-BfPdKMXw.js","names":[],"sources":["../src/components/ThemePref.vue","../src/slices/user/features/Appearance.vue"],"sourcesContent":["<template>\n <div class=\"btn btn-ghost btn-circle\" @click=\"next()\">\n <template v-if=\"colorMode == 'dark'\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"h-6 w-6\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\"\n />\n </svg>\n </template>\n <template v-else>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"h-6 w-6\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z\"\n />\n </svg>\n </template>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { useColorMode, useCycleList } from '@vueuse/core';\nimport { watchEffect } from 'vue';\n\nconst colorMode = useColorMode({\n emitAuto: true,\n attribute: 'data-theme',\n initialValue: 'dark',\n modes: {\n dark: 'dark',\n light: 'light',\n },\n});\n\nconst { state, next } = useCycleList(['dark', 'light'], {\n initialValue: colorMode,\n});\n\nwatchEffect(() => (colorMode.value = state.value as any));\n</script>\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <div>\n <span>Theme Preference: <ThemePref /></span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ThemePref from '../../../components/ThemePref.vue';\n</script>\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,YAAY,aAAa;GAC7B,UAAU;GACV,WAAW;GACX,cAAc;GACd,OAAO;IACL,MAAM;IACN,OAAO;IACR;GACF,CAAC;EAEF,MAAM,EAAE,OAAO,SAAS,aAAa,CAAC,QAAQ,QAAQ,EAAE,EACtD,cAAc,WACf,CAAC;AAEF,oBAAmB,UAAU,QAAQ,MAAM,MAAc;;uBArDvD,mBAiCM,OAAA;IAjCD,OAAM;IAA4B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,KAAI,EAAA;OAChC,MAAA,UAAS,IAAA,UAAA,WAAA,EACvB,mBAaM,OAbN,cAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CALJ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE;qCAKN,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CALJ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE;;;;;;;;;;;;;;uBC7BV,mBAIM,OAJN,YAIM,CAHJ,mBAEM,OAAA,MAAA,CADJ,mBAA4C,QAAA,MAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAtC,sBAAkB,GAAA,GAAA,YAAa,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Appearance-DxWTyx1M.js","names":[],"sources":["../src/components/ThemePref.vue","../src/slices/user/features/Appearance.vue"],"sourcesContent":["<template>\n <div class=\"btn btn-ghost btn-circle\" @click=\"next()\">\n <template v-if=\"colorMode == 'dark'\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"h-6 w-6\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\"\n />\n </svg>\n </template>\n <template v-else>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"h-6 w-6\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z\"\n />\n </svg>\n </template>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { useColorMode, useCycleList } from '@vueuse/core';\nimport { watchEffect } from 'vue';\n\nconst colorMode = useColorMode({\n emitAuto: true,\n attribute: 'data-theme',\n initialValue: 'dark',\n modes: {\n dark: 'dark',\n light: 'light',\n },\n});\n\nconst { state, next } = useCycleList(['dark', 'light'], {\n initialValue: colorMode,\n});\n\nwatchEffect(() => (colorMode.value = state.value as any));\n</script>\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <div>\n <span>Theme Preference: <ThemePref /></span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ThemePref from '../../../components/ThemePref.vue';\n</script>\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,YAAY,aAAa;GAC7B,UAAU;GACV,WAAW;GACX,cAAc;GACd,OAAO;IACL,MAAM;IACN,OAAO;IACR;GACF,CAAC;EAEF,MAAM,EAAE,OAAO,SAAS,aAAa,CAAC,QAAQ,QAAQ,EAAE,EACtD,cAAc,WACf,CAAC;AAEF,oBAAmB,UAAU,QAAQ,MAAM,MAAc;;uBArDvD,mBAiCM,OAAA;IAjCD,OAAM;IAA4B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,KAAI,EAAA;OAChC,MAAA,UAAS,IAAA,UAAA,WAAA,EACvB,mBAaM,OAbN,cAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CALJ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE;qCAKN,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CALJ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE;;;;;;;;;;;;;;uBC7BV,mBAIM,OAJN,YAIM,CAHJ,mBAEM,OAAA,MAAA,CADJ,mBAA4C,QAAA,MAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAtC,sBAAkB,GAAA,GAAA,YAAa,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -1,4 +1,4 @@
1
- import { t as useMutation } from "./useMutation-DbzXtqf1.js";
1
+ import { t as useMutation } from "./useMutation-Dhx2gMgS.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-DXzU3NI9.js.map
86
+ //# sourceMappingURL=ChangePasswordPage-DBXchGfn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordPage-DXzU3NI9.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-DBXchGfn.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,6 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import { t as ChangePasswordPage_default } from "./ChangePasswordPage-DBXchGfn.js";
5
+
6
+ export { ChangePasswordPage_default as default };
@@ -0,0 +1,204 @@
1
+ import { l as useUserSessionStore } from "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import { t as useMutation } from "./useMutation-Dhx2gMgS.js";
4
+ import { t as useQuery } from "./useQuery-DxmMxM8z.js";
5
+ import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, openBlock, reactive, ref, renderList, renderSlot, toDisplayString, unref, watch, withCtx } from "vue";
6
+ import { useRouter } from "vue-router";
7
+ import { toast } from "vue3-toastify";
8
+ import { recordConsentsSchema } from "@dragonmastery/dragoncore-shared";
9
+ import { useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
10
+ import DOMPurify from "dompurify";
11
+ import { marked } from "marked";
12
+
13
+ //#region src/slices/auth/shared/ConsentTermsSection.vue
14
+ const _hoisted_1$1 = { class: "mb-6" };
15
+ const _hoisted_2$1 = { class: "font-semibold mb-2" };
16
+ const _hoisted_3$1 = ["data-consent-type", "innerHTML"];
17
+ const _hoisted_4$1 = { class: "mb-3" };
18
+ const _hoisted_5 = ["href"];
19
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20
+ __name: "ConsentTermsSection",
21
+ props: {
22
+ config: {},
23
+ checkboxDisabled: { type: Boolean }
24
+ },
25
+ emits: ["scrolledToBottom"],
26
+ setup(__props, { emit: __emit }) {
27
+ const emit = __emit;
28
+ const scrollEl = ref(null);
29
+ function setScrollRef(el) {
30
+ scrollEl.value = el instanceof HTMLElement ? el : null;
31
+ }
32
+ /** Renders markdown content as sanitized HTML */
33
+ function renderMarkdown(content) {
34
+ const html = marked.parse(content);
35
+ return DOMPurify.sanitize(html, {
36
+ ALLOWED_TAGS: [
37
+ "p",
38
+ "br",
39
+ "strong",
40
+ "em",
41
+ "u",
42
+ "a",
43
+ "ul",
44
+ "ol",
45
+ "li",
46
+ "h1",
47
+ "h2",
48
+ "h3",
49
+ "h4",
50
+ "blockquote",
51
+ "code",
52
+ "pre",
53
+ "hr"
54
+ ],
55
+ ALLOWED_ATTR: [
56
+ "href",
57
+ "target",
58
+ "rel"
59
+ ]
60
+ });
61
+ }
62
+ function checkScrolledToBottom() {
63
+ const el = scrollEl.value;
64
+ if (!el) return;
65
+ const { scrollTop, scrollHeight, clientHeight } = el;
66
+ if (scrollHeight - scrollTop - clientHeight < 10) emit("scrolledToBottom");
67
+ }
68
+ function onScroll() {
69
+ checkScrolledToBottom();
70
+ }
71
+ nextTick(checkScrolledToBottom);
72
+ return (_ctx, _cache) => {
73
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
74
+ createElementVNode("div", _hoisted_2$1, toDisplayString(__props.config.label), 1),
75
+ createCommentVNode(" Scrollable terms box when content is provided (supports Markdown) "),
76
+ __props.config.content ? (openBlock(), createElementBlock("div", {
77
+ key: 0,
78
+ ref: (el) => setScrollRef(el),
79
+ class: "border border-base-300 rounded-lg p-4 bg-base-100 overflow-y-auto mb-3 text-sm prose prose-sm max-h-48 prose-headings:font-semibold prose-p:my-2",
80
+ "data-consent-type": __props.config.type,
81
+ onScroll,
82
+ innerHTML: renderMarkdown(__props.config.content)
83
+ }, null, 40, _hoisted_3$1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Link-only fallback when no content "), createElementVNode("div", _hoisted_4$1, [__props.config.url ? (openBlock(), createElementBlock("a", {
84
+ key: 0,
85
+ href: __props.config.url,
86
+ target: "_blank",
87
+ rel: "noopener noreferrer",
88
+ class: "link link-accent"
89
+ }, " View " + toDisplayString(__props.config.label), 9, _hoisted_5)) : createCommentVNode("v-if", true)])], 2112)),
90
+ renderSlot(_ctx.$slots, "checkbox", {
91
+ label: __props.config.content ? `I have read and accept the ${__props.config.label}` : `I accept the ${__props.config.label}`,
92
+ disabled: __props.checkboxDisabled
93
+ })
94
+ ]);
95
+ };
96
+ }
97
+ });
98
+ var ConsentTermsSection_default = _sfc_main$1;
99
+
100
+ //#endregion
101
+ //#region src/slices/auth/features/consent_required/ConsentRequired.vue
102
+ const _hoisted_1 = { class: "max-w-2xl mx-auto bg-base-200 p-6 rounded-xl shadow-md container" };
103
+ const _hoisted_2 = { class: "flex flex-col gap-3 mt-6" };
104
+ const _hoisted_3 = ["disabled"];
105
+ const _hoisted_4 = {
106
+ key: 1,
107
+ class: "text-center"
108
+ };
109
+ const _sfc_main = /* @__PURE__ */ defineComponent({
110
+ __name: "ConsentRequired",
111
+ setup(__props) {
112
+ const { ziniaGeneric, ZiniaForm, ZiniaSubmitButton } = useForm(withMetadata(recordConsentsSchema, "recordConsents", {}), {
113
+ storeName: "consent-required-form",
114
+ persistToLocalStorage: false,
115
+ renderStyle: "daisy_ui"
116
+ });
117
+ const sessionStore = useUserSessionStore();
118
+ const router = useRouter();
119
+ const { data: pendingConsents, loading } = useQuery((api) => api.users.getPendingConsents(), { skipAuthCheck: false });
120
+ const hasScrolledToBottom = reactive({});
121
+ watch(() => pendingConsents.value, (consents) => {
122
+ if (!consents) return;
123
+ for (const c of consents) if (c.content) hasScrolledToBottom[c.type] = false;
124
+ else hasScrolledToBottom[c.type] = true;
125
+ }, { immediate: true });
126
+ watch([pendingConsents, loading], ([consents, isLoading]) => {
127
+ if (!isLoading && Array.isArray(consents) && consents.length === 0) router.push("/");
128
+ }, { immediate: true });
129
+ const declining = ref(false);
130
+ const { mutate: recordConsentsMutate } = useMutation((api, input) => api.users.recordConsents(input), { skipAuthCheck: false });
131
+ const handleSubmit = async (data) => {
132
+ await recordConsentsMutate(data);
133
+ return data;
134
+ };
135
+ const handleSuccess = async () => {
136
+ await sessionStore.refreshToken();
137
+ toast.success("Consents recorded. You can now continue.");
138
+ await router.push("/");
139
+ };
140
+ const handleError = (error) => {
141
+ toast.error(error instanceof Error ? error.message : "Failed to record consents");
142
+ };
143
+ const handleDecline = async () => {
144
+ declining.value = true;
145
+ try {
146
+ sessionStore.clearSession();
147
+ toast.info("You have declined. You have been logged out.");
148
+ await router.push("/auth/login");
149
+ } finally {
150
+ declining.value = false;
151
+ }
152
+ };
153
+ return (_ctx, _cache) => {
154
+ return openBlock(), createElementBlock("div", _hoisted_1, [
155
+ _cache[1] || (_cache[1] = createElementVNode("h1", { class: "text-2xl font-bold mb-6 text-center" }, "Additional consent required", -1)),
156
+ _cache[2] || (_cache[2] = createElementVNode("p", { class: "text-base-content/80 mb-6" }, " We've updated our terms. Please review the following and scroll to the bottom of each section before you can accept. You may also decline and log out. ", -1)),
157
+ (unref(pendingConsents) ?? []).length > 0 ? (openBlock(), createBlock(unref(ZiniaForm), {
158
+ key: 0,
159
+ onHandleSubmit: handleSubmit,
160
+ onSuccess: handleSuccess,
161
+ onError: handleError
162
+ }, {
163
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(pendingConsents) ?? [], (config) => {
164
+ return openBlock(), createBlock(ConsentTermsSection_default, {
165
+ key: config.type,
166
+ config,
167
+ "checkbox-disabled": config.content ? !hasScrolledToBottom[config.type] : false,
168
+ onScrolledToBottom: ($event) => hasScrolledToBottom[config.type] = true
169
+ }, {
170
+ checkbox: withCtx(({ label, disabled }) => [createVNode(unref(ziniaGeneric).CheckboxField, {
171
+ name: `acceptances.${config.type}`,
172
+ label,
173
+ disabled
174
+ }, null, 8, [
175
+ "name",
176
+ "label",
177
+ "disabled"
178
+ ])]),
179
+ _: 2
180
+ }, 1032, [
181
+ "config",
182
+ "checkbox-disabled",
183
+ "onScrolledToBottom"
184
+ ]);
185
+ }), 128)), createElementVNode("div", _hoisted_2, [createVNode(unref(ZiniaSubmitButton), {
186
+ submitText: "Accept and continue",
187
+ submittingText: "Saving..."
188
+ }), createElementVNode("button", {
189
+ type: "button",
190
+ class: "btn btn-ghost btn-sm text-error",
191
+ disabled: declining.value,
192
+ onClick: handleDecline
193
+ }, toDisplayString(declining.value ? "Logging out..." : "Decline and log out"), 9, _hoisted_3)])]),
194
+ _: 1
195
+ })) : (openBlock(), createElementBlock("div", _hoisted_4, [..._cache[0] || (_cache[0] = [createElementVNode("p", { class: "text-base-content/80 mb-4" }, "Loading...", -1)])]))
196
+ ]);
197
+ };
198
+ }
199
+ });
200
+ var ConsentRequired_default = _sfc_main;
201
+
202
+ //#endregion
203
+ export { ConsentRequired_default as default };
204
+ //# sourceMappingURL=ConsentRequired-qMNT-U2T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsentRequired-qMNT-U2T.js","names":[],"sources":["../src/slices/auth/shared/ConsentTermsSection.vue","../src/slices/auth/features/consent_required/ConsentRequired.vue"],"sourcesContent":["<template>\n <div class=\"mb-6\">\n <div class=\"font-semibold mb-2\">{{ config.label }}</div>\n\n <!-- Scrollable terms box when content is provided (supports Markdown) -->\n <div\n v-if=\"config.content\"\n :ref=\"(el) => setScrollRef(el)\"\n class=\"border border-base-300 rounded-lg p-4 bg-base-100 overflow-y-auto mb-3 text-sm prose prose-sm max-h-48 prose-headings:font-semibold prose-p:my-2\"\n :data-consent-type=\"config.type\"\n @scroll=\"onScroll\"\n v-html=\"renderMarkdown(config.content)\"\n />\n\n <!-- Link-only fallback when no content -->\n <div v-else class=\"mb-3\">\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 View {{ config.label }}\n </a>\n </div>\n\n <slot\n name=\"checkbox\"\n :label=\"config.content ? `I have read and accept the ${config.label}` : `I accept the ${config.label}`\"\n :disabled=\"checkboxDisabled\"\n />\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 { nextTick, ref } from 'vue';\n\ndefineProps<{\n config: SignupConsentConfigDto;\n checkboxDisabled: boolean;\n}>();\n\nconst emit = defineEmits<{\n scrolledToBottom: [];\n}>();\n\nconst scrollEl = ref<HTMLElement | null>(null);\n\nfunction setScrollRef(el: unknown) {\n scrollEl.value = el instanceof HTMLElement ? el : null;\n}\n\n/** Renders markdown content as sanitized HTML */\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 emit('scrolledToBottom');\n }\n}\n\nfunction onScroll() {\n checkScrolledToBottom();\n}\n\n// When content is short and doesn't need scrolling\nnextTick(checkScrolledToBottom);\n</script>\n","<template>\n <div class=\"max-w-2xl mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Additional consent required</h1>\n <p class=\"text-base-content/80 mb-6\">\n We've updated our terms. Please review the following and scroll to the bottom of each section\n before you can accept. You may also decline and log out.\n </p>\n\n <ZiniaForm\n v-if=\"(pendingConsents ?? []).length > 0\"\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n >\n <ConsentTermsSection\n v-for=\"config in (pendingConsents ?? [])\"\n :key=\"config.type\"\n :config=\"config\"\n :checkbox-disabled=\"config.content ? !hasScrolledToBottom[config.type] : false\"\n @scrolled-to-bottom=\"hasScrolledToBottom[config.type] = true\"\n >\n <template #checkbox=\"{ label, disabled }\">\n <ziniaGeneric.CheckboxField\n :name=\"`acceptances.${config.type}`\"\n :label=\"label\"\n :disabled=\"disabled\"\n />\n </template>\n </ConsentTermsSection>\n\n <div class=\"flex flex-col gap-3 mt-6\">\n <ZiniaSubmitButton submitText=\"Accept and continue\" submittingText=\"Saving...\" />\n <button\n type=\"button\"\n class=\"btn btn-ghost btn-sm text-error\"\n :disabled=\"declining\"\n @click=\"handleDecline\"\n >\n {{ declining ? 'Logging out...' : 'Decline and log out' }}\n </button>\n </div>\n </ZiniaForm>\n\n <div v-else class=\"text-center\">\n <p class=\"text-base-content/80 mb-4\">Loading...</p>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type { RecordConsentsInputDto } from '@dragonmastery/dragoncore-shared';\nimport { recordConsentsSchema } from '@dragonmastery/dragoncore-shared';\nimport { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport ConsentTermsSection from '../../shared/ConsentTermsSection.vue';\nimport { reactive, ref, watch } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useQuery } from '../../../../composables/useQuery';\nimport { useUserSessionStore } from '../../../../composables/useUserSessionStore';\n\nconst recordConsentsSchemaWithMetadata = withMetadata(recordConsentsSchema, 'recordConsents', {});\n\nconst { ziniaGeneric, ZiniaForm, ZiniaSubmitButton } = useForm(recordConsentsSchemaWithMetadata, {\n storeName: 'consent-required-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n});\n\nconst sessionStore = useUserSessionStore();\nconst router = useRouter();\n\nconst { data: pendingConsents, loading } = useQuery(\n (api) => api.users.getPendingConsents(),\n { skipAuthCheck: false },\n);\n\n// Scroll-to-bottom tracking: consent type -> whether user has scrolled to bottom\nconst hasScrolledToBottom = reactive<Record<string, boolean>>({});\n// Initialize scroll state when consents load; ConsentTermsSection handles \"content fits\" via its own nextTick\nwatch(\n () => pendingConsents.value,\n (consents) => {\n if (!consents) return;\n for (const c of consents) {\n if (c.content) {\n hasScrolledToBottom[c.type] = false;\n } else {\n hasScrolledToBottom[c.type] = true;\n }\n }\n },\n { immediate: true },\n);\n\n// If no pending consents (e.g. already completed or consent disabled), redirect home\nwatch(\n [pendingConsents, loading],\n ([consents, isLoading]) => {\n if (!isLoading && Array.isArray(consents) && consents.length === 0) {\n router.push('/');\n }\n },\n { immediate: true },\n);\n\nconst declining = ref(false);\n\nconst { mutate: recordConsentsMutate } = useMutation(\n (api, input: RecordConsentsInputDto) => api.users.recordConsents(input),\n { skipAuthCheck: false },\n);\n\nconst handleSubmit = async (data: RecordConsentsInputDto) => {\n await recordConsentsMutate(data);\n return data;\n};\n\nconst handleSuccess = async () => {\n await sessionStore.refreshToken();\n toast.success('Consents recorded. You can now continue.');\n await router.push('/');\n};\n\nconst handleError = (error: unknown) => {\n toast.error(error instanceof Error ? error.message : 'Failed to record consents');\n};\n\nconst handleDecline = async () => {\n declining.value = true;\n try {\n sessionStore.clearSession();\n toast.info('You have declined. You have been logged out.');\n await router.push('/auth/login');\n } finally {\n declining.value = false;\n }\n};\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import "./useQuery-DxmMxM8z.js";
5
+ import { mt as CreateTeamForm_default } from "./src--FuqlDhU.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./TimelineSystemEvent-Cc6HMeO3.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-DxWTyx1M.js";
10
+ import "./useSignupPendingData-BWHwUHhL.js";
11
+ import "./useBreadcrumbs-qB6ghsAf.js";
12
+ import "./EditTeamMemberForm-CiNb4nNG.js";
13
+ import "./RecordVersionViewer-BWZ78vvE.js";
14
+ import "./TeamHistoryTab-PVS8A-6K.js";
15
+ import "./UserProfilePage-BhCxv0N9.js";
16
+ import "./ChangePasswordPage-DBXchGfn.js";
17
+ import "./TeamNotesTab-D7ELC1EW.js";
18
+ import "./CustomerSupportTicketParent-CldxkQ75.js";
19
+ import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
+ import "./StaffSupportTicketParent-Dk6RFRMt.js";
21
+ import "./LoginForm-BGDymDnO.js";
22
+ import "./Signup-qBqsSYVz.js";
23
+ import "./ForgotPassword-roKwDfce.js";
24
+ import "./ResetPassword-BgKyXQ4q.js";
25
+ import "./Logout-Cbw1SacV.js";
26
+ import "./mfaSchema-s-T8m-7-.js";
27
+ import "./MfaSetup-CwYXnvgW.js";
28
+ import "./MfaVerify-CIlen2i5.js";
29
+ import "./VerifyEmail-DXYcjCX4.js";
30
+ import "./UserListPage-DdJFeLP1.js";
31
+ import "./CreateUserPage-B0iHLsm5.js";
32
+ import "./EditUserPage-DpV3dm-c.js";
33
+
34
+ export { CreateTeamForm_default as default };
@@ -0,0 +1,34 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import "./useQuery-DxmMxM8z.js";
5
+ import { ot as CreateTeamMemberForm_default } from "./src--FuqlDhU.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./TimelineSystemEvent-Cc6HMeO3.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-DxWTyx1M.js";
10
+ import "./useSignupPendingData-BWHwUHhL.js";
11
+ import "./useBreadcrumbs-qB6ghsAf.js";
12
+ import "./EditTeamMemberForm-CiNb4nNG.js";
13
+ import "./RecordVersionViewer-BWZ78vvE.js";
14
+ import "./TeamHistoryTab-PVS8A-6K.js";
15
+ import "./UserProfilePage-BhCxv0N9.js";
16
+ import "./ChangePasswordPage-DBXchGfn.js";
17
+ import "./TeamNotesTab-D7ELC1EW.js";
18
+ import "./CustomerSupportTicketParent-CldxkQ75.js";
19
+ import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
+ import "./StaffSupportTicketParent-Dk6RFRMt.js";
21
+ import "./LoginForm-BGDymDnO.js";
22
+ import "./Signup-qBqsSYVz.js";
23
+ import "./ForgotPassword-roKwDfce.js";
24
+ import "./ResetPassword-BgKyXQ4q.js";
25
+ import "./Logout-Cbw1SacV.js";
26
+ import "./mfaSchema-s-T8m-7-.js";
27
+ import "./MfaSetup-CwYXnvgW.js";
28
+ import "./MfaVerify-CIlen2i5.js";
29
+ import "./VerifyEmail-DXYcjCX4.js";
30
+ import "./UserListPage-DdJFeLP1.js";
31
+ import "./CreateUserPage-B0iHLsm5.js";
32
+ import "./EditUserPage-DpV3dm-c.js";
33
+
34
+ export { CreateTeamMemberForm_default as default };
@@ -1,4 +1,4 @@
1
- import { t as useMutation } from "./useMutation-DbzXtqf1.js";
1
+ import { t as useMutation } from "./useMutation-Dhx2gMgS.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-bwR6fq5C.js.map
76
+ //# sourceMappingURL=CreateUserPage-B0iHLsm5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUserPage-bwR6fq5C.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-B0iHLsm5.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,6 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import { t as CreateUserPage_default } from "./CreateUserPage-B0iHLsm5.js";
5
+
6
+ export { CreateUserPage_default as default };
@@ -0,0 +1,34 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import "./useQuery-DxmMxM8z.js";
5
+ import { s as CreditBalanceDashboard_default } from "./src--FuqlDhU.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./TimelineSystemEvent-Cc6HMeO3.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-DxWTyx1M.js";
10
+ import "./useSignupPendingData-BWHwUHhL.js";
11
+ import "./useBreadcrumbs-qB6ghsAf.js";
12
+ import "./EditTeamMemberForm-CiNb4nNG.js";
13
+ import "./RecordVersionViewer-BWZ78vvE.js";
14
+ import "./TeamHistoryTab-PVS8A-6K.js";
15
+ import "./UserProfilePage-BhCxv0N9.js";
16
+ import "./ChangePasswordPage-DBXchGfn.js";
17
+ import "./TeamNotesTab-D7ELC1EW.js";
18
+ import "./CustomerSupportTicketParent-CldxkQ75.js";
19
+ import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
+ import "./StaffSupportTicketParent-Dk6RFRMt.js";
21
+ import "./LoginForm-BGDymDnO.js";
22
+ import "./Signup-qBqsSYVz.js";
23
+ import "./ForgotPassword-roKwDfce.js";
24
+ import "./ResetPassword-BgKyXQ4q.js";
25
+ import "./Logout-Cbw1SacV.js";
26
+ import "./mfaSchema-s-T8m-7-.js";
27
+ import "./MfaSetup-CwYXnvgW.js";
28
+ import "./MfaVerify-CIlen2i5.js";
29
+ import "./VerifyEmail-DXYcjCX4.js";
30
+ import "./UserListPage-DdJFeLP1.js";
31
+ import "./CreateUserPage-B0iHLsm5.js";
32
+ import "./EditUserPage-DpV3dm-c.js";
33
+
34
+ export { CreditBalanceDashboard_default as default };
@@ -0,0 +1,34 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import "./useQuery-DxmMxM8z.js";
5
+ import { t as CreditManagement_default } from "./src--FuqlDhU.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./TimelineSystemEvent-Cc6HMeO3.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-DxWTyx1M.js";
10
+ import "./useSignupPendingData-BWHwUHhL.js";
11
+ import "./useBreadcrumbs-qB6ghsAf.js";
12
+ import "./EditTeamMemberForm-CiNb4nNG.js";
13
+ import "./RecordVersionViewer-BWZ78vvE.js";
14
+ import "./TeamHistoryTab-PVS8A-6K.js";
15
+ import "./UserProfilePage-BhCxv0N9.js";
16
+ import "./ChangePasswordPage-DBXchGfn.js";
17
+ import "./TeamNotesTab-D7ELC1EW.js";
18
+ import "./CustomerSupportTicketParent-CldxkQ75.js";
19
+ import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
+ import "./StaffSupportTicketParent-Dk6RFRMt.js";
21
+ import "./LoginForm-BGDymDnO.js";
22
+ import "./Signup-qBqsSYVz.js";
23
+ import "./ForgotPassword-roKwDfce.js";
24
+ import "./ResetPassword-BgKyXQ4q.js";
25
+ import "./Logout-Cbw1SacV.js";
26
+ import "./mfaSchema-s-T8m-7-.js";
27
+ import "./MfaSetup-CwYXnvgW.js";
28
+ import "./MfaVerify-CIlen2i5.js";
29
+ import "./VerifyEmail-DXYcjCX4.js";
30
+ import "./UserListPage-DdJFeLP1.js";
31
+ import "./CreateUserPage-B0iHLsm5.js";
32
+ import "./EditUserPage-DpV3dm-c.js";
33
+
34
+ export { CreditManagement_default as default };
@@ -0,0 +1,34 @@
1
+ import "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import "./useMutation-Dhx2gMgS.js";
4
+ import "./useQuery-DxmMxM8z.js";
5
+ import { B as CustomerCreateSupportTicketForm_default } from "./src--FuqlDhU.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./TimelineSystemEvent-Cc6HMeO3.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-DxWTyx1M.js";
10
+ import "./useSignupPendingData-BWHwUHhL.js";
11
+ import "./useBreadcrumbs-qB6ghsAf.js";
12
+ import "./EditTeamMemberForm-CiNb4nNG.js";
13
+ import "./RecordVersionViewer-BWZ78vvE.js";
14
+ import "./TeamHistoryTab-PVS8A-6K.js";
15
+ import "./UserProfilePage-BhCxv0N9.js";
16
+ import "./ChangePasswordPage-DBXchGfn.js";
17
+ import "./TeamNotesTab-D7ELC1EW.js";
18
+ import "./CustomerSupportTicketParent-CldxkQ75.js";
19
+ import "./SupportTicketDevLifecycleBadge-EMrQHfyG.js";
20
+ import "./StaffSupportTicketParent-Dk6RFRMt.js";
21
+ import "./LoginForm-BGDymDnO.js";
22
+ import "./Signup-qBqsSYVz.js";
23
+ import "./ForgotPassword-roKwDfce.js";
24
+ import "./ResetPassword-BgKyXQ4q.js";
25
+ import "./Logout-Cbw1SacV.js";
26
+ import "./mfaSchema-s-T8m-7-.js";
27
+ import "./MfaSetup-CwYXnvgW.js";
28
+ import "./MfaVerify-CIlen2i5.js";
29
+ import "./VerifyEmail-DXYcjCX4.js";
30
+ import "./UserListPage-DdJFeLP1.js";
31
+ import "./CreateUserPage-B0iHLsm5.js";
32
+ import "./EditUserPage-DpV3dm-c.js";
33
+
34
+ export { CustomerCreateSupportTicketForm_default as default };
@@ -1,11 +1,11 @@
1
- import { t as BATCH_MODE } from "./useRpcAuth-8Byr6SSI.js";
2
- import "./useQueryCache-CHG4-HGF.js";
3
- import { t as useMutation } from "./useMutation-DbzXtqf1.js";
4
- import { t as useQuery } from "./useQuery-BKb5JXVS.js";
5
- import { a as SupportTicketTypeBadge_default, c as formatCustomerCreditValue, i as SupportTicketApprovalBadge_default, n as TimelineItem_default, o as SupportTicketPriorityBadge_default, r as formatTicketDate, t as TimelineSystemEvent_default } from "./TimelineSystemEvent-Dj2TMOF6.js";
6
- import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-C_UbKgHL.js";
7
- import { t as formatTicketDisplayId } from "./displayIdFormatter-B1ZKgofu.js";
8
- import { a as SupportTicketAttachmentsCollapsible_default, i as parseRecordVersions, n as MetadataField_default, r as ActionBannerAlert_default, t as TimelineNoteInput_default } from "./TimelineNoteInput-C0a0WRQC.js";
1
+ import { t as BATCH_MODE } from "./useRpcAuth-Bse-lggK.js";
2
+ import "./useQueryCache-CJKZquh6.js";
3
+ import { t as useMutation } from "./useMutation-Dhx2gMgS.js";
4
+ import { t as useQuery } from "./useQuery-DxmMxM8z.js";
5
+ import { a as SupportTicketTypeBadge_default, c as formatCustomerCreditValue, i as SupportTicketApprovalBadge_default, n as TimelineItem_default, o as SupportTicketPriorityBadge_default, r as formatTicketDate, t as TimelineSystemEvent_default } from "./TimelineSystemEvent-Cc6HMeO3.js";
6
+ import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-Di8E8-Wh.js";
7
+ import { t as formatTicketDisplayId } from "./displayIdFormatter-Dz900Awr.js";
8
+ import { a as SupportTicketAttachmentsCollapsible_default, i as parseRecordVersions, n as MetadataField_default, r as ActionBannerAlert_default, t as TimelineNoteInput_default } from "./TimelineNoteInput-D-NjzUiF.js";
9
9
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, nextTick, normalizeClass, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, watch, withCtx } from "vue";
10
10
  import { useRoute, useRouter } from "vue-router";
11
11
  import { toast } from "vue3-toastify";
@@ -714,4 +714,4 @@ var CustomerSupportTicketDetailPage_default = _sfc_main;
714
714
 
715
715
  //#endregion
716
716
  export { CustomerSupportTicketDetailPage_default as default };
717
- //# sourceMappingURL=CustomerSupportTicketDetailPage-D_1t2EpN.js.map
717
+ //# sourceMappingURL=CustomerSupportTicketDetailPage-DyJTKtLU.js.map