@dragonmastery/dragoncore-vue 0.0.28 → 0.0.30

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 (166) hide show
  1. package/dist/{ChangePasswordPage-C7rqJfii.js → ChangePasswordPage-D1LGJ02W.js} +1 -1
  2. package/dist/{ChangePasswordPage-nr0B06HB.js → ChangePasswordPage-Dy8lFUcI.js} +1 -1
  3. package/dist/{ChangePasswordPage-nr0B06HB.js.map → ChangePasswordPage-Dy8lFUcI.js.map} +1 -1
  4. package/dist/{ConsentFlowStep-DstxorHZ.js → ConsentFlowStep-DsVhXa91.js} +2 -2
  5. package/dist/{ConsentFlowStep-DstxorHZ.js.map → ConsentFlowStep-DsVhXa91.js.map} +1 -1
  6. package/dist/{ConsentRequired-ELUidmNv.js → ConsentRequired-B3eLxJgx.js} +3 -3
  7. package/dist/{ConsentRequired-ELUidmNv.js.map → ConsentRequired-B3eLxJgx.js.map} +1 -1
  8. package/dist/CreateTeamForm-5V_ks5Ie.js +12 -0
  9. package/dist/{CreateTeamForm-DRfZ74on.js → CreateTeamForm-B7MsOsiV.js} +4 -4
  10. package/dist/{CreateTeamForm-DRfZ74on.js.map → CreateTeamForm-B7MsOsiV.js.map} +1 -1
  11. package/dist/{CreateTeamMemberForm-CSF-tD6B.js → CreateTeamMemberForm-CayF2tIJ.js} +5 -5
  12. package/dist/{CreateTeamMemberForm-ITp4XFn9.js → CreateTeamMemberForm-DeUyXnVa.js} +4 -4
  13. package/dist/{CreateTeamMemberForm-ITp4XFn9.js.map → CreateTeamMemberForm-DeUyXnVa.js.map} +1 -1
  14. package/dist/{CreditBalanceDashboard-BRY56-9w.js → CreditBalanceDashboard-CoIEyZWh.js} +2 -2
  15. package/dist/{CreditBalanceDashboard-BRY56-9w.js.map → CreditBalanceDashboard-CoIEyZWh.js.map} +1 -1
  16. package/dist/{CreditBalanceDashboard-CwXWREgJ.js → CreditBalanceDashboard-D_TsFlTp.js} +5 -5
  17. package/dist/{CreditManagement-D-bsc1US.js → CreditManagement-CCyU_yja.js} +2 -2
  18. package/dist/{CreditManagement-D-bsc1US.js.map → CreditManagement-CCyU_yja.js.map} +1 -1
  19. package/dist/{CreditManagement-BAuzw-NE.js → CreditManagement-CdkqQM7F.js} +5 -5
  20. package/dist/{CreditTransactionHistory-plIaRscn.js → CreditTransactionHistory-UPg9uDNy.js} +3 -3
  21. package/dist/{CreditTransactionHistory-plIaRscn.js.map → CreditTransactionHistory-UPg9uDNy.js.map} +1 -1
  22. package/dist/{CustomerCreateSupportTicketForm-D72blvMU.js → CustomerCreateSupportTicketForm-CiTTUqtW.js} +5 -5
  23. package/dist/{CustomerCreateSupportTicketForm-Co6C_P5o.js → CustomerCreateSupportTicketForm-DFH1JtlA.js} +3 -3
  24. package/dist/{CustomerCreateSupportTicketForm-Co6C_P5o.js.map → CustomerCreateSupportTicketForm-DFH1JtlA.js.map} +1 -1
  25. package/dist/{CustomerSupportTicketDetailPage-CUkf9swo.js → CustomerSupportTicketDetailPage-DAwiE2t6.js} +5 -5
  26. package/dist/{CustomerSupportTicketDetailPage-CUkf9swo.js.map → CustomerSupportTicketDetailPage-DAwiE2t6.js.map} +1 -1
  27. package/dist/CustomerSupportTicketList-CKZl8jxx.js +64 -0
  28. package/dist/{CustomerSupportTicketParent-D19kei4H.js → CustomerSupportTicketParent-D3Gj4Hel.js} +2 -2
  29. package/dist/{CustomerSupportTicketParent-BaKfkSlU.js → CustomerSupportTicketParent-rl4Ym8oa.js} +3 -3
  30. package/dist/{CustomerSupportTicketParent-BaKfkSlU.js.map → CustomerSupportTicketParent-rl4Ym8oa.js.map} +1 -1
  31. package/dist/{CustomerSupportTicketSuccess-DVqoR5-o.js → CustomerSupportTicketSuccess-BEhFZgtn.js} +2 -2
  32. package/dist/{CustomerSupportTicketSuccess-DVqoR5-o.js.map → CustomerSupportTicketSuccess-BEhFZgtn.js.map} +1 -1
  33. package/dist/{CustomerSupportTicketSuccess-B87Zth-g.js → CustomerSupportTicketSuccess-BJO2xsQR.js} +4 -4
  34. package/dist/{DefaultReferralTeamPage-BHail7YF.js → DefaultReferralTeamPage-D3UIrIZK.js} +103 -63
  35. package/dist/DefaultReferralTeamPage-D3UIrIZK.js.map +1 -0
  36. package/dist/EditTeamForm-Bf4rSgQg.js +12 -0
  37. package/dist/{EditTeamForm-BEOkUaKG.js → EditTeamForm-C1_-p3lZ.js} +4 -4
  38. package/dist/{EditTeamForm-BEOkUaKG.js.map → EditTeamForm-C1_-p3lZ.js.map} +1 -1
  39. package/dist/{EditTeamMemberForm-CIqEjFF8.js → EditTeamMemberForm-Bh6zVNyJ.js} +3 -3
  40. package/dist/{EditTeamMemberForm-Fyf8Zxfh.js → EditTeamMemberForm-D9cofrUM.js} +3 -3
  41. package/dist/{EditTeamMemberForm-Fyf8Zxfh.js.map → EditTeamMemberForm-D9cofrUM.js.map} +1 -1
  42. package/dist/{EditUserPage-D3AWaHT2.js → EditUserPage-CQgp-08o.js} +1 -1
  43. package/dist/{EditUserPage-BBzGmOrx.js → EditUserPage-CwsO8naT.js} +2 -2
  44. package/dist/{EditUserPage-BBzGmOrx.js.map → EditUserPage-CwsO8naT.js.map} +1 -1
  45. package/dist/{ExternalLinkIcon-FidcmNOa.js → ExternalLinkIcon-BKVV5Gjm.js} +1 -1
  46. package/dist/{ExternalLinkIcon-FidcmNOa.js.map → ExternalLinkIcon-BKVV5Gjm.js.map} +1 -1
  47. package/dist/{FieldsetSection-CH1jAwcc.js → FieldsetSection-Br_sygWW.js} +1 -1
  48. package/dist/{FieldsetSection-CH1jAwcc.js.map → FieldsetSection-Br_sygWW.js.map} +1 -1
  49. package/dist/{LoginForm-p2fJiTtw.js → LoginForm-CFADKiln.js} +1 -1
  50. package/dist/{LoginForm-D1Mx2vAY.js → LoginForm-CSMHsZrq.js} +1 -1
  51. package/dist/{LoginForm-D1Mx2vAY.js.map → LoginForm-CSMHsZrq.js.map} +1 -1
  52. package/dist/{RecordVersionViewer-NLn1gVys.js → RecordVersionViewer-DKIdX_BX.js} +1 -1
  53. package/dist/{RecordVersionViewer-NLn1gVys.js.map → RecordVersionViewer-DKIdX_BX.js.map} +1 -1
  54. package/dist/{SavedFiltersPage-CvBKztlD.js → SavedFiltersPage-Cz01ZeHx.js} +44 -44
  55. package/dist/{SavedFiltersPage-CvBKztlD.js.map → SavedFiltersPage-Cz01ZeHx.js.map} +1 -1
  56. package/dist/{Signup-BCVZZCR_.js → Signup-CkhRQErA.js} +14 -4
  57. package/dist/Signup-CkhRQErA.js.map +1 -0
  58. package/dist/{Signup-CJrY4IK-.js → Signup-cOvXCtJj.js} +1 -1
  59. package/dist/{SignupConsentFlow-clxBjJlU.js → SignupConsentFlow-CKMFsnf5.js} +16 -8
  60. package/dist/SignupConsentFlow-CKMFsnf5.js.map +1 -0
  61. package/dist/{SignupRequirementsPage-CohJluxQ.js → SignupRequirementsPage-33z--rhH.js} +4 -4
  62. package/dist/{SignupRequirementsPage-CohJluxQ.js.map → SignupRequirementsPage-33z--rhH.js.map} +1 -1
  63. package/dist/{StaffCreateSupportTicketForm-Cm595v_4.js → StaffCreateSupportTicketForm-BtR-Aowv.js} +4 -4
  64. package/dist/{StaffCreateSupportTicketForm-Cm595v_4.js.map → StaffCreateSupportTicketForm-BtR-Aowv.js.map} +1 -1
  65. package/dist/{StaffCreateSupportTicketForm-DBhhJyXE.js → StaffCreateSupportTicketForm-D7ctCaXe.js} +5 -5
  66. package/dist/{StaffSupportTicketDetailPage-B63QXyum.js → StaffSupportTicketDetailPage-LqnNfU34.js} +7 -7
  67. package/dist/{StaffSupportTicketDetailPage-B63QXyum.js.map → StaffSupportTicketDetailPage-LqnNfU34.js.map} +1 -1
  68. package/dist/StaffSupportTicketList-GyzlONKe.js +64 -0
  69. package/dist/{StaffSupportTicketParent-yoC-_Lku.js → StaffSupportTicketParent-DPvdLUii.js} +3 -3
  70. package/dist/{StaffSupportTicketParent-yoC-_Lku.js.map → StaffSupportTicketParent-DPvdLUii.js.map} +1 -1
  71. package/dist/{StaffSupportTicketParent-ByUwsYGx.js → StaffSupportTicketParent-Dyybqx74.js} +2 -2
  72. package/dist/{StaffSupportTicketSuccess-DgULDGIj.js → StaffSupportTicketSuccess-B3N-RMoT.js} +2 -2
  73. package/dist/{StaffSupportTicketSuccess-DgULDGIj.js.map → StaffSupportTicketSuccess-B3N-RMoT.js.map} +1 -1
  74. package/dist/{StaffSupportTicketSuccess-DKzJs74k.js → StaffSupportTicketSuccess-DvonYilY.js} +4 -4
  75. package/dist/{SupportStaffPage-CkFLlle4.js → SupportStaffPage-geoITTqt.js} +3 -3
  76. package/dist/{SupportStaffPage-CkFLlle4.js.map → SupportStaffPage-geoITTqt.js.map} +1 -1
  77. package/dist/{SupportTicketDevLifecycleBadge-BYKZjEv6.js → SupportTicketDevLifecycleBadge-D8-Cv1Np.js} +1 -1
  78. package/dist/{SupportTicketDevLifecycleBadge-BYKZjEv6.js.map → SupportTicketDevLifecycleBadge-D8-Cv1Np.js.map} +1 -1
  79. package/dist/TeamAttachmentsTab-ChP4DaUP.js +64 -0
  80. package/dist/{TeamHistoryTab-p3hDxCc3.js → TeamHistoryTab-CxzA4u_G.js} +3 -3
  81. package/dist/{TeamHistoryTab-p3hDxCc3.js.map → TeamHistoryTab-CxzA4u_G.js.map} +1 -1
  82. package/dist/TeamHistoryTab-wRpRizDE.js +6 -0
  83. package/dist/{TeamList-gppM0GOD.js → TeamList-_SsqJicG.js} +3 -3
  84. package/dist/{TeamList-gppM0GOD.js.map → TeamList-_SsqJicG.js.map} +1 -1
  85. package/dist/TeamList-cp8Pa2xg.js +8 -0
  86. package/dist/TeamMemberList-B16SuLwM.js +7 -0
  87. package/dist/{TeamMemberList-D0-dM5kI.js → TeamMemberList-BYUANoBg.js} +3 -3
  88. package/dist/{TeamMemberList-D0-dM5kI.js.map → TeamMemberList-BYUANoBg.js.map} +1 -1
  89. package/dist/{TeamMemberParent-C9OEziOK.js → TeamMemberParent-BJl8nBmP.js} +4 -4
  90. package/dist/{TeamMemberParent-CJGWXjuM.js → TeamMemberParent-DmYcHU3n.js} +3 -3
  91. package/dist/{TeamMemberParent-CJGWXjuM.js.map → TeamMemberParent-DmYcHU3n.js.map} +1 -1
  92. package/dist/{TeamNotesTab-BnkgZd-5.js → TeamNotesTab-BQN9niw-.js} +1 -1
  93. package/dist/{TeamNotesTab-DPw9YEwK.js → TeamNotesTab-Cego-QT3.js} +2 -2
  94. package/dist/{TeamNotesTab-DPw9YEwK.js.map → TeamNotesTab-Cego-QT3.js.map} +1 -1
  95. package/dist/{TeamParent-YPtenk3l.js → TeamParent-BUnqP-dr.js} +3 -3
  96. package/dist/{TeamParent-YPtenk3l.js.map → TeamParent-BUnqP-dr.js.map} +1 -1
  97. package/dist/TeamParent-BseZ6Zoi.js +11 -0
  98. package/dist/{TimelineNoteInput-DXZhcUkH.js → TimelineNoteInput-BBZv3X4p.js} +2 -2
  99. package/dist/{TimelineNoteInput-DXZhcUkH.js.map → TimelineNoteInput-BBZv3X4p.js.map} +1 -1
  100. package/dist/{TimelineSystemEvent-Ch1sZiyO.js → TimelineSystemEvent-D5fkhkZT.js} +1 -1
  101. package/dist/{TimelineSystemEvent-Ch1sZiyO.js.map → TimelineSystemEvent-D5fkhkZT.js.map} +1 -1
  102. package/dist/UserListPage-BABli3QG.js +5 -0
  103. package/dist/{UserListPage-A0_eNpQ1.js → UserListPage-CDMSZpXK.js} +2 -2
  104. package/dist/{UserListPage-A0_eNpQ1.js.map → UserListPage-CDMSZpXK.js.map} +1 -1
  105. package/dist/{UserProfilePage-FNLYK9kj.js → UserProfilePage-BYitd7QV.js} +1 -1
  106. package/dist/{UserProfilePage-FNLYK9kj.js.map → UserProfilePage-BYitd7QV.js.map} +1 -1
  107. package/dist/{UserProfilePage-BWK97ODt.js → UserProfilePage-Dmxp7oqP.js} +1 -1
  108. package/dist/ViewTeam-rLNxVgS2.js +8 -0
  109. package/dist/{ViewTeam-CRmIplCt.js → ViewTeam-ttqX2In8.js} +131 -32
  110. package/dist/ViewTeam-ttqX2In8.js.map +1 -0
  111. package/dist/ViewTeamMember-B5U8kZBw.js +7 -0
  112. package/dist/{ViewTeamMember-Cf5yXdv6.js → ViewTeamMember-DqWZ3F_h.js} +4 -4
  113. package/dist/{ViewTeamMember-Cf5yXdv6.js.map → ViewTeamMember-DqWZ3F_h.js.map} +1 -1
  114. package/dist/{ZiniaContainer-BV6sojLa.js → ZiniaContainer-BPIfQOc7.js} +1 -1
  115. package/dist/{ZiniaContainer-BV6sojLa.js.map → ZiniaContainer-BPIfQOc7.js.map} +1 -1
  116. package/dist/{convertToLocalDateTime-C13-PrSA.js → convertToLocalDateTime-BKBxm2Rc.js} +1 -1
  117. package/dist/{convertToLocalDateTime-C13-PrSA.js.map → convertToLocalDateTime-BKBxm2Rc.js.map} +1 -1
  118. package/dist/{customerSupportTicketRoutes-Cy4fp4wx.js → customerSupportTicketRoutes-C-DKBy5g.js} +8 -8
  119. package/dist/{customerSupportTicketRoutes-Cy4fp4wx.js.map → customerSupportTicketRoutes-C-DKBy5g.js.map} +1 -1
  120. package/dist/{displayIdFormatter-Cr-QaEk1.js → displayIdFormatter-Ca4Al9iB.js} +1 -1
  121. package/dist/{displayIdFormatter-Cr-QaEk1.js.map → displayIdFormatter-Ca4Al9iB.js.map} +1 -1
  122. package/dist/{extractRpcErrorMessage-CAaeVysa.js → extractRpcErrorMessage-Df8-CJGV.js} +1 -1
  123. package/dist/{extractRpcErrorMessage-CAaeVysa.js.map → extractRpcErrorMessage-Df8-CJGV.js.map} +1 -1
  124. package/dist/index.d.ts +114 -92
  125. package/dist/index.js +48 -47
  126. package/dist/{saved_filter-jeZd2rlb.js → saved_filter-C2N9l_a9.js} +3 -3
  127. package/dist/{saved_filter-jeZd2rlb.js.map → saved_filter-C2N9l_a9.js.map} +1 -1
  128. package/dist/{signupConsentStorage-Ct4ZuKi-.js → signupConsentStorage-pWSoHuhO.js} +10 -2
  129. package/dist/signupConsentStorage-pWSoHuhO.js.map +1 -0
  130. package/dist/{src-zjaOyP9b.js → src-C8B9TJiH.js} +31 -26
  131. package/dist/src-C8B9TJiH.js.map +1 -0
  132. package/dist/{staffSupportTicketRoutes-L4CU5dcu.js → staffSupportTicketRoutes-CyMecWpC.js} +8 -8
  133. package/dist/{staffSupportTicketRoutes-L4CU5dcu.js.map → staffSupportTicketRoutes-CyMecWpC.js.map} +1 -1
  134. package/dist/{teamMemberMetadata-DX0W-B7p.js → teamMemberMetadata-C4urCwBU.js} +1 -1
  135. package/dist/{teamMemberMetadata-DX0W-B7p.js.map → teamMemberMetadata-C4urCwBU.js.map} +1 -1
  136. package/dist/{teamMetadata-26Mwjb2i.js → teamMetadata-NTjPt89L.js} +1 -1
  137. package/dist/{teamMetadata-26Mwjb2i.js.map → teamMetadata-NTjPt89L.js.map} +1 -1
  138. package/dist/{teamRoutes-CtNcFZjR.js → teamRoutes-CFDsHPkd.js} +12 -12
  139. package/dist/{teamRoutes-CtNcFZjR.js.map → teamRoutes-CFDsHPkd.js.map} +1 -1
  140. package/dist/{team_memberRoutes-Cxgte_vj.js → team_memberRoutes-BgjY9Kwq.js} +7 -7
  141. package/dist/{team_memberRoutes-Cxgte_vj.js.map → team_memberRoutes-BgjY9Kwq.js.map} +1 -1
  142. package/dist/{useBreadcrumbs-DIqU5AAp.js → useBreadcrumbs-CPWXm0hm.js} +1 -1
  143. package/dist/{useBreadcrumbs-DIqU5AAp.js.map → useBreadcrumbs-CPWXm0hm.js.map} +1 -1
  144. package/dist/{userAuthorized-klLUHGxT.js → userAuthorized-3RiCDXxr.js} +1 -1
  145. package/dist/{userAuthorized-klLUHGxT.js.map → userAuthorized-3RiCDXxr.js.map} +1 -1
  146. package/package.json +2 -2
  147. package/dist/CreateTeamForm-CmVZdqOQ.js +0 -12
  148. package/dist/CustomerSupportTicketList-CB_Y1lVj.js +0 -64
  149. package/dist/DefaultReferralTeamPage-BHail7YF.js.map +0 -1
  150. package/dist/EditTeamForm-DhutyI9c.js +0 -12
  151. package/dist/Signup-BCVZZCR_.js.map +0 -1
  152. package/dist/SignupConsentFlow-clxBjJlU.js.map +0 -1
  153. package/dist/StaffSupportTicketList-2TbMweMK.js +0 -64
  154. package/dist/TeamAttachmentsTab-D0SJplvU.js +0 -64
  155. package/dist/TeamHistoryTab-BSEOYC_5.js +0 -6
  156. package/dist/TeamList-DU6CFPUY.js +0 -8
  157. package/dist/TeamMemberList-uwSe9zdv.js +0 -7
  158. package/dist/TeamParent-CuASTHKr.js +0 -11
  159. package/dist/UserListPage-CjpxiETO.js +0 -5
  160. package/dist/ViewTeam-Bvvfik4P.js +0 -8
  161. package/dist/ViewTeam-CRmIplCt.js.map +0 -1
  162. package/dist/ViewTeamMember-DtQCZU-X.js +0 -7
  163. package/dist/signupConsentStorage-Ct4ZuKi-.js.map +0 -1
  164. package/dist/src-zjaOyP9b.js.map +0 -1
  165. /package/dist/{Appearance-CHCv4Fd1.js → Appearance-BhzkZJOL.js} +0 -0
  166. /package/dist/{TeamMembersTab-CeOJAhhR.js → TeamMembersTab-D7y2nV__.js} +0 -0
@@ -3,10 +3,10 @@ import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
3
  import "./useQueryCache-alzaRWEb.js";
4
4
  import { t as useMutation } from "./useMutation-BLNuJoYl.js";
5
5
  import { t as useQuery } from "./useQuery-BzUGEOj0.js";
6
- import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-CAaeVysa.js";
7
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, reactive, ref, renderList, toDisplayString, unref, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
6
+ import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-Df8-CJGV.js";
7
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, reactive, ref, renderList, toDisplayString, unref, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
8
8
  import { toast } from "vue3-toastify";
9
- import { DefaultReferralTeamFormSchema } from "@dragonmastery/dragoncore-shared";
9
+ import { DefaultReferralTeamFormSchema, ReferralTagValueSchema, normalizeToReferralTag } from "@dragonmastery/dragoncore-shared";
10
10
  import { useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
11
11
 
12
12
  //#region src/slices/admin/features/default_referral_team/defaultReferralTeamSchema.ts
@@ -19,7 +19,7 @@ const defaultReferralTeamSchemaWithMetadata = withMetadata(DefaultReferralTeamFo
19
19
 
20
20
  //#endregion
21
21
  //#region src/slices/admin/features/default_referral_team/DefaultReferralTeamPage.vue
22
- const _hoisted_1 = { class: "mt-2" };
22
+ const _hoisted_1 = { class: "mt-2 w-full max-w-2xl mx-auto px-4" };
23
23
  const _hoisted_2 = {
24
24
  key: 0,
25
25
  class: "flex justify-center py-8"
@@ -29,23 +29,31 @@ const _hoisted_3 = {
29
29
  class: "alert alert-error mt-2"
30
30
  };
31
31
  const _hoisted_4 = { class: "mt-4 flex justify-end" };
32
- const _hoisted_5 = { class: "mt-12" };
32
+ const _hoisted_5 = { class: "mt-8 md:mt-12 w-full" };
33
33
  const _hoisted_6 = {
34
34
  key: 0,
35
- class: "overflow-x-auto"
35
+ class: "flex flex-col gap-4"
36
36
  };
37
- const _hoisted_7 = { class: "table table-zebra" };
38
- const _hoisted_8 = { class: "flex items-center gap-1" };
39
- const _hoisted_9 = ["onUpdate:modelValue", "onKeydown"];
40
- const _hoisted_10 = ["onClick"];
41
- const _hoisted_11 = ["disabled", "onClick"];
42
- const _hoisted_12 = {
37
+ const _hoisted_7 = { class: "card-body p-4 md:p-5" };
38
+ const _hoisted_8 = { class: "card-title text-base md:text-lg mb-3" };
39
+ const _hoisted_9 = { class: "form-control w-full" };
40
+ const _hoisted_10 = { class: "flex flex-wrap gap-2" };
41
+ const _hoisted_11 = [
42
+ "onUpdate:modelValue",
43
+ "onKeydown",
44
+ "onInput"
45
+ ];
46
+ const _hoisted_12 = ["onClick"];
47
+ const _hoisted_13 = { class: "h-5 text-xs text-error leading-tight mt-1" };
48
+ const _hoisted_14 = { class: "card-actions justify-end mt-2" };
49
+ const _hoisted_15 = ["disabled", "onClick"];
50
+ const _hoisted_16 = {
43
51
  key: 0,
44
52
  class: "loading loading-spinner loading-sm"
45
53
  };
46
- const _hoisted_13 = {
54
+ const _hoisted_17 = {
47
55
  key: 1,
48
- class: "text-base-content/60"
56
+ class: "text-base-content/60 text-sm"
49
57
  };
50
58
  const _sfc_main = /* @__PURE__ */ defineComponent({
51
59
  __name: "DefaultReferralTeamPage",
@@ -59,9 +67,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
59
67
  staleTime: 60 * 1e3
60
68
  });
61
69
  const referralTagInputs = reactive({});
70
+ const referralTagErrors = reactive({});
62
71
  const savingTeamId = ref(null);
72
+ function validateReferralTagInput(teamId) {
73
+ const raw = referralTagInputs[teamId]?.trim() ?? "";
74
+ if (raw === "") {
75
+ delete referralTagErrors[teamId];
76
+ return;
77
+ }
78
+ const result = ReferralTagValueSchema.safeParse(raw);
79
+ if (result.success) delete referralTagErrors[teamId];
80
+ else referralTagErrors[teamId] = result.error.errors[0]?.message ?? "Invalid referral tag format";
81
+ }
63
82
  watch(() => teamsData.value?.items ?? [], (teams) => {
64
- for (const team of teams) referralTagInputs[team.id] = team.referral_tag ?? "";
83
+ for (const team of teams) {
84
+ referralTagInputs[team.id] = team.referral_tag ?? "";
85
+ delete referralTagErrors[team.id];
86
+ }
65
87
  }, { immediate: true });
66
88
  const loadTeams = async () => {
67
89
  while (teamsLoading.value) await new Promise((resolve) => setTimeout(resolve, 100));
@@ -83,22 +105,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
83
105
  },
84
106
  dataLoaders: { teams: loadTeams }
85
107
  });
86
- const isLoading = computed(() => defaultLoading.value || teamsLoading.value || form.isLoading);
108
+ const isLoading = computed(() => {
109
+ if (form.isLoading) return true;
110
+ if (defaultLoading.value && !defaultTeamIdData.value) return true;
111
+ if (teamsLoading.value && !teamsData.value?.items?.length) return true;
112
+ return false;
113
+ });
87
114
  const { mutate: updateDefaultTeam } = useMutation((api, input) => api.appSettings.updateDefaultTeamIdForUnknownReferrals(input), { invalidate: /admin-default-referral-team/ });
88
115
  const { mutate: setReferralTag } = useMutation((api, input) => api.teams.setReferralTag(input), { invalidate: /admin-teams-for-default-referral/ });
89
- /** Normalize a team name to a URL-friendly referral tag (e.g. "Acme Corp & Co." → "acme-corp-co") */
90
- function normalizeToReferralTag(name) {
91
- return name.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
92
- }
93
116
  function normalizeReferralTag(team) {
94
117
  const normalized = normalizeToReferralTag(team.display_name || team.unique_name || team.id);
95
- if (normalized) referralTagInputs[team.id] = normalized;
118
+ if (normalized) {
119
+ referralTagInputs[team.id] = normalized;
120
+ validateReferralTagInput(team.id);
121
+ }
96
122
  }
97
123
  async function saveReferralTag(teamId) {
98
124
  const raw = referralTagInputs[teamId]?.trim() ?? "";
99
125
  const referral_tag = raw === "" ? null : raw;
100
126
  const team = teamsData.value?.items?.find((t) => t.id === teamId);
101
127
  if (team && referral_tag === (team.referral_tag ?? null)) return;
128
+ if (referral_tag !== null) {
129
+ const result = ReferralTagValueSchema.safeParse(referral_tag);
130
+ if (!result.success) {
131
+ referralTagErrors[teamId] = result.error.errors[0]?.message ?? "Invalid referral tag format";
132
+ return;
133
+ }
134
+ }
135
+ delete referralTagErrors[teamId];
102
136
  savingTeamId.value = teamId;
103
137
  try {
104
138
  await setReferralTag({
@@ -109,7 +143,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
109
143
  referralTagInputs[teamId] = referral_tag ?? "";
110
144
  await refetchTeams();
111
145
  } catch (err) {
112
- toast.error(extractRpcErrorMessage(err, "Failed to save referral tag"));
146
+ referralTagErrors[teamId] = extractRpcErrorMessage(err, "Failed to save referral tag");
113
147
  } finally {
114
148
  savingTeamId.value = null;
115
149
  }
@@ -129,8 +163,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
129
163
  }
130
164
  return (_ctx, _cache) => {
131
165
  return openBlock(), createElementBlock("div", _hoisted_1, [
132
- _cache[5] || (_cache[5] = createElementVNode("div", { class: "flex justify-between items-center mb-4" }, [createElementVNode("h1", { class: "text-2xl font-bold" }, "Default Team for Unknown Referrals")], -1)),
133
- _cache[6] || (_cache[6] = createElementVNode("p", { class: "text-base-content/70 mb-4" }, " When a referral event arrives with an unknown referral tag, it will be routed to this team. Select a team to use as the default, or clear to reject unknown tags. ", -1)),
166
+ _cache[5] || (_cache[5] = createElementVNode("h1", { class: "text-xl md:text-2xl font-bold mb-2" }, "Default Team for Unknown Referrals", -1)),
167
+ _cache[6] || (_cache[6] = createElementVNode("p", { class: "text-sm md:text-base text-base-content/70 mb-4" }, " When a referral event arrives with an unknown referral tag, it will be routed to this team. Select a team to use as the default, or clear to reject unknown tags. ", -1)),
134
168
  isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
135
169
  createVNode(unref(ZiniaForm), {
136
170
  onHandleSubmit: handleSubmit,
@@ -152,48 +186,54 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
152
186
  ]),
153
187
  _: 1
154
188
  }),
155
- createCommentVNode(" Referral tags per team "),
189
+ createCommentVNode(" Referral tags per team: mobile-first, DaisyUI "),
156
190
  createElementVNode("div", _hoisted_5, [
157
- _cache[3] || (_cache[3] = createElementVNode("h2", { class: "text-xl font-semibold mb-2" }, "Referral Tags per Team", -1)),
158
- _cache[4] || (_cache[4] = createElementVNode("p", { class: "text-base-content/70 mb-4" }, " Set a referral tag for each team. Other apps use this tag when pushing events. If empty, the team's unique name or path is used as fallback. ", -1)),
159
- unref(teamsData)?.items?.length ? (openBlock(), createElementBlock("div", _hoisted_6, [createElementVNode("table", _hoisted_7, [_cache[2] || (_cache[2] = createElementVNode("thead", null, [createElementVNode("tr", null, [
160
- createElementVNode("th", null, "Team"),
161
- createElementVNode("th", null, "Referral tag"),
162
- createElementVNode("th")
163
- ])], -1)), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(teamsData).items, (team) => {
164
- return openBlock(), createElementBlock("tr", { key: team.id }, [
165
- createElementVNode("td", null, toDisplayString(team.display_name || team.unique_name || team.id), 1),
166
- createElementVNode("td", null, [createElementVNode("div", _hoisted_8, [withDirectives(createElementVNode("input", {
167
- "onUpdate:modelValue": ($event) => referralTagInputs[team.id] = $event,
168
- type: "text",
169
- class: "input input-bordered input-sm w-full max-w-xs",
170
- placeholder: "e.g. my-team",
171
- onKeydown: withKeys(withModifiers(($event) => saveReferralTag(team.id), ["prevent"]), ["enter"])
172
- }, null, 40, _hoisted_9), [[vModelText, referralTagInputs[team.id]]]), createElementVNode("button", {
173
- type: "button",
174
- class: "btn btn-sm btn-ghost btn-square",
175
- title: "Normalize to URL-friendly tag from team name",
176
- onClick: ($event) => normalizeReferralTag(team)
177
- }, [..._cache[1] || (_cache[1] = [createElementVNode("svg", {
178
- xmlns: "http://www.w3.org/2000/svg",
179
- class: "h-4 w-4",
180
- fill: "none",
181
- viewBox: "0 0 24 24",
182
- stroke: "currentColor"
183
- }, [createElementVNode("path", {
184
- "stroke-linecap": "round",
185
- "stroke-linejoin": "round",
186
- "stroke-width": "2",
187
- d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
188
- })], -1)])], 8, _hoisted_10)])]),
189
- createElementVNode("td", null, [createElementVNode("button", {
191
+ _cache[3] || (_cache[3] = createElementVNode("h2", { class: "text-lg md:text-xl font-semibold mb-2" }, "Referral Tags per Team", -1)),
192
+ _cache[4] || (_cache[4] = createElementVNode("p", { class: "text-sm md:text-base text-base-content/70 mb-4" }, " Set a referral tag for each team. Other apps use this tag when pushing events. If empty, the team's unique name or path is used as fallback. ", -1)),
193
+ unref(teamsData)?.items?.length ? (openBlock(), createElementBlock("div", _hoisted_6, [createCommentVNode(" Mobile: stacked cards. md+: same, compact cards "), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(teamsData).items, (team) => {
194
+ return openBlock(), createElementBlock("div", {
195
+ key: team.id,
196
+ class: "card bg-base-100 shadow-sm border border-base-300"
197
+ }, [createElementVNode("div", _hoisted_7, [
198
+ createElementVNode("h3", _hoisted_8, toDisplayString(team.display_name || team.unique_name || team.id), 1),
199
+ createElementVNode("div", _hoisted_9, [
200
+ _cache[2] || (_cache[2] = createElementVNode("label", { class: "label py-1" }, [createElementVNode("span", { class: "label-text text-sm" }, "Referral tag")], -1)),
201
+ createElementVNode("div", _hoisted_10, [withDirectives(createElementVNode("input", {
202
+ "onUpdate:modelValue": ($event) => referralTagInputs[team.id] = $event,
203
+ type: "text",
204
+ class: normalizeClass(["input input-bordered input-sm flex-1 min-w-0", referralTagErrors[team.id] && "input-error"]),
205
+ placeholder: "e.g. my-team",
206
+ onKeydown: withKeys(withModifiers(($event) => saveReferralTag(team.id), ["prevent"]), ["enter"]),
207
+ onInput: ($event) => validateReferralTagInput(team.id)
208
+ }, null, 42, _hoisted_11), [[vModelText, referralTagInputs[team.id]]]), createElementVNode("button", {
209
+ type: "button",
210
+ class: "btn btn-sm btn-ghost btn-square shrink-0",
211
+ title: "Normalize to URL-friendly tag from team name",
212
+ "aria-label": "Normalize tag",
213
+ onClick: ($event) => normalizeReferralTag(team)
214
+ }, [..._cache[1] || (_cache[1] = [createElementVNode("svg", {
215
+ xmlns: "http://www.w3.org/2000/svg",
216
+ class: "h-4 w-4",
217
+ fill: "none",
218
+ viewBox: "0 0 24 24",
219
+ stroke: "currentColor"
220
+ }, [createElementVNode("path", {
221
+ "stroke-linecap": "round",
222
+ "stroke-linejoin": "round",
223
+ "stroke-width": "2",
224
+ d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
225
+ })], -1)])], 8, _hoisted_12)]),
226
+ createCommentVNode(" Fixed-height error slot: no layout shift "),
227
+ createElementVNode("div", _hoisted_13, toDisplayString(referralTagErrors[team.id] ?? "\xA0"), 1)
228
+ ]),
229
+ createElementVNode("div", _hoisted_14, [createElementVNode("button", {
190
230
  type: "button",
191
- class: "btn btn-sm btn-primary",
231
+ class: "btn btn-primary btn-sm",
192
232
  disabled: savingTeamId.value === team.id || referralTagInputs[team.id] === (team.referral_tag ?? ""),
193
233
  onClick: ($event) => saveReferralTag(team.id)
194
- }, [savingTeamId.value === team.id ? (openBlock(), createElementBlock("span", _hoisted_12)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(savingTeamId.value === team.id ? "Saving..." : "Save"), 1)], 8, _hoisted_11)])
195
- ]);
196
- }), 128))])])])) : (openBlock(), createElementBlock("p", _hoisted_13, "No teams found."))
234
+ }, [savingTeamId.value === team.id ? (openBlock(), createElementBlock("span", _hoisted_16)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(savingTeamId.value === team.id ? "Saving..." : "Save"), 1)], 8, _hoisted_15)])
235
+ ])]);
236
+ }), 128))])) : (openBlock(), createElementBlock("p", _hoisted_17, "No teams found."))
197
237
  ])
198
238
  ], 64))
199
239
  ]);
@@ -204,4 +244,4 @@ var DefaultReferralTeamPage_default = _sfc_main;
204
244
 
205
245
  //#endregion
206
246
  export { DefaultReferralTeamPage_default as default };
207
- //# sourceMappingURL=DefaultReferralTeamPage-BHail7YF.js.map
247
+ //# sourceMappingURL=DefaultReferralTeamPage-D3UIrIZK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultReferralTeamPage-D3UIrIZK.js","names":[],"sources":["../src/slices/admin/features/default_referral_team/defaultReferralTeamSchema.ts","../src/slices/admin/features/default_referral_team/DefaultReferralTeamPage.vue"],"sourcesContent":["import type { DefaultReferralTeamFormDto } from '@dragonmastery/dragoncore-shared';\nimport { DefaultReferralTeamFormSchema } from '@dragonmastery/dragoncore-shared';\nimport { withMetadata } from '@dragonmastery/zinia-forms-core';\n\nexport type { DefaultReferralTeamFormDto };\n\nexport const defaultReferralTeamSchemaWithMetadata = withMetadata(\n DefaultReferralTeamFormSchema,\n 'defaultReferralTeamSchema',\n {\n default_team_id: {\n inputType: 'select',\n label: 'Default team',\n placeholder: 'Select team',\n helpText:\n 'When a referral event arrives with an unknown tag, it will be routed to this team. Select \"None\" to reject unknown tags.',\n },\n },\n);\n","<template>\n <div class=\"mt-2 w-full max-w-2xl mx-auto px-4\">\n <h1 class=\"text-xl md:text-2xl font-bold mb-2\">Default Team for Unknown Referrals</h1>\n <p class=\"text-sm md:text-base text-base-content/70 mb-4\">\n When a referral event arrives with an unknown referral tag, it will be routed to this team.\n Select a team to use as the default, or clear to reject unknown tags.\n </p>\n\n <div v-if=\"isLoading\" class=\"flex justify-center py-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <template v-else>\n <ZiniaForm\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"\"\n subtitle=\"\"\n >\n <zinia.DefaultTeamIdField\n :select-options=\"form.extraData.teams ?? []\"\n placeholder=\"Select team\"\n />\n\n <div v-if=\"form.submitError\" class=\"alert alert-error mt-2\">\n <span>{{ form.submitError }}</span>\n </div>\n\n <div class=\"mt-4 flex justify-end\">\n <ZiniaSubmitButton\n submitText=\"Save\"\n submittingText=\"Saving...\"\n />\n </div>\n </ZiniaForm>\n\n <!-- Referral tags per team: mobile-first, DaisyUI -->\n <div class=\"mt-8 md:mt-12 w-full\">\n <h2 class=\"text-lg md:text-xl font-semibold mb-2\">Referral Tags per Team</h2>\n <p class=\"text-sm md:text-base text-base-content/70 mb-4\">\n Set a referral tag for each team. Other apps use this tag when pushing events.\n If empty, the team's unique name or path is used as fallback.\n </p>\n\n <div v-if=\"teamsData?.items?.length\" class=\"flex flex-col gap-4\">\n <!-- Mobile: stacked cards. md+: same, compact cards -->\n <div\n v-for=\"team in teamsData.items\"\n :key=\"team.id\"\n class=\"card bg-base-100 shadow-sm border border-base-300\"\n >\n <div class=\"card-body p-4 md:p-5\">\n <h3 class=\"card-title text-base md:text-lg mb-3\">\n {{ team.display_name || team.unique_name || team.id }}\n </h3>\n\n <div class=\"form-control w-full\">\n <label class=\"label py-1\">\n <span class=\"label-text text-sm\">Referral tag</span>\n </label>\n <div class=\"flex flex-wrap gap-2\">\n <input\n v-model=\"referralTagInputs[team.id]\"\n type=\"text\"\n :class=\"[\n 'input input-bordered input-sm flex-1 min-w-0',\n referralTagErrors[team.id] && 'input-error',\n ]\"\n placeholder=\"e.g. my-team\"\n @keydown.enter.prevent=\"saveReferralTag(team.id)\"\n @input=\"validateReferralTagInput(team.id)\"\n />\n <button\n type=\"button\"\n class=\"btn btn-sm btn-ghost btn-square shrink-0\"\n title=\"Normalize to URL-friendly tag from team name\"\n aria-label=\"Normalize tag\"\n @click=\"normalizeReferralTag(team)\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\" />\n </svg>\n </button>\n </div>\n <!-- Fixed-height error slot: no layout shift -->\n <div class=\"h-5 text-xs text-error leading-tight mt-1\">\n {{ referralTagErrors[team.id] ?? '\\u00A0' }}\n </div>\n </div>\n\n <div class=\"card-actions justify-end mt-2\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-sm\"\n :disabled=\"savingTeamId === team.id || referralTagInputs[team.id] === (team.referral_tag ?? '')\"\n @click=\"saveReferralTag(team.id)\"\n >\n <span v-if=\"savingTeamId === team.id\" class=\"loading loading-spinner loading-sm\" />\n {{ savingTeamId === team.id ? 'Saving...' : 'Save' }}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <p v-else class=\"text-base-content/60 text-sm\">No teams found.</p>\n </div>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { normalizeToReferralTag, ReferralTagValueSchema } from '@dragonmastery/dragoncore-shared';\nimport type { DefaultReferralTeamFormDto } from './defaultReferralTeamSchema';\nimport { defaultReferralTeamSchemaWithMetadata } from './defaultReferralTeamSchema';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { computed, reactive, ref, watch } from 'vue';\nimport { toast } from 'vue3-toastify';\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useQuery } from '../../../../composables/useQuery';\nimport { extractRpcErrorMessage } from '../../../../utils/extractRpcErrorMessage';\n\nconst {\n data: defaultTeamIdData,\n loading: defaultLoading,\n refetch: refetchDefault,\n} = useQuery((api) => api.appSettings.getDefaultTeamIdForUnknownReferrals(), {\n cacheKey: 'admin-default-referral-team',\n staleTime: 30 * 1000,\n});\n\nconst {\n data: teamsData,\n loading: teamsLoading,\n refetch: refetchTeams,\n} = useQuery(\n (api) => api.teams.listTeams({ first: 100 }),\n {\n cacheKey: 'admin-teams-for-default-referral',\n staleTime: 60 * 1000,\n },\n);\n\nconst referralTagInputs = reactive<Record<string, string>>({});\nconst referralTagErrors = reactive<Record<string, string>>({});\nconst savingTeamId = ref<string | null>(null);\n\nfunction validateReferralTagInput(teamId: string) {\n const raw = referralTagInputs[teamId]?.trim() ?? '';\n if (raw === '') {\n delete referralTagErrors[teamId];\n return;\n }\n const result = ReferralTagValueSchema.safeParse(raw);\n if (result.success) {\n delete referralTagErrors[teamId];\n } else {\n referralTagErrors[teamId] =\n result.error.errors[0]?.message ?? 'Invalid referral tag format';\n }\n}\n\nwatch(\n () => teamsData.value?.items ?? [],\n (teams) => {\n for (const team of teams) {\n referralTagInputs[team.id] = team.referral_tag ?? '';\n delete referralTagErrors[team.id];\n }\n },\n { immediate: true },\n);\n\nconst loadTeams = async () => {\n while (teamsLoading.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n const teams = teamsData.value?.items ?? [];\n const options = [\n { value: '', label: 'None (reject unknown tags)' },\n ...teams.map((team) => ({\n value: team.id,\n label: `${team.display_name || team.unique_name || team.id}${team.referral_tag ? ` (${team.referral_tag})` : ''}`,\n })),\n ];\n return options;\n};\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n} = useForm(defaultReferralTeamSchemaWithMetadata, {\n storeName: 'admin-default-referral-team-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n while (defaultLoading.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n const data = defaultTeamIdData.value;\n return {\n default_team_id: data?.default_team_id ?? null,\n };\n },\n dataLoaders: {\n teams: loadTeams,\n },\n});\n\n// Only show full-page loading during initial load. When refetching teams after inline save,\n// we already have data—keep the table visible and show row-level \"Saving...\" instead.\nconst isLoading = computed(() => {\n if (form.isLoading) return true;\n if (defaultLoading.value && !defaultTeamIdData.value) return true;\n if (teamsLoading.value && !teamsData.value?.items?.length) return true;\n return false;\n});\n\nconst { mutate: updateDefaultTeam } = useMutation(\n (api, input: DefaultReferralTeamFormDto) =>\n api.appSettings.updateDefaultTeamIdForUnknownReferrals(input),\n { invalidate: /admin-default-referral-team/ },\n);\n\nconst { mutate: setReferralTag } = useMutation(\n (api, input: { team_id: string; referral_tag: string | null }) =>\n api.teams.setReferralTag(input),\n { invalidate: /admin-teams-for-default-referral/ },\n);\n\nfunction normalizeReferralTag(team: { id: string; display_name?: string | null; unique_name?: string | null }) {\n const name = team.display_name || team.unique_name || team.id;\n const normalized = normalizeToReferralTag(name);\n if (normalized) {\n referralTagInputs[team.id] = normalized;\n validateReferralTagInput(team.id);\n }\n}\n\nasync function saveReferralTag(teamId: string) {\n const raw = referralTagInputs[teamId]?.trim() ?? '';\n const referral_tag = raw === '' ? null : raw;\n const team = teamsData.value?.items?.find((t) => t.id === teamId);\n if (team && referral_tag === (team.referral_tag ?? null)) return;\n\n // Validate format before save—no transform, show error inline if invalid\n if (referral_tag !== null) {\n const result = ReferralTagValueSchema.safeParse(referral_tag);\n if (!result.success) {\n referralTagErrors[teamId] =\n result.error.errors[0]?.message ?? 'Invalid referral tag format';\n return;\n }\n }\n\n delete referralTagErrors[teamId];\n savingTeamId.value = teamId;\n try {\n await setReferralTag({ team_id: teamId, referral_tag });\n toast.success('Referral tag saved');\n referralTagInputs[teamId] = referral_tag ?? '';\n await refetchTeams();\n } catch (err) {\n referralTagErrors[teamId] = extractRpcErrorMessage(\n err,\n 'Failed to save referral tag',\n );\n } finally {\n savingTeamId.value = null;\n }\n}\n\nasync function handleSubmit(formData: DefaultReferralTeamFormDto) {\n const default_team_id = formData.default_team_id?.trim() || null;\n await updateDefaultTeam({ default_team_id });\n return { ok: true };\n}\n\nasync function handleSuccess() {\n toast.success('Default team saved');\n await refetchDefault();\n}\n\nfunction handleError(error: Error | unknown) {\n const message = error instanceof Error ? error.message : String(error);\n form.setSubmitError(extractRpcErrorMessage(error, message));\n toast.error(form.submitError ?? 'Failed to save');\n}\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import "./useRpcAuth-CJtq1dqM.js";
2
+ import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
+ import "./useQueryCache-alzaRWEb.js";
4
+ import "./useMutation-BLNuJoYl.js";
5
+ import "./FieldsetSection-Br_sygWW.js";
6
+ import "./userAuthorized-3RiCDXxr.js";
7
+ import "./teamMetadata-NTjPt89L.js";
8
+ import "./team_memberRoutes-BgjY9Kwq.js";
9
+ import "./teamRoutes-CFDsHPkd.js";
10
+ import { t as EditTeamForm_default } from "./EditTeamForm-C1_-p3lZ.js";
11
+
12
+ export { EditTeamForm_default as default };
@@ -1,7 +1,7 @@
1
1
  import { t as useMutation } from "./useMutation-BLNuJoYl.js";
2
- import { t as FieldsetSection_default } from "./FieldsetSection-CH1jAwcc.js";
3
- import { n as teamUpdateSchemaWithMetadata } from "./teamMetadata-26Mwjb2i.js";
4
- import { t as teamPaths } from "./teamRoutes-CtNcFZjR.js";
2
+ import { t as FieldsetSection_default } from "./FieldsetSection-Br_sygWW.js";
3
+ import { n as teamUpdateSchemaWithMetadata } from "./teamMetadata-NTjPt89L.js";
4
+ import { t as teamPaths } from "./teamRoutes-CFDsHPkd.js";
5
5
  import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, openBlock, toDisplayString, unref, watch, withCtx } from "vue";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { toast } from "vue3-toastify";
@@ -160,4 +160,4 @@ var EditTeamForm_default = _sfc_main;
160
160
 
161
161
  //#endregion
162
162
  export { EditTeamForm_default as t };
163
- //# sourceMappingURL=EditTeamForm-BEOkUaKG.js.map
163
+ //# sourceMappingURL=EditTeamForm-C1_-p3lZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditTeamForm-BEOkUaKG.js","names":[],"sources":["../src/slices/team/EditTeamForm.vue"],"sourcesContent":["<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\"\n subtitle=\"Update team details\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Team Details\">\n <zinia.UniqueNameField placeholder=\"Enter unique name\" />\n <zinia.DisplayNameField placeholder=\"Enter display name\" />\n <zinia.LegalNameField placeholder=\"Enter legal name (optional)\" />\n </FieldsetSection>\n\n <FieldsetSection title=\"Description\">\n <zinia.DescriptionField placeholder=\"Enter team description\" />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.ContactNameField placeholder=\"Enter contact name\" />\n <zinia.ContactEmailField placeholder=\"Enter contact email\" />\n <zinia.ContactBusinessPhoneField placeholder=\"Enter business phone\" />\n <zinia.ContactMobilePhoneField placeholder=\"Enter mobile phone\" />\n <zinia.ContactTimeZoneField placeholder=\"Enter time zone\" />\n </FieldsetSection>\n\n <!-- Address Information -->\n <FieldsetSection title=\"Address\">\n <zinia.AddressFullField placeholder=\"Enter address\" />\n <zinia.AddressCityField placeholder=\"Enter city\" />\n <zinia.AddressZipField placeholder=\"Enter zip code\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.TwitterUsernameField placeholder=\"Enter Twitter username\" />\n <zinia.UrlField placeholder=\"Enter URL\" />\n </FieldsetSection>\n\n <!-- Branding -->\n <FieldsetSection title=\"Branding\">\n <zinia.LogoField placeholder=\"Enter logo URL\" />\n </FieldsetSection>\n\n <!-- Email Settings -->\n <FieldsetSection title=\"Email Settings\">\n <zinia.EmailSentFromField placeholder=\"Enter sent from email\" />\n <zinia.EmailReplyToField placeholder=\"Enter reply to email\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Update Team\" submittingText=\"Updating Team...\" />\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 { TeamReadDto, TeamUpdateDto } from '@dragonmastery/dragoncore-shared';\nimport { inject, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { teamUpdateSchemaWithMetadata } from './teamMetadata';\nimport { teamPaths } from './teamRoutes';\n\ninterface Props {\n team: TeamReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst router = useRouter();\nconst team_id = route.params.id as string;\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamUpdateSchemaWithMetadata, {\n storeName: `edit-team-${team_id}`,\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n if (!props.team) {\n throw new Error('No team data found');\n }\n\n return props.team as TeamUpdateDto;\n },\n});\n\n// Get refresh function from parent\nconst refreshTeam = inject<(() => Promise<void>) | undefined>('refreshTeam');\n\n// Redirect to view if team is archived\nwatch(\n () => props.team,\n (team) => {\n if (team?.archived_at) {\n router.replace({\n name: teamPaths.view.name,\n params: { id: team_id },\n });\n }\n },\n);\n\n// Setup mutation for updating team\nconst { mutate: updateTeam } = useMutation(\n (api, input: TeamUpdateDto) => api.teams.updateTeam(input),\n { invalidate: /^teams?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: TeamUpdateDto) => {\n const updatedTeam = await updateTeam(formData);\n if (!updatedTeam) {\n throw new Error('Failed to update team');\n }\n return updatedTeam;\n};\n\n// Handle successful submission\nconst handleSuccess = async () => {\n clearSavedFormState();\n toast.success(`Team updated successfully!`);\n // Refresh team data via parent\n if (refreshTeam) {\n await refreshTeam();\n }\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditTeamForm-C1_-p3lZ.js","names":[],"sources":["../src/slices/team/EditTeamForm.vue"],"sourcesContent":["<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\"\n subtitle=\"Update team details\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Team Details\">\n <zinia.UniqueNameField placeholder=\"Enter unique name\" />\n <zinia.DisplayNameField placeholder=\"Enter display name\" />\n <zinia.LegalNameField placeholder=\"Enter legal name (optional)\" />\n </FieldsetSection>\n\n <FieldsetSection title=\"Description\">\n <zinia.DescriptionField placeholder=\"Enter team description\" />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.ContactNameField placeholder=\"Enter contact name\" />\n <zinia.ContactEmailField placeholder=\"Enter contact email\" />\n <zinia.ContactBusinessPhoneField placeholder=\"Enter business phone\" />\n <zinia.ContactMobilePhoneField placeholder=\"Enter mobile phone\" />\n <zinia.ContactTimeZoneField placeholder=\"Enter time zone\" />\n </FieldsetSection>\n\n <!-- Address Information -->\n <FieldsetSection title=\"Address\">\n <zinia.AddressFullField placeholder=\"Enter address\" />\n <zinia.AddressCityField placeholder=\"Enter city\" />\n <zinia.AddressZipField placeholder=\"Enter zip code\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.TwitterUsernameField placeholder=\"Enter Twitter username\" />\n <zinia.UrlField placeholder=\"Enter URL\" />\n </FieldsetSection>\n\n <!-- Branding -->\n <FieldsetSection title=\"Branding\">\n <zinia.LogoField placeholder=\"Enter logo URL\" />\n </FieldsetSection>\n\n <!-- Email Settings -->\n <FieldsetSection title=\"Email Settings\">\n <zinia.EmailSentFromField placeholder=\"Enter sent from email\" />\n <zinia.EmailReplyToField placeholder=\"Enter reply to email\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Update Team\" submittingText=\"Updating Team...\" />\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 { TeamReadDto, TeamUpdateDto } from '@dragonmastery/dragoncore-shared';\nimport { inject, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { teamUpdateSchemaWithMetadata } from './teamMetadata';\nimport { teamPaths } from './teamRoutes';\n\ninterface Props {\n team: TeamReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst router = useRouter();\nconst team_id = route.params.id as string;\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamUpdateSchemaWithMetadata, {\n storeName: `edit-team-${team_id}`,\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n if (!props.team) {\n throw new Error('No team data found');\n }\n\n return props.team as TeamUpdateDto;\n },\n});\n\n// Get refresh function from parent\nconst refreshTeam = inject<(() => Promise<void>) | undefined>('refreshTeam');\n\n// Redirect to view if team is archived\nwatch(\n () => props.team,\n (team) => {\n if (team?.archived_at) {\n router.replace({\n name: teamPaths.view.name,\n params: { id: team_id },\n });\n }\n },\n);\n\n// Setup mutation for updating team\nconst { mutate: updateTeam } = useMutation(\n (api, input: TeamUpdateDto) => api.teams.updateTeam(input),\n { invalidate: /^teams?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: TeamUpdateDto) => {\n const updatedTeam = await updateTeam(formData);\n if (!updatedTeam) {\n throw new Error('Failed to update team');\n }\n return updatedTeam;\n};\n\n// Handle successful submission\nconst handleSuccess = async () => {\n clearSavedFormState();\n toast.success(`Team updated successfully!`);\n // Refresh team data via parent\n if (refreshTeam) {\n await refreshTeam();\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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"}
@@ -2,8 +2,8 @@ import "./useRpcAuth-CJtq1dqM.js";
2
2
  import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
3
  import "./useQueryCache-alzaRWEb.js";
4
4
  import "./useMutation-BLNuJoYl.js";
5
- import "./FieldsetSection-CH1jAwcc.js";
6
- import "./teamMemberMetadata-DX0W-B7p.js";
7
- import { t as EditTeamMemberForm_default } from "./EditTeamMemberForm-Fyf8Zxfh.js";
5
+ import "./FieldsetSection-Br_sygWW.js";
6
+ import "./teamMemberMetadata-C4urCwBU.js";
7
+ import { t as EditTeamMemberForm_default } from "./EditTeamMemberForm-D9cofrUM.js";
8
8
 
9
9
  export { EditTeamMemberForm_default as default };
@@ -1,6 +1,6 @@
1
1
  import { t as useMutation } from "./useMutation-BLNuJoYl.js";
2
- import { t as FieldsetSection_default } from "./FieldsetSection-CH1jAwcc.js";
3
- import { n as teamMemberUpdateSchemaWithMetadata } from "./teamMemberMetadata-DX0W-B7p.js";
2
+ import { t as FieldsetSection_default } from "./FieldsetSection-Br_sygWW.js";
3
+ import { n as teamMemberUpdateSchemaWithMetadata } from "./teamMemberMetadata-C4urCwBU.js";
4
4
  import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, openBlock, toDisplayString, unref, withCtx } from "vue";
5
5
  import { useRoute } from "vue-router";
6
6
  import { toast } from "vue3-toastify";
@@ -123,4 +123,4 @@ var EditTeamMemberForm_default = _sfc_main;
123
123
 
124
124
  //#endregion
125
125
  export { EditTeamMemberForm_default as t };
126
- //# sourceMappingURL=EditTeamMemberForm-Fyf8Zxfh.js.map
126
+ //# sourceMappingURL=EditTeamMemberForm-D9cofrUM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditTeamMemberForm-Fyf8Zxfh.js","names":[],"sources":["../src/slices/team/team_member/EditTeamMemberForm.vue"],"sourcesContent":["<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
+ {"version":3,"file":"EditTeamMemberForm-D9cofrUM.js","names":[],"sources":["../src/slices/team/team_member/EditTeamMemberForm.vue"],"sourcesContent":["<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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"}
@@ -3,6 +3,6 @@ import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
3
  import "./useQueryCache-alzaRWEb.js";
4
4
  import "./useMutation-BLNuJoYl.js";
5
5
  import "./useQuery-BzUGEOj0.js";
6
- import { t as EditUserPage_default } from "./EditUserPage-BBzGmOrx.js";
6
+ import { t as EditUserPage_default } from "./EditUserPage-CwsO8naT.js";
7
7
 
8
8
  export { EditUserPage_default as default };
@@ -1,6 +1,6 @@
1
1
  import { t as useMutation } from "./useMutation-BLNuJoYl.js";
2
2
  import { t as useQuery } from "./useQuery-BzUGEOj0.js";
3
- import { t as formatSystemTimestamp } from "./convertToLocalDateTime-C13-PrSA.js";
3
+ import { t as formatSystemTimestamp } from "./convertToLocalDateTime-BKBxm2Rc.js";
4
4
  import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, toDisplayString, unref, withCtx } from "vue";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { toast } from "vue3-toastify";
@@ -109,4 +109,4 @@ var EditUserPage_default = _sfc_main;
109
109
 
110
110
  //#endregion
111
111
  export { updateUserSchemaWithMetadata as n, EditUserPage_default as t };
112
- //# sourceMappingURL=EditUserPage-BBzGmOrx.js.map
112
+ //# sourceMappingURL=EditUserPage-CwsO8naT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditUserPage-BBzGmOrx.js","names":[],"sources":["../src/slices/admin/features/user_management/updateUserMetadata.ts","../src/slices/admin/features/user_management/EditUserPage.vue"],"sourcesContent":["import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { UserUpdateSchema } from '@dragonmastery/dragoncore-shared';\n\nexport const updateUserSchemaWithMetadata = withMetadata(\n UserUpdateSchema,\n 'updateUserSchema',\n {\n user_type: {\n label: 'User Role',\n helpText: 'Select the role for this user',\n },\n },\n);\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\">Edit User</h1>\n\n <!-- Loading State -->\n <div v-if=\"fetching\" class=\"flex justify-center py-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <!-- Error State -->\n <div v-else-if=\"error\" class=\"alert alert-error mb-4\">\n <span>Error loading user: {{ error.message }}</span>\n </div>\n\n <!-- Edit Form -->\n <div v-else-if=\"userData\">\n <!-- Read-only user info -->\n <div class=\"card bg-base-100 shadow-xl mb-6\">\n <div class=\"card-body\">\n <h2 class=\"card-title\">User Information</h2>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Username</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ userData.username }}\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Email</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ userData.email }}\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Email Verified</span>\n </label>\n <div class=\"flex items-center\">\n <span\n class=\"badge\"\n :class=\"userData.email_verified ? 'badge-success' : 'badge-error'\"\n >\n {{ userData.email_verified ? 'Verified' : 'Not Verified' }}\n </span>\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Created</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ formatSystemTimestamp(userData.created_at) }}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Editable role -->\n <ZiniaForm\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Update User Role\"\n subtitle=\"Change the user's role in the system\"\n >\n <zinia.UserTypeField />\n\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <span>{{ form.submitError }}</span>\n </div>\n\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Update Role\" submittingText=\"Updating...\" />\n </div>\n\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useQuery } from '../../../../composables/useQuery';\nimport { formatSystemTimestamp } from '../../../../utils/convertToLocalDateTime';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport type { UserUpdateDto } from '@dragonmastery/dragoncore-shared';\nimport { ref } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { updateUserSchemaWithMetadata } from './updateUserMetadata';\n\nconst route = useRoute();\nconst router = useRouter();\nconst userId = route.params.id as string;\n\n// Fetch user data\nconst {\n data,\n loading: fetching,\n error,\n} = useQuery((api) => api.users.getUser(userId), {\n staleTime: 5 * 60 * 1000,\n});\n\nconst userData = ref<any | null>(null);\n\n// Create form with user data\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton, ZiniaResetButton, ZiniaFormErrorsSummary } =\n useForm(updateUserSchemaWithMetadata, {\n storeName: `edit-user-form-${userId}`,\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n while (fetching.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n\n if (!data.value) {\n throw new Error('User not found');\n }\n\n userData.value = data.value;\n return {\n id: data.value?.id,\n user_type: data.value?.user_type,\n } satisfies UserUpdateDto;\n },\n });\n\nconst { mutate: updateUser } = useMutation(\n (api, formData: UserUpdateDto) => api.users.updateUser(formData),\n { invalidate: /^users?:/ },\n);\n\nconst handleSubmit = async (formData: UserUpdateDto) => {\n const result = await updateUser(formData);\n if (!result) throw new Error('Failed to update user');\n return result;\n};\n\nconst handleSuccess = async (_result: any) => {\n await router.push({ name: 'UserManagement' });\n toast.success('User role updated successfully!');\n};\n\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditUserPage-CwsO8naT.js","names":[],"sources":["../src/slices/admin/features/user_management/updateUserMetadata.ts","../src/slices/admin/features/user_management/EditUserPage.vue"],"sourcesContent":["import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { UserUpdateSchema } from '@dragonmastery/dragoncore-shared';\n\nexport const updateUserSchemaWithMetadata = withMetadata(\n UserUpdateSchema,\n 'updateUserSchema',\n {\n user_type: {\n label: 'User Role',\n helpText: 'Select the role for this user',\n },\n },\n);\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\">Edit User</h1>\n\n <!-- Loading State -->\n <div v-if=\"fetching\" class=\"flex justify-center py-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <!-- Error State -->\n <div v-else-if=\"error\" class=\"alert alert-error mb-4\">\n <span>Error loading user: {{ error.message }}</span>\n </div>\n\n <!-- Edit Form -->\n <div v-else-if=\"userData\">\n <!-- Read-only user info -->\n <div class=\"card bg-base-100 shadow-xl mb-6\">\n <div class=\"card-body\">\n <h2 class=\"card-title\">User Information</h2>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Username</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ userData.username }}\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Email</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ userData.email }}\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Email Verified</span>\n </label>\n <div class=\"flex items-center\">\n <span\n class=\"badge\"\n :class=\"userData.email_verified ? 'badge-success' : 'badge-error'\"\n >\n {{ userData.email_verified ? 'Verified' : 'Not Verified' }}\n </span>\n </div>\n </div>\n <div>\n <label class=\"label\">\n <span class=\"label-text font-semibold\">Created</span>\n </label>\n <div class=\"input input-bordered bg-base-200\">\n {{ formatSystemTimestamp(userData.created_at) }}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Editable role -->\n <ZiniaForm\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Update User Role\"\n subtitle=\"Change the user's role in the system\"\n >\n <zinia.UserTypeField />\n\n <div v-if=\"form.submitError\" class=\"alert alert-error mb-4\">\n <span>{{ form.submitError }}</span>\n </div>\n\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton submitText=\"Update Role\" submittingText=\"Updating...\" />\n </div>\n\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useQuery } from '../../../../composables/useQuery';\nimport { formatSystemTimestamp } from '../../../../utils/convertToLocalDateTime';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport type { UserUpdateDto } from '@dragonmastery/dragoncore-shared';\nimport { ref } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport { updateUserSchemaWithMetadata } from './updateUserMetadata';\n\nconst route = useRoute();\nconst router = useRouter();\nconst userId = route.params.id as string;\n\n// Fetch user data\nconst {\n data,\n loading: fetching,\n error,\n} = useQuery((api) => api.users.getUser(userId), {\n staleTime: 5 * 60 * 1000,\n});\n\nconst userData = ref<any | null>(null);\n\n// Create form with user data\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton, ZiniaResetButton, ZiniaFormErrorsSummary } =\n useForm(updateUserSchemaWithMetadata, {\n storeName: `edit-user-form-${userId}`,\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n fetchData: async () => {\n while (fetching.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n\n if (!data.value) {\n throw new Error('User not found');\n }\n\n userData.value = data.value;\n return {\n id: data.value?.id,\n user_type: data.value?.user_type,\n } satisfies UserUpdateDto;\n },\n });\n\nconst { mutate: updateUser } = useMutation(\n (api, formData: UserUpdateDto) => api.users.updateUser(formData),\n { invalidate: /^users?:/ },\n);\n\nconst handleSubmit = async (formData: UserUpdateDto) => {\n const result = await updateUser(formData);\n if (!result) throw new Error('Failed to update user');\n return result;\n};\n\nconst handleSuccess = async (_result: any) => {\n await router.push({ name: 'UserManagement' });\n toast.success('User role updated successfully!');\n};\n\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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"}
@@ -31,4 +31,4 @@ var ExternalLinkIcon_default = _sfc_main;
31
31
 
32
32
  //#endregion
33
33
  export { ExternalLinkIcon_default as t };
34
- //# sourceMappingURL=ExternalLinkIcon-FidcmNOa.js.map
34
+ //# sourceMappingURL=ExternalLinkIcon-BKVV5Gjm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalLinkIcon-FidcmNOa.js","names":[],"sources":["../src/components/ui/ExternalLinkIcon.vue"],"sourcesContent":["<template>\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=\"['shrink-0', sizeClass]\"\n aria-hidden=\"true\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25\"\n />\n </svg>\n</template>\n\n<script setup lang=\"ts\">\nconst props = withDefaults(\n defineProps<{\n /** Icon size: sm (3), default (4), lg (5) */\n size?: 'sm' | 'default' | 'lg';\n }>(),\n { size: 'default' },\n);\n\nconst sizeClass = {\n sm: 'w-3 h-3',\n default: 'w-4 h-4',\n lg: 'w-5 h-5',\n}[props.size];\n</script>\n"],"mappings":";;;;;;;EA2BA,MAAM,YAAY;GAChB,IAAI;GACJ,SAAS;GACT,IAAI;GACL,CAZa,QAYN;;uBA9BN,mBAcM,OAAA;IAbJ,OAAM;IACN,MAAK;IACL,SAAQ;IACR,gBAAa;IACb,QAAO;IACN,OAAK,eAAA,CAAA,YAAe,MAAA,UAAS,CAAA,CAAA;IAC9B,eAAY;qCAEZ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE"}
1
+ {"version":3,"file":"ExternalLinkIcon-BKVV5Gjm.js","names":[],"sources":["../src/components/ui/ExternalLinkIcon.vue"],"sourcesContent":["<template>\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=\"['shrink-0', sizeClass]\"\n aria-hidden=\"true\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25\"\n />\n </svg>\n</template>\n\n<script setup lang=\"ts\">\nconst props = withDefaults(\n defineProps<{\n /** Icon size: sm (3), default (4), lg (5) */\n size?: 'sm' | 'default' | 'lg';\n }>(),\n { size: 'default' },\n);\n\nconst sizeClass = {\n sm: 'w-3 h-3',\n default: 'w-4 h-4',\n lg: 'w-5 h-5',\n}[props.size];\n</script>\n"],"mappings":";;;;;;;EA2BA,MAAM,YAAY;GAChB,IAAI;GACJ,SAAS;GACT,IAAI;GACL,CAZa,QAYN;;uBA9BN,mBAcM,OAAA;IAbJ,OAAM;IACN,MAAK;IACL,SAAQ;IACR,gBAAa;IACb,QAAO;IACN,OAAK,eAAA,CAAA,YAAe,MAAA,UAAS,CAAA,CAAA;IAC9B,eAAY;qCAEZ,mBAIE,QAAA;IAHA,kBAAe;IACf,mBAAgB;IAChB,GAAE"}
@@ -24,4 +24,4 @@ var FieldsetSection_default = _sfc_main;
24
24
 
25
25
  //#endregion
26
26
  export { FieldsetSection_default as t };
27
- //# sourceMappingURL=FieldsetSection-CH1jAwcc.js.map
27
+ //# sourceMappingURL=FieldsetSection-Br_sygWW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsetSection-CH1jAwcc.js","names":[],"sources":["../src/components/ui/FieldsetSection.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"],"mappings":";;;;;;;;;;;;;;uBACE,mBAOW,YAPX,YAOW;IANT,mBAAwF,UAAxF,YAAwF,gBAAjB,QAAA,MAAK,EAAA,EAAA;IAE5E,mBAAA,0BAA8B;IAC9B,mBAEM,OAFN,YAEM,CADJ,WAAa,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"FieldsetSection-Br_sygWW.js","names":[],"sources":["../src/components/ui/FieldsetSection.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"],"mappings":";;;;;;;;;;;;;;uBACE,mBAOW,YAPX,YAOW;IANT,mBAAwF,UAAxF,YAAwF,gBAAjB,QAAA,MAAK,EAAA,EAAA;IAE5E,mBAAA,0BAA8B;IAC9B,mBAEM,OAFN,YAEM,CADJ,WAAa,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -3,6 +3,6 @@ import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
3
  import "./useQueryCache-alzaRWEb.js";
4
4
  import "./useMutation-BLNuJoYl.js";
5
5
  import "./AppLink-FcNGKgvG.js";
6
- import { t as LoginForm_default } from "./LoginForm-D1Mx2vAY.js";
6
+ import { t as LoginForm_default } from "./LoginForm-CSMHsZrq.js";
7
7
 
8
8
  export { LoginForm_default as default };
@@ -137,4 +137,4 @@ var LoginForm_default = _sfc_main;
137
137
 
138
138
  //#endregion
139
139
  export { loginSchemaWithMetadata as n, LoginForm_default as t };
140
- //# sourceMappingURL=LoginForm-D1Mx2vAY.js.map
140
+ //# sourceMappingURL=LoginForm-CSMHsZrq.js.map