@dragonmastery/dragoncore-vue 0.0.31 → 0.0.33

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 (199) hide show
  1. package/dist/{ChangePasswordPage-Dy8lFUcI.js → ChangePasswordPage-CR91NZP4.js} +2 -2
  2. package/dist/{ChangePasswordPage-Dy8lFUcI.js.map → ChangePasswordPage-CR91NZP4.js.map} +1 -1
  3. package/dist/ChangePasswordPage-qLd6YZVO.js +7 -0
  4. package/dist/{ConsentRequired-Bhkxu0rv.js → ConsentRequired-DtUwfpk0.js} +36 -27
  5. package/dist/ConsentRequired-DtUwfpk0.js.map +1 -0
  6. package/dist/{CreateTeamForm-bpLbK18g.js → CreateTeamForm-ClisfzsU.js} +3 -3
  7. package/dist/{CreateTeamForm-bpLbK18g.js.map → CreateTeamForm-ClisfzsU.js.map} +1 -1
  8. package/dist/CreateTeamForm-DWAeq_Xd.js +12 -0
  9. package/dist/{CreateTeamMemberForm-DeUyXnVa.js → CreateTeamMemberForm-B3jxlAsC.js} +4 -4
  10. package/dist/{CreateTeamMemberForm-DeUyXnVa.js.map → CreateTeamMemberForm-B3jxlAsC.js.map} +1 -1
  11. package/dist/CreateTeamMemberForm-BYsZNxTq.js +12 -0
  12. package/dist/{CreateUserPage-CqKcY7_X.js → CreateUserPage-BcCIat_l.js} +2 -2
  13. package/dist/{CreateUserPage-CqKcY7_X.js.map → CreateUserPage-BcCIat_l.js.map} +1 -1
  14. package/dist/CreateUserPage-D0oMJnGd.js +7 -0
  15. package/dist/{CreditBalanceDashboard-BEsOr0Rw.js → CreditBalanceDashboard-CJr1yOjW.js} +2 -2
  16. package/dist/{CreditBalanceDashboard-BEsOr0Rw.js.map → CreditBalanceDashboard-CJr1yOjW.js.map} +1 -1
  17. package/dist/CreditBalanceDashboard-D370HlpF.js +13 -0
  18. package/dist/CreditManagement-B4aHJfOo.js +13 -0
  19. package/dist/{CreditManagement-DiVSMbWZ.js → CreditManagement-BbDEviZx.js} +3 -3
  20. package/dist/{CreditManagement-DiVSMbWZ.js.map → CreditManagement-BbDEviZx.js.map} +1 -1
  21. package/dist/{CreditTransactionHistory-mcacl2xG.js → CreditTransactionHistory-mz-QIKUG.js} +5 -5
  22. package/dist/{CreditTransactionHistory-mcacl2xG.js.map → CreditTransactionHistory-mz-QIKUG.js.map} +1 -1
  23. package/dist/{CustomerCreateSupportTicketForm-IefplMnK.js → CustomerCreateSupportTicketForm-Cul4aVjB.js} +4 -4
  24. package/dist/{CustomerCreateSupportTicketForm-IefplMnK.js.map → CustomerCreateSupportTicketForm-Cul4aVjB.js.map} +1 -1
  25. package/dist/CustomerCreateSupportTicketForm-DCPjvzyF.js +14 -0
  26. package/dist/{CustomerSupportTicketDetailPage-Dengb4Zx.js → CustomerSupportTicketDetailPage-DflGaKvk.js} +8 -8
  27. package/dist/{CustomerSupportTicketDetailPage-Dengb4Zx.js.map → CustomerSupportTicketDetailPage-DflGaKvk.js.map} +1 -1
  28. package/dist/CustomerSupportTicketList-BPWQ8WjH.js +64 -0
  29. package/dist/CustomerSupportTicketParent-C0uMeN09.js +8 -0
  30. package/dist/{CustomerSupportTicketParent-rl4Ym8oa.js → CustomerSupportTicketParent-D9FuZjPz.js} +2 -2
  31. package/dist/{CustomerSupportTicketParent-rl4Ym8oa.js.map → CustomerSupportTicketParent-D9FuZjPz.js.map} +1 -1
  32. package/dist/{CustomerSupportTicketSuccess-RQskseXP.js → CustomerSupportTicketSuccess-B4WR8Zfn.js} +2 -2
  33. package/dist/{CustomerSupportTicketSuccess-RQskseXP.js.map → CustomerSupportTicketSuccess-B4WR8Zfn.js.map} +1 -1
  34. package/dist/CustomerSupportTicketSuccess-Bsp1d0oF.js +12 -0
  35. package/dist/{DefaultReferralTeamPage-Be7-RI3s.js → DefaultReferralTeamPage-fS1SlVow.js} +6 -6
  36. package/dist/{DefaultReferralTeamPage-Be7-RI3s.js.map → DefaultReferralTeamPage-fS1SlVow.js.map} +1 -1
  37. package/dist/{EditTeamForm-RBO99ocN.js → EditTeamForm-B4p-C-8i.js} +3 -3
  38. package/dist/{EditTeamForm-RBO99ocN.js.map → EditTeamForm-B4p-C-8i.js.map} +1 -1
  39. package/dist/EditTeamForm-ucwkw2eL.js +12 -0
  40. package/dist/EditTeamMemberForm-BKbWq88S.js +9 -0
  41. package/dist/{EditTeamMemberForm-D9cofrUM.js → EditTeamMemberForm-D6vf9hp-.js} +2 -2
  42. package/dist/{EditTeamMemberForm-D9cofrUM.js.map → EditTeamMemberForm-D6vf9hp-.js.map} +1 -1
  43. package/dist/EditUserPage-DCdj6EYd.js +8 -0
  44. package/dist/{EditUserPage-DGuV8pzp.js → EditUserPage-Dy61CCle.js} +3 -3
  45. package/dist/{EditUserPage-DGuV8pzp.js.map → EditUserPage-Dy61CCle.js.map} +1 -1
  46. package/dist/{EnhancedRefreshTokenHandler-C6tZCcfX.js → EnhancedRefreshTokenHandler-s8wUXtB5.js} +2 -2
  47. package/dist/{EnhancedRefreshTokenHandler-C6tZCcfX.js.map → EnhancedRefreshTokenHandler-s8wUXtB5.js.map} +1 -1
  48. package/dist/{ForgotPassword-DZ-d8rWX.js → ForgotPassword-BykH9B9R.js} +2 -2
  49. package/dist/{ForgotPassword-DZ-d8rWX.js.map → ForgotPassword-BykH9B9R.js.map} +1 -1
  50. package/dist/ForgotPassword-Xb1yVZ6C.js +8 -0
  51. package/dist/{InlineAttachments-DAn_QknY.js → InlineAttachments-DvqCOd6U.js} +22 -12
  52. package/dist/InlineAttachments-DvqCOd6U.js.map +1 -0
  53. package/dist/LoginForm-B5wYdKhY.js +8 -0
  54. package/dist/{LoginForm-DEgTB9RF.js → LoginForm-CjF4NSgM.js} +3 -3
  55. package/dist/{LoginForm-DEgTB9RF.js.map → LoginForm-CjF4NSgM.js.map} +1 -1
  56. package/dist/{Logout-Bb2xe5BM.js → Logout-DmpC8Rwh.js} +3 -3
  57. package/dist/{Logout-Bb2xe5BM.js.map → Logout-DmpC8Rwh.js.map} +1 -1
  58. package/dist/Logout-qyH2t-1a.js +8 -0
  59. package/dist/{MfaSetup-m080C6iX.js → MfaSetup-DCLKIMaS.js} +2 -2
  60. package/dist/{MfaSetup-m080C6iX.js.map → MfaSetup-DCLKIMaS.js.map} +1 -1
  61. package/dist/MfaSetup-DMLXL9fk.js +9 -0
  62. package/dist/MfaVerify-C4xGQZlQ.js +9 -0
  63. package/dist/{MfaVerify-D8Ch-8hN.js → MfaVerify-Dm2Yc0Da.js} +3 -3
  64. package/dist/{MfaVerify-D8Ch-8hN.js.map → MfaVerify-Dm2Yc0Da.js.map} +1 -1
  65. package/dist/{ResetPassword-DflPd8Qg.js → ResetPassword-iVcY7eBY.js} +2 -2
  66. package/dist/{ResetPassword-DflPd8Qg.js.map → ResetPassword-iVcY7eBY.js.map} +1 -1
  67. package/dist/ResetPassword-ulR2HviU.js +8 -0
  68. package/dist/{SavedFiltersPage-ey8wOr0T.js → SavedFiltersPage-Y1T18UAH.js} +50 -50
  69. package/dist/{SavedFiltersPage-ey8wOr0T.js.map → SavedFiltersPage-Y1T18UAH.js.map} +1 -1
  70. package/dist/Signup-D4xILUym.js +10 -0
  71. package/dist/{Signup-KuiKHB4h.js → Signup-D6vnyS4w.js} +28 -28
  72. package/dist/Signup-D6vnyS4w.js.map +1 -0
  73. package/dist/{SignupRequirementsPage-CwnsnQKb.js → SignupRequirementsPage-BnOkXd7w.js} +6 -6
  74. package/dist/{SignupRequirementsPage-CwnsnQKb.js.map → SignupRequirementsPage-BnOkXd7w.js.map} +1 -1
  75. package/dist/{StaffCreateSupportTicketForm-75Bo0jdz.js → StaffCreateSupportTicketForm-B1YioWlS.js} +6 -6
  76. package/dist/{StaffCreateSupportTicketForm-75Bo0jdz.js.map → StaffCreateSupportTicketForm-B1YioWlS.js.map} +1 -1
  77. package/dist/StaffCreateSupportTicketForm-UkE9YVWE.js +14 -0
  78. package/dist/{StaffSupportTicketDetailPage-6VyPNdw7.js → StaffSupportTicketDetailPage-CMxsVxjf.js} +8 -8
  79. package/dist/{StaffSupportTicketDetailPage-6VyPNdw7.js.map → StaffSupportTicketDetailPage-CMxsVxjf.js.map} +1 -1
  80. package/dist/StaffSupportTicketList-BlGTtE1R.js +64 -0
  81. package/dist/{StaffSupportTicketParent-DPvdLUii.js → StaffSupportTicketParent-CZllER18.js} +2 -2
  82. package/dist/{StaffSupportTicketParent-DPvdLUii.js.map → StaffSupportTicketParent-CZllER18.js.map} +1 -1
  83. package/dist/StaffSupportTicketParent-D4FKQAmp.js +8 -0
  84. package/dist/StaffSupportTicketSuccess-CzS9uS2h.js +12 -0
  85. package/dist/{StaffSupportTicketSuccess-BYoBXx1i.js → StaffSupportTicketSuccess-DTMToAq2.js} +2 -2
  86. package/dist/{StaffSupportTicketSuccess-BYoBXx1i.js.map → StaffSupportTicketSuccess-DTMToAq2.js.map} +1 -1
  87. package/dist/{SupportStaffPage-CLxWU628.js → SupportStaffPage--vinFIlV.js} +6 -6
  88. package/dist/{SupportStaffPage-CLxWU628.js.map → SupportStaffPage--vinFIlV.js.map} +1 -1
  89. package/dist/{SupportTicketMaintenancePage-B07avInx.js → SupportTicketMaintenancePage-C-BWD49g.js} +5 -5
  90. package/dist/{SupportTicketMaintenancePage-B07avInx.js.map → SupportTicketMaintenancePage-C-BWD49g.js.map} +1 -1
  91. package/dist/TeamAttachmentsTab-BgtXRohH.js +64 -0
  92. package/dist/{TeamHistoryTab-CxzA4u_G.js → TeamHistoryTab-5kNQ_XAq.js} +3 -3
  93. package/dist/{TeamHistoryTab-CxzA4u_G.js.map → TeamHistoryTab-5kNQ_XAq.js.map} +1 -1
  94. package/dist/TeamHistoryTab-CBWeRKXM.js +6 -0
  95. package/dist/TeamList-D3NqS5DL.js +8 -0
  96. package/dist/{TeamList-DXQj_Omo.js → TeamList-P7rVlBuQ.js} +4 -4
  97. package/dist/{TeamList-DXQj_Omo.js.map → TeamList-P7rVlBuQ.js.map} +1 -1
  98. package/dist/{TeamMemberList-BYUANoBg.js → TeamMemberList-DyfXcR6F.js} +4 -4
  99. package/dist/{TeamMemberList-BYUANoBg.js.map → TeamMemberList-DyfXcR6F.js.map} +1 -1
  100. package/dist/TeamMemberList-X2hzYZFT.js +7 -0
  101. package/dist/{TeamMemberParent-DmYcHU3n.js → TeamMemberParent-2zISixbT.js} +3 -3
  102. package/dist/{TeamMemberParent-DmYcHU3n.js.map → TeamMemberParent-2zISixbT.js.map} +1 -1
  103. package/dist/TeamMemberParent-DKxE1ziP.js +10 -0
  104. package/dist/{TeamNotesTab-Cego-QT3.js → TeamNotesTab-BREl3Vr0.js} +5 -5
  105. package/dist/{TeamNotesTab-Cego-QT3.js.map → TeamNotesTab-BREl3Vr0.js.map} +1 -1
  106. package/dist/TeamNotesTab-DxMN3WZo.js +8 -0
  107. package/dist/TeamParent-CuoVw7Yk.js +11 -0
  108. package/dist/{TeamParent-6JhqsYaO.js → TeamParent-D35VUiio.js} +3 -3
  109. package/dist/{TeamParent-6JhqsYaO.js.map → TeamParent-D35VUiio.js.map} +1 -1
  110. package/dist/{TimelineNoteInput-P3ycD18j.js → TimelineNoteInput-D6AbJMx5.js} +2 -2
  111. package/dist/{TimelineNoteInput-P3ycD18j.js.map → TimelineNoteInput-D6AbJMx5.js.map} +1 -1
  112. package/dist/{UserListPage-DelzxCID.js → UserListPage-CCl0K7Gk.js} +3 -3
  113. package/dist/{UserListPage-DelzxCID.js.map → UserListPage-CCl0K7Gk.js.map} +1 -1
  114. package/dist/UserListPage-CYkvaHwL.js +5 -0
  115. package/dist/UserProfilePage-BMmz7SGl.js +8 -0
  116. package/dist/{UserProfilePage-BYitd7QV.js → UserProfilePage-D7FNmca1.js} +4 -4
  117. package/dist/{UserProfilePage-BYitd7QV.js.map → UserProfilePage-D7FNmca1.js.map} +1 -1
  118. package/dist/{VerifyEmail-Cy2s4yP0.js → VerifyEmail-KCti4rzf.js} +5 -5
  119. package/dist/{VerifyEmail-Cy2s4yP0.js.map → VerifyEmail-KCti4rzf.js.map} +1 -1
  120. package/dist/VerifyEmail-Xd31Com7.js +10 -0
  121. package/dist/ViewTeam-7YvvwcXd.js +8 -0
  122. package/dist/{ViewTeam-ByZdYEJG.js → ViewTeam-BbsTsjAy.js} +2 -2
  123. package/dist/{ViewTeam-ByZdYEJG.js.map → ViewTeam-BbsTsjAy.js.map} +1 -1
  124. package/dist/{ViewTeamMember-DqWZ3F_h.js → ViewTeamMember-Dsl2GKI1.js} +2 -2
  125. package/dist/{ViewTeamMember-DqWZ3F_h.js.map → ViewTeamMember-Dsl2GKI1.js.map} +1 -1
  126. package/dist/ViewTeamMember-bmry5QZ0.js +7 -0
  127. package/dist/{customerSupportTicketRoutes-DvfXGaSC.js → customerSupportTicketRoutes-38JuLJGP.js} +8 -8
  128. package/dist/{customerSupportTicketRoutes-DvfXGaSC.js.map → customerSupportTicketRoutes-38JuLJGP.js.map} +1 -1
  129. package/dist/index.d.ts +250 -215
  130. package/dist/index.js +50 -50
  131. package/dist/{saved_filter-erjEgsdK.js → saved_filter-YIncsdws.js} +5 -5
  132. package/dist/{saved_filter-erjEgsdK.js.map → saved_filter-YIncsdws.js.map} +1 -1
  133. package/dist/{src-DSF_hIBe.js → src-BXO0PrFd.js} +486 -303
  134. package/dist/src-BXO0PrFd.js.map +1 -0
  135. package/dist/{staffSupportTicketRoutes-73ceKhL-.js → staffSupportTicketRoutes-BZrj4aMG.js} +8 -8
  136. package/dist/{staffSupportTicketRoutes-73ceKhL-.js.map → staffSupportTicketRoutes-BZrj4aMG.js.map} +1 -1
  137. package/dist/{teamRoutes-CSBq1DNq.js → teamRoutes-Aa9aBVCa.js} +11 -11
  138. package/dist/{teamRoutes-CSBq1DNq.js.map → teamRoutes-Aa9aBVCa.js.map} +1 -1
  139. package/dist/{team_memberRoutes-BgjY9Kwq.js → team_memberRoutes-mO1f-Y4o.js} +7 -7
  140. package/dist/{team_memberRoutes-BgjY9Kwq.js.map → team_memberRoutes-mO1f-Y4o.js.map} +1 -1
  141. package/dist/useAuthFlowNextStep-zlvxflBZ.js +64 -0
  142. package/dist/useAuthFlowNextStep-zlvxflBZ.js.map +1 -0
  143. package/dist/{useEmailVerificationChannel-C76Gnyi1.js → useEmailVerificationChannel-DYiMSAES.js} +2 -2
  144. package/dist/{useEmailVerificationChannel-C76Gnyi1.js.map → useEmailVerificationChannel-DYiMSAES.js.map} +1 -1
  145. package/dist/{useMutation-BLNuJoYl.js → useMutation-BXSu7_-s.js} +6 -4
  146. package/dist/useMutation-BXSu7_-s.js.map +1 -0
  147. package/dist/{useQuery-BzUGEOj0.js → useQuery-DownvLRA.js} +4 -4
  148. package/dist/{useQuery-BzUGEOj0.js.map → useQuery-DownvLRA.js.map} +1 -1
  149. package/dist/{useQueryCache-alzaRWEb.js → useQueryCache-CUTrwJWX.js} +2 -2
  150. package/dist/{useQueryCache-alzaRWEb.js.map → useQueryCache-CUTrwJWX.js.map} +1 -1
  151. package/dist/{useRpcAuth-CJtq1dqM.js → useRpcAuth-BFdprNWb.js} +5 -7
  152. package/dist/useRpcAuth-BFdprNWb.js.map +1 -0
  153. package/dist/{userAuthorized-3RiCDXxr.js → userAuthorized-qmzUYDa-.js} +2 -2
  154. package/dist/{userAuthorized-3RiCDXxr.js.map → userAuthorized-qmzUYDa-.js.map} +1 -1
  155. package/package.json +2 -2
  156. package/dist/ChangePasswordPage-D1LGJ02W.js +0 -7
  157. package/dist/ConsentRequired-Bhkxu0rv.js.map +0 -1
  158. package/dist/CreateTeamForm-BHgTTHAk.js +0 -12
  159. package/dist/CreateTeamMemberForm-CayF2tIJ.js +0 -12
  160. package/dist/CreateUserPage-C9uOeYDJ.js +0 -7
  161. package/dist/CreditBalanceDashboard-DZQqekKa.js +0 -13
  162. package/dist/CreditManagement-ByFH6IHV.js +0 -13
  163. package/dist/CustomerCreateSupportTicketForm-CroUyX15.js +0 -14
  164. package/dist/CustomerSupportTicketList-CpOaBgNr.js +0 -64
  165. package/dist/CustomerSupportTicketParent-D3Gj4Hel.js +0 -8
  166. package/dist/CustomerSupportTicketSuccess-BPUwEn4h.js +0 -12
  167. package/dist/EditTeamForm-KX2cNn24.js +0 -12
  168. package/dist/EditTeamMemberForm-Bh6zVNyJ.js +0 -9
  169. package/dist/EditUserPage-AcRFhChk.js +0 -8
  170. package/dist/ExternalLinkIcon-BKVV5Gjm.js +0 -34
  171. package/dist/ExternalLinkIcon-BKVV5Gjm.js.map +0 -1
  172. package/dist/ForgotPassword-LnjRUIY7.js +0 -8
  173. package/dist/InlineAttachments-DAn_QknY.js.map +0 -1
  174. package/dist/LoginForm-D-gfB2hS.js +0 -8
  175. package/dist/Logout-Ctq-a1GS.js +0 -8
  176. package/dist/MfaSetup-6E6apXWC.js +0 -9
  177. package/dist/MfaVerify-C95WB9v2.js +0 -9
  178. package/dist/ResetPassword-9DFz-Qt3.js +0 -8
  179. package/dist/Signup-C052ykf5.js +0 -9
  180. package/dist/Signup-KuiKHB4h.js.map +0 -1
  181. package/dist/StaffCreateSupportTicketForm-DYEddYii.js +0 -14
  182. package/dist/StaffSupportTicketList-CxV6u2gF.js +0 -64
  183. package/dist/StaffSupportTicketParent-Dyybqx74.js +0 -8
  184. package/dist/StaffSupportTicketSuccess-FfnJXc_k.js +0 -12
  185. package/dist/TeamAttachmentsTab-D0DOmdnr.js +0 -64
  186. package/dist/TeamHistoryTab-wRpRizDE.js +0 -6
  187. package/dist/TeamList-hmP44hfw.js +0 -8
  188. package/dist/TeamMemberList-B16SuLwM.js +0 -7
  189. package/dist/TeamMemberParent-BJl8nBmP.js +0 -10
  190. package/dist/TeamNotesTab-BQN9niw-.js +0 -8
  191. package/dist/TeamParent-BI9ItLoY.js +0 -11
  192. package/dist/UserListPage-9jhUu3TH.js +0 -5
  193. package/dist/UserProfilePage-Dmxp7oqP.js +0 -8
  194. package/dist/VerifyEmail-DBKMZJMx.js +0 -10
  195. package/dist/ViewTeam-DEOe7wqT.js +0 -8
  196. package/dist/ViewTeamMember-B5U8kZBw.js +0 -7
  197. package/dist/src-DSF_hIBe.js.map +0 -1
  198. package/dist/useMutation-BLNuJoYl.js.map +0 -1
  199. package/dist/useRpcAuth-CJtq1dqM.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { d as useEnv, i as setRouter, o as useUserSessionStore, r as executeWithAuth } from "./useRpcAuth-CJtq1dqM.js";
2
- import { i as setRefreshTokenHandler, r as getRefreshTokenHandler } from "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
3
- import { t as useMutation } from "./useMutation-BLNuJoYl.js";
4
- import { t as useQuery } from "./useQuery-BzUGEOj0.js";
1
+ import { d as useEnv, i as setRouter, o as useUserSessionStore, r as executeWithAuth } from "./useRpcAuth-BFdprNWb.js";
2
+ import { i as setRefreshTokenHandler, r as getRefreshTokenHandler } from "./EnhancedRefreshTokenHandler-s8wUXtB5.js";
3
+ import { t as useMutation } from "./useMutation-BXSu7_-s.js";
4
+ import { t as useQuery } from "./useQuery-DownvLRA.js";
5
5
  import { t as AppLink_default } from "./AppLink-FcNGKgvG.js";
6
- import { a as useSavedFilters, c as buildQueryWithFilters, f as PINNED_PRESETS_KEY, m as usePinnedPresets, p as useInjectedPinnedPresets, t as SavedFilterPresets_default, u as extractFiltersFromQuery } from "./saved_filter-erjEgsdK.js";
6
+ import { a as useSavedFilters, c as buildQueryWithFilters, f as PINNED_PRESETS_KEY, m as usePinnedPresets, p as useInjectedPinnedPresets, t as SavedFilterPresets_default, u as extractFiltersFromQuery } from "./saved_filter-YIncsdws.js";
7
7
  import { t as ConfirmDialog_default } from "./ConfirmDialog-DjthOYU6.js";
8
8
  import { n as export_helper_default } from "./TeamMembersTab-BigqpBDH.js";
9
9
  import { a as withReturnUrl, n as getBackLinkFromRoute, r as getValidReturnUrl } from "./useReturnUrl-DnezAxBA.js";
10
- import { r as SIGNUP_EXTENSIBILITY_KEYS } from "./Signup-KuiKHB4h.js";
10
+ import { r as SIGNUP_EXTENSIBILITY_KEYS } from "./Signup-D6vnyS4w.js";
11
11
  import { t as BREADCRUMB_KEY } from "./useBreadcrumbs-CPWXm0hm.js";
12
12
  import { t as ZiniaContainer_default } from "./ZiniaContainer-BPIfQOc7.js";
13
13
  import { i as formatUserDate, t as formatSystemTimestamp } from "./convertToLocalDateTime-BKBxm2Rc.js";
14
14
  import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-Df8-CJGV.js";
15
- import { c as userAuthenticated, l as userIsSuperAdmin, o as leadOrStaffOnly } from "./userAuthorized-3RiCDXxr.js";
16
- import { t as staffSupportPaths } from "./staffSupportTicketRoutes-73ceKhL-.js";
15
+ import { c as userAuthenticated, l as userIsSuperAdmin, o as leadOrStaffOnly } from "./userAuthorized-qmzUYDa-.js";
16
+ import { t as staffSupportPaths } from "./staffSupportTicketRoutes-BZrj4aMG.js";
17
17
  import { a as SupportTicketTypeBadge_default, c as formatStaffCreditValue, i as SupportTicketApprovalBadge_default, o as SupportTicketPriorityBadge_default, s as formatCustomerCreditValue } from "./TimelineSystemEvent-D5fkhkZT.js";
18
18
  import { t as formatTicketDisplayId } from "./displayIdFormatter-Ca4Al9iB.js";
19
19
  import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-D8-Cv1Np.js";
@@ -55,19 +55,19 @@ const DragoncoreVue = { install(_app, options) {
55
55
 
56
56
  //#endregion
57
57
  //#region src/components/AppTabNavigation.vue
58
- const _hoisted_1$29 = { class: "w-full" };
59
- const _hoisted_2$26 = { class: "md:hidden relative" };
60
- const _hoisted_3$26 = { class: "font-medium" };
61
- const _hoisted_4$21 = {
58
+ const _hoisted_1$30 = { class: "w-full" };
59
+ const _hoisted_2$27 = { class: "md:hidden relative" };
60
+ const _hoisted_3$27 = { class: "font-medium" };
61
+ const _hoisted_4$22 = {
62
62
  key: 0,
63
63
  class: "absolute z-20 w-full bg-base-100 shadow-lg"
64
64
  };
65
- const _hoisted_5$17 = ["onClick"];
65
+ const _hoisted_5$18 = ["onClick"];
66
66
  const _hoisted_6$15 = { class: "hidden md:flex items-center overflow-x-auto" };
67
- const _hoisted_7$13 = { class: "flex-1 flex" };
67
+ const _hoisted_7$14 = { class: "flex-1 flex" };
68
68
  const _hoisted_8$13 = ["onClick"];
69
69
  const _hoisted_9$12 = { class: "ml-auto shrink-0" };
70
- const _sfc_main$34 = /* @__PURE__ */ defineComponent({
70
+ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
71
71
  __name: "AppTabNavigation",
72
72
  props: {
73
73
  tabs: {},
@@ -108,13 +108,13 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
108
108
  };
109
109
  return (_ctx, _cache) => {
110
110
  const _component_router_link = resolveComponent("router-link");
111
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Mobile-first tab navigation with responsive grid layout "), createElementVNode("div", _hoisted_1$29, [
111
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Mobile-first tab navigation with responsive grid layout "), createElementVNode("div", _hoisted_1$30, [
112
112
  createCommentVNode(" Mobile view: Show dropdown on small screens "),
113
- createElementVNode("div", _hoisted_2$26, [
113
+ createElementVNode("div", _hoisted_2$27, [
114
114
  createElementVNode("button", {
115
115
  onClick: _cache[0] || (_cache[0] = ($event) => isMenuOpen.value = !isMenuOpen.value),
116
116
  class: "w-full flex items-center justify-between px-4 py-3 bg-base-100"
117
- }, [createElementVNode("span", _hoisted_3$26, toDisplayString(activeTabLabel.value), 1), _cache[2] || (_cache[2] = createElementVNode("svg", {
117
+ }, [createElementVNode("span", _hoisted_3$27, toDisplayString(activeTabLabel.value), 1), _cache[2] || (_cache[2] = createElementVNode("svg", {
118
118
  xmlns: "http://www.w3.org/2000/svg",
119
119
  class: "h-5 w-5",
120
120
  fill: "none",
@@ -127,7 +127,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
127
127
  d: "M19 9l-7 7-7-7"
128
128
  })], -1))]),
129
129
  createCommentVNode(" Dropdown menu "),
130
- isMenuOpen.value ? (openBlock(), createElementBlock("div", _hoisted_4$21, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
130
+ isMenuOpen.value ? (openBlock(), createElementBlock("div", _hoisted_4$22, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
131
131
  return openBlock(), createElementBlock(Fragment, { key: index }, [tab.to ? (openBlock(), createBlock(_component_router_link, {
132
132
  key: 0,
133
133
  to: tab.to,
@@ -140,12 +140,12 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
140
140
  key: 1,
141
141
  onClick: ($event) => handleTabClick(tab.id),
142
142
  class: normalizeClass(["block w-full text-left px-4 py-3 hover:bg-base-200", [__props.activeTab === tab.id ? "text-primary font-medium" : "text-base-content/70"]])
143
- }, toDisplayString(tab.label), 11, _hoisted_5$17))], 64);
143
+ }, toDisplayString(tab.label), 11, _hoisted_5$18))], 64);
144
144
  }), 128))])) : createCommentVNode("v-if", true)
145
145
  ]),
146
146
  createCommentVNode(" Desktop view: Show horizontal tabs on medium screens and up "),
147
147
  createElementVNode("div", _hoisted_6$15, [
148
- createElementVNode("div", _hoisted_7$13, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
148
+ createElementVNode("div", _hoisted_7$14, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
149
149
  return openBlock(), createElementBlock(Fragment, { key: index }, [tab.to ? (openBlock(), createBlock(_component_router_link, {
150
150
  key: 0,
151
151
  to: tab.to,
@@ -166,17 +166,17 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
166
166
  };
167
167
  }
168
168
  });
169
- var AppTabNavigation_default = _sfc_main$34;
169
+ var AppTabNavigation_default = _sfc_main$35;
170
170
 
171
171
  //#endregion
172
172
  //#region src/components/AppHeader.vue
173
- const _hoisted_1$28 = { class: "bg-base-100 border-b border-base-300 z-10 w-full" };
174
- const _hoisted_2$25 = {
173
+ const _hoisted_1$29 = { class: "bg-base-100 border-b border-base-300 z-10 w-full" };
174
+ const _hoisted_2$26 = {
175
175
  key: 0,
176
176
  class: "w-full"
177
177
  };
178
- const _hoisted_3$25 = { class: "max-w-7xl mx-auto px-3 sm:px-4 md:px-6" };
179
- const _sfc_main$33 = /* @__PURE__ */ defineComponent({
178
+ const _hoisted_3$26 = { class: "max-w-7xl mx-auto px-3 sm:px-4 md:px-6" };
179
+ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
180
180
  __name: "AppHeader",
181
181
  props: {
182
182
  tabs: {},
@@ -185,9 +185,9 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
185
185
  emits: ["tab-click"],
186
186
  setup(__props) {
187
187
  return (_ctx, _cache) => {
188
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Full-width background with constrained content "), createElementVNode("div", _hoisted_1$28, [
188
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Full-width background with constrained content "), createElementVNode("div", _hoisted_1$29, [
189
189
  createCommentVNode(" Tab navigation - only shown when tabs are provided "),
190
- __props.tabs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$25, [createElementVNode("div", _hoisted_3$25, [createVNode(AppTabNavigation_default, {
190
+ __props.tabs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$26, [createElementVNode("div", _hoisted_3$26, [createVNode(AppTabNavigation_default, {
191
191
  tabs: __props.tabs,
192
192
  "active-tab": __props.activeTab,
193
193
  onTabClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("tab-click", $event))
@@ -206,17 +206,17 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
206
206
  };
207
207
  }
208
208
  });
209
- var AppHeader_default = _sfc_main$33;
209
+ var AppHeader_default = _sfc_main$34;
210
210
 
211
211
  //#endregion
212
212
  //#region src/components/InputModal.vue
213
- const _hoisted_1$27 = { class: "modal-box" };
214
- const _hoisted_2$24 = { class: "font-bold text-lg" };
215
- const _hoisted_3$24 = { class: "py-4" };
216
- const _hoisted_4$20 = { class: "form-control w-full" };
217
- const _hoisted_5$16 = { class: "label" };
213
+ const _hoisted_1$28 = { class: "modal-box" };
214
+ const _hoisted_2$25 = { class: "font-bold text-lg" };
215
+ const _hoisted_3$25 = { class: "py-4" };
216
+ const _hoisted_4$21 = { class: "form-control w-full" };
217
+ const _hoisted_5$17 = { class: "label" };
218
218
  const _hoisted_6$14 = { class: "label-text" };
219
- const _hoisted_7$12 = ["placeholder"];
219
+ const _hoisted_7$13 = ["placeholder"];
220
220
  const _hoisted_8$12 = {
221
221
  key: 0,
222
222
  class: "label"
@@ -225,7 +225,7 @@ const _hoisted_9$11 = { class: "label-text-alt text-error" };
225
225
  const _hoisted_10$8 = { class: "modal-action" };
226
226
  const _hoisted_11$8 = ["disabled"];
227
227
  const _hoisted_12$7 = ["disabled"];
228
- const _sfc_main$32 = /* @__PURE__ */ defineComponent({
228
+ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
229
229
  __name: "InputModal",
230
230
  props: {
231
231
  modelValue: { type: Boolean },
@@ -275,10 +275,10 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
275
275
  inputValue.value = "";
276
276
  };
277
277
  return (_ctx, _cache) => {
278
- return openBlock(), createElementBlock("div", { class: normalizeClass(["modal", { "modal-open": __props.modelValue }]) }, [createElementVNode("div", _hoisted_1$27, [
279
- createElementVNode("h3", _hoisted_2$24, toDisplayString(__props.title), 1),
280
- createElementVNode("div", _hoisted_3$24, [createElementVNode("label", _hoisted_4$20, [
281
- createElementVNode("div", _hoisted_5$16, [createElementVNode("span", _hoisted_6$14, toDisplayString(__props.label), 1)]),
278
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["modal", { "modal-open": __props.modelValue }]) }, [createElementVNode("div", _hoisted_1$28, [
279
+ createElementVNode("h3", _hoisted_2$25, toDisplayString(__props.title), 1),
280
+ createElementVNode("div", _hoisted_3$25, [createElementVNode("label", _hoisted_4$21, [
281
+ createElementVNode("div", _hoisted_5$17, [createElementVNode("span", _hoisted_6$14, toDisplayString(__props.label), 1)]),
282
282
  withDirectives(createElementVNode("input", {
283
283
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
284
284
  type: "text",
@@ -287,7 +287,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
287
287
  onKeyup: [withKeys(handleConfirm, ["enter"]), withKeys(handleCancel, ["escape"])],
288
288
  ref_key: "inputRef",
289
289
  ref: inputRef
290
- }, null, 40, _hoisted_7$12), [[vModelText, inputValue.value]]),
290
+ }, null, 40, _hoisted_7$13), [[vModelText, inputValue.value]]),
291
291
  __props.error ? (openBlock(), createElementBlock("div", _hoisted_8$12, [createElementVNode("span", _hoisted_9$11, toDisplayString(__props.error), 1)])) : createCommentVNode("v-if", true)
292
292
  ])]),
293
293
  createElementVNode("div", _hoisted_10$8, [createElementVNode("button", {
@@ -306,11 +306,11 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
306
306
  };
307
307
  }
308
308
  });
309
- var InputModal_default = _sfc_main$32;
309
+ var InputModal_default = _sfc_main$33;
310
310
 
311
311
  //#endregion
312
312
  //#region src/components/LoginButton.vue
313
- const _sfc_main$31 = {};
313
+ const _sfc_main$32 = {};
314
314
  function _sfc_render(_ctx, _cache) {
315
315
  const _component_router_link = resolveComponent("router-link");
316
316
  return openBlock(), createBlock(_component_router_link, { to: "/auth/login" }, {
@@ -318,11 +318,11 @@ function _sfc_render(_ctx, _cache) {
318
318
  _: 1
319
319
  });
320
320
  }
321
- var LoginButton_default = /* @__PURE__ */ export_helper_default(_sfc_main$31, [["render", _sfc_render]]);
321
+ var LoginButton_default = /* @__PURE__ */ export_helper_default(_sfc_main$32, [["render", _sfc_render]]);
322
322
 
323
323
  //#endregion
324
324
  //#region src/components/ui/LogoPlaceholder.vue
325
- const _sfc_main$30 = /* @__PURE__ */ defineComponent({
325
+ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
326
326
  __name: "LogoPlaceholder",
327
327
  props: { size: { default: "md" } },
328
328
  setup(__props) {
@@ -331,17 +331,17 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
331
331
  };
332
332
  }
333
333
  });
334
- var LogoPlaceholder_default = _sfc_main$30;
334
+ var LogoPlaceholder_default = _sfc_main$31;
335
335
 
336
336
  //#endregion
337
337
  //#region src/components/Navbar.vue
338
- const _hoisted_1$26 = { class: "sticky top-0 flex h-16 w-full justify-center border-b-2 border-solid border-b-base-300 bg-base-200 bg-opacity-90 text-base-content shadow-xs z-10" };
339
- const _hoisted_2$23 = { class: "navbar w-full" };
340
- const _hoisted_3$23 = { class: "flex flex-1 md:gap-1 lg:gap-2" };
341
- const _hoisted_4$19 = { class: "items-center gap-2 flex" };
342
- const _hoisted_5$15 = { class: "font-title inline-flex text-lg text-primary transition-all duration-200 md:text-3xl" };
338
+ const _hoisted_1$27 = { class: "sticky top-0 flex h-16 w-full justify-center border-b-2 border-solid border-b-base-300 bg-base-200 bg-opacity-90 text-base-content shadow-xs z-10" };
339
+ const _hoisted_2$24 = { class: "navbar w-full" };
340
+ const _hoisted_3$24 = { class: "flex flex-1 md:gap-1 lg:gap-2" };
341
+ const _hoisted_4$20 = { class: "items-center gap-2 flex" };
342
+ const _hoisted_5$16 = { class: "font-title inline-flex text-lg text-primary transition-all duration-200 md:text-3xl" };
343
343
  const _hoisted_6$13 = ["src"];
344
- const _hoisted_7$11 = {
344
+ const _hoisted_7$12 = {
345
345
  key: 0,
346
346
  class: "hidden md:flex items-center ml-4"
347
347
  };
@@ -376,7 +376,7 @@ const _hoisted_17$2 = {
376
376
  class: "btn-ghost btn-circle avatar btn placeholder",
377
377
  id: "right-nav-label"
378
378
  };
379
- const _sfc_main$29 = /* @__PURE__ */ defineComponent({
379
+ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
380
380
  __name: "Navbar",
381
381
  props: {
382
382
  breadcrumbs: {},
@@ -390,7 +390,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
390
390
  loading.value = false;
391
391
  return (_ctx, _cache) => {
392
392
  const _component_router_link = resolveComponent("router-link");
393
- return openBlock(), createElementBlock("header", _hoisted_1$26, [createElementVNode("nav", _hoisted_2$23, [createElementVNode("div", _hoisted_3$23, [_cache[3] || (_cache[3] = createElementVNode("label", {
393
+ return openBlock(), createElementBlock("header", _hoisted_1$27, [createElementVNode("nav", _hoisted_2$24, [createElementVNode("div", _hoisted_3$24, [_cache[3] || (_cache[3] = createElementVNode("label", {
394
394
  for: "drawer",
395
395
  class: "btn-ghost drawer-button btn-square btn"
396
396
  }, [createElementVNode("svg", {
@@ -404,13 +404,13 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
404
404
  "stroke-linecap": "round",
405
405
  "stroke-linejoin": "round",
406
406
  d: "M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"
407
- })])], -1)), createElementVNode("div", _hoisted_4$19, [
407
+ })])], -1)), createElementVNode("div", _hoisted_4$20, [
408
408
  createVNode(AppLink_default, {
409
409
  to: "/",
410
410
  "aria-current": "page",
411
411
  "aria-label": "Homepage"
412
412
  }, {
413
- default: withCtx(() => [createElementVNode("div", _hoisted_5$15, [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
413
+ default: withCtx(() => [createElementVNode("div", _hoisted_5$16, [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
414
414
  key: 0,
415
415
  size: "xs"
416
416
  })) : (openBlock(), createElementBlock("img", {
@@ -423,7 +423,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
423
423
  _: 1
424
424
  }),
425
425
  createCommentVNode(" Breadcrumbs in navbar - Desktop view "),
426
- __props.breadcrumbs && __props.breadcrumbs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_7$11, [createElementVNode("div", _hoisted_8$11, [
426
+ __props.breadcrumbs && __props.breadcrumbs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_7$12, [createElementVNode("div", _hoisted_8$11, [
427
427
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.breadcrumbs, (crumb, index) => {
428
428
  return openBlock(), createElementBlock(Fragment, { key: index }, [
429
429
  createCommentVNode(" Link for all but the last item "),
@@ -466,14 +466,14 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
466
466
  };
467
467
  }
468
468
  });
469
- var Navbar_default = _sfc_main$29;
469
+ var Navbar_default = _sfc_main$30;
470
470
 
471
471
  //#endregion
472
472
  //#region src/components/NotFound.vue
473
- const _hoisted_1$25 = { class: "flex items-center justify-center bg-base-100 mt-4" };
474
- const _hoisted_2$22 = { class: "max-w-md mx-auto text-center px-4" };
475
- const _hoisted_3$22 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
476
- const _sfc_main$28 = /* @__PURE__ */ defineComponent({
473
+ const _hoisted_1$26 = { class: "flex items-center justify-center bg-base-100 mt-4" };
474
+ const _hoisted_2$23 = { class: "max-w-md mx-auto text-center px-4" };
475
+ const _hoisted_3$23 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
476
+ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
477
477
  __name: "NotFound",
478
478
  setup(__props) {
479
479
  const router = useRouter();
@@ -483,11 +483,11 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
483
483
  };
484
484
  return (_ctx, _cache) => {
485
485
  const _component_router_link = resolveComponent("router-link");
486
- return openBlock(), createElementBlock("div", _hoisted_1$25, [createElementVNode("div", _hoisted_2$22, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mb-8" }, [
486
+ return openBlock(), createElementBlock("div", _hoisted_1$26, [createElementVNode("div", _hoisted_2$23, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mb-8" }, [
487
487
  createElementVNode("h1", { class: "text-9xl font-bold text-primary mb-4" }, "404"),
488
488
  createElementVNode("h2", { class: "text-3xl font-bold mb-4" }, "Page Not Found"),
489
489
  createElementVNode("p", { class: "text-base-content/70 mb-8" }, " Sorry, we couldn't find the page you're looking for. The page may have been moved, deleted, or the URL might be incorrect. ")
490
- ], -1)), createElementVNode("div", _hoisted_3$22, [createVNode(_component_router_link, {
490
+ ], -1)), createElementVNode("div", _hoisted_3$23, [createVNode(_component_router_link, {
491
491
  to: { name: "Home" },
492
492
  class: "btn btn-primary"
493
493
  }, {
@@ -500,15 +500,15 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
500
500
  };
501
501
  }
502
502
  });
503
- var NotFound_default = _sfc_main$28;
503
+ var NotFound_default = _sfc_main$29;
504
504
 
505
505
  //#endregion
506
506
  //#region src/components/RightSidebar.vue
507
- const _hoisted_1$24 = { class: "drawer-side z-50" };
508
- const _hoisted_2$21 = { class: "menu p-3 w-80 h-full bg-base-200 text-base-content" };
509
- const _hoisted_3$21 = { class: "flex pb-2" };
510
- const _hoisted_4$18 = { class: "pl-3" };
511
- const _sfc_main$27 = /* @__PURE__ */ defineComponent({
507
+ const _hoisted_1$25 = { class: "drawer-side z-50" };
508
+ const _hoisted_2$22 = { class: "menu p-3 w-80 h-full bg-base-200 text-base-content" };
509
+ const _hoisted_3$22 = { class: "flex pb-2" };
510
+ const _hoisted_4$19 = { class: "pl-3" };
511
+ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
512
512
  __name: "RightSidebar",
513
513
  props: { logoutReturnUrl: { default: "/" } },
514
514
  setup(__props) {
@@ -529,13 +529,13 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
529
529
  type: "checkbox",
530
530
  class: "drawer-toggle",
531
531
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(checked) ? checked.value = $event : checked = $event)
532
- }, null, 512), [[vModelCheckbox, unref(checked)]]), createElementVNode("div", _hoisted_1$24, [_cache[7] || (_cache[7] = createElementVNode("label", {
532
+ }, null, 512), [[vModelCheckbox, unref(checked)]]), createElementVNode("div", _hoisted_1$25, [_cache[7] || (_cache[7] = createElementVNode("label", {
533
533
  for: "my-drawer-4",
534
534
  class: "drawer-overlay"
535
- }, null, -1)), createElementVNode("ul", _hoisted_2$21, [
536
- createElementVNode("div", _hoisted_3$21, [
535
+ }, null, -1)), createElementVNode("ul", _hoisted_2$22, [
536
+ createElementVNode("div", _hoisted_3$22, [
537
537
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "avatar placeholder" }, [createElementVNode("div", { class: "bg-neutral-focus text-neutral-content w-10 h-10 rounded-full" }, [createElementVNode("span", null, "U")])], -1)),
538
- createElementVNode("label", _hoisted_4$18, toDisplayString(unref(userSession).currentSession?.user?.username), 1),
538
+ createElementVNode("label", _hoisted_4$19, toDisplayString(unref(userSession).currentSession?.user?.username), 1),
539
539
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "grow" }, null, -1)),
540
540
  _cache[3] || (_cache[3] = createElementVNode("label", {
541
541
  for: "my-drawer-4",
@@ -555,7 +555,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
555
555
  };
556
556
  }
557
557
  });
558
- var RightSidebar_default = _sfc_main$27;
558
+ var RightSidebar_default = _sfc_main$28;
559
559
 
560
560
  //#endregion
561
561
  //#region src/composables/useBuildTag.ts
@@ -565,7 +565,7 @@ function useBuildTag() {
565
565
 
566
566
  //#endregion
567
567
  //#region src/components/Sidebar.vue
568
- const _hoisted_1$23 = {
568
+ const _hoisted_1$24 = {
569
569
  class: "drawer-side z-50",
570
570
  style: {
571
571
  "scroll-behavior": "smooth",
@@ -573,12 +573,12 @@ const _hoisted_1$23 = {
573
573
  },
574
574
  ref: "drawersidebar"
575
575
  };
576
- const _hoisted_2$20 = { class: "w-80 bg-base-200 h-full flex flex-col" };
577
- const _hoisted_3$20 = { class: "flex-1 overflow-y-auto overflow-x-hidden min-h-0" };
578
- const _hoisted_4$17 = { class: "menu p-3 w-full text-base-content" };
579
- const _hoisted_5$14 = { class: "flex" };
576
+ const _hoisted_2$21 = { class: "w-80 bg-base-200 h-full flex flex-col" };
577
+ const _hoisted_3$21 = { class: "flex-1 overflow-y-auto overflow-x-hidden min-h-0" };
578
+ const _hoisted_4$18 = { class: "menu p-3 w-full text-base-content" };
579
+ const _hoisted_5$15 = { class: "flex" };
580
580
  const _hoisted_6$12 = { class: "font-title inline-flex text-2xl text-primary transition-all duration-200" };
581
- const _hoisted_7$10 = ["src"];
581
+ const _hoisted_7$11 = ["src"];
582
582
  const _hoisted_8$10 = {
583
583
  key: 0,
584
584
  class: "w-full"
@@ -586,7 +586,7 @@ const _hoisted_8$10 = {
586
586
  const _hoisted_9$9 = { class: "menu-title" };
587
587
  const _hoisted_10$6 = { class: "flex flex-col items-center justify-center w-full h-16" };
588
588
  const _hoisted_11$6 = { class: "text-xs text-neutral-500" };
589
- const _sfc_main$26 = /* @__PURE__ */ defineComponent({
589
+ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
590
590
  __name: "Sidebar",
591
591
  props: { logoSrc: {} },
592
592
  setup(__props) {
@@ -627,11 +627,11 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
627
627
  }
628
628
  return (_ctx, _cache) => {
629
629
  const _component_router_link = resolveComponent("router-link");
630
- return openBlock(), createElementBlock("div", _hoisted_1$23, [_cache[3] || (_cache[3] = createElementVNode("label", {
630
+ return openBlock(), createElementBlock("div", _hoisted_1$24, [_cache[3] || (_cache[3] = createElementVNode("label", {
631
631
  for: "drawer",
632
632
  class: "drawer-overlay"
633
- }, null, -1)), createElementVNode("aside", _hoisted_2$20, [createElementVNode("div", _hoisted_3$20, [createElementVNode("ul", _hoisted_4$17, [
634
- createElementVNode("div", _hoisted_5$14, [
633
+ }, null, -1)), createElementVNode("aside", _hoisted_2$21, [createElementVNode("div", _hoisted_3$21, [createElementVNode("ul", _hoisted_4$18, [
634
+ createElementVNode("div", _hoisted_5$15, [
635
635
  createElementVNode("div", _hoisted_6$12, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
636
636
  key: 0,
637
637
  size: "sm"
@@ -641,7 +641,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
641
641
  alt: "logo",
642
642
  class: "h-12",
643
643
  onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
644
- }, null, 40, _hoisted_7$10))])]),
644
+ }, null, 40, _hoisted_7$11))])]),
645
645
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "grow" }, null, -1)),
646
646
  createElementVNode("label", {
647
647
  for: "drawer",
@@ -682,7 +682,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
682
682
  };
683
683
  }
684
684
  });
685
- var Sidebar_default = _sfc_main$26;
685
+ var Sidebar_default = _sfc_main$27;
686
686
 
687
687
  //#endregion
688
688
  //#region src/composables/useEmailVerificationGuard.ts
@@ -705,13 +705,13 @@ function useEmailVerificationGuard() {
705
705
 
706
706
  //#endregion
707
707
  //#region src/components/UnverifiedEmailBanner.vue
708
- const _hoisted_1$22 = {
708
+ const _hoisted_1$23 = {
709
709
  key: 0,
710
710
  class: "bg-warning border border-warning text-warning-content px-4 py-2 flex items-center justify-between gap-4"
711
711
  };
712
- const _hoisted_2$19 = { class: "text-sm" };
713
- const _hoisted_3$19 = ["disabled"];
714
- const _sfc_main$25 = /* @__PURE__ */ defineComponent({
712
+ const _hoisted_2$20 = { class: "text-sm" };
713
+ const _hoisted_3$20 = ["disabled"];
714
+ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
715
715
  __name: "UnverifiedEmailBanner",
716
716
  setup(__props) {
717
717
  const { showVerificationPrompt } = useEmailVerificationGuard();
@@ -736,28 +736,28 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
736
736
  }
737
737
  };
738
738
  return (_ctx, _cache) => {
739
- return unref(showVerificationPrompt) ? (openBlock(), createElementBlock("div", _hoisted_1$22, [createElementVNode("p", _hoisted_2$19, [
739
+ return unref(showVerificationPrompt) ? (openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("p", _hoisted_2$20, [
740
740
  _cache[0] || (_cache[0] = createTextVNode(" Please verify your email. Check your inbox or ", -1)),
741
741
  createElementVNode("button", {
742
742
  type: "button",
743
743
  class: "link link-hover font-medium underline",
744
744
  disabled: resendLoading.value,
745
745
  onClick: resendVerification
746
- }, toDisplayString(resendLoading.value ? "Sending..." : "resend verification email"), 9, _hoisted_3$19),
746
+ }, toDisplayString(resendLoading.value ? "Sending..." : "resend verification email"), 9, _hoisted_3$20),
747
747
  _cache[1] || (_cache[1] = createTextVNode(". ", -1))
748
748
  ])])) : createCommentVNode("v-if", true);
749
749
  };
750
750
  }
751
751
  });
752
- var UnverifiedEmailBanner_default = _sfc_main$25;
752
+ var UnverifiedEmailBanner_default = _sfc_main$26;
753
753
 
754
754
  //#endregion
755
755
  //#region src/layouts/Admin.vue
756
- const _hoisted_1$21 = { class: "drawer drawer-end" };
757
- const _hoisted_2$18 = { class: "drawer h-[calc(100vh_-_64px_-_64px)] bg-base-100" };
758
- const _hoisted_3$18 = { class: "drawer-content" };
759
- const _hoisted_4$16 = { class: "pr-1 pl-1 md:pr-4 md:pl-4" };
760
- const _sfc_main$24 = /* @__PURE__ */ defineComponent({
756
+ const _hoisted_1$22 = { class: "drawer drawer-end" };
757
+ const _hoisted_2$19 = { class: "drawer h-[calc(100vh_-_64px_-_64px)] bg-base-100" };
758
+ const _hoisted_3$19 = { class: "drawer-content" };
759
+ const _hoisted_4$17 = { class: "pr-1 pl-1 md:pr-4 md:pl-4" };
760
+ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
761
761
  __name: "Admin",
762
762
  props: {
763
763
  logoSrc: {},
@@ -765,13 +765,13 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
765
765
  },
766
766
  setup(__props) {
767
767
  return (_ctx, _cache) => {
768
- return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1$21, [createVNode(RightSidebar_default)]), createElementVNode("div", _hoisted_2$18, [
768
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1$22, [createVNode(RightSidebar_default)]), createElementVNode("div", _hoisted_2$19, [
769
769
  _cache[0] || (_cache[0] = createElementVNode("input", {
770
770
  id: "my-drawer-4",
771
771
  type: "checkbox",
772
772
  class: "drawer-toggle"
773
773
  }, null, -1)),
774
- createElementVNode("div", _hoisted_3$18, [createVNode(Navbar_default, { logoSrc: __props.navbarLogoSrc }, null, 8, ["logoSrc"]), createElementVNode("div", _hoisted_4$16, [createVNode(unref(RouterView))])]),
774
+ createElementVNode("div", _hoisted_3$19, [createVNode(Navbar_default, { logoSrc: __props.navbarLogoSrc }, null, 8, ["logoSrc"]), createElementVNode("div", _hoisted_4$17, [createVNode(unref(RouterView))])]),
775
775
  createVNode(Sidebar_default, { logoSrc: __props.logoSrc }, createSlots({ _: 2 }, [_ctx.$slots.sidebarLogo ? {
776
776
  name: "logo",
777
777
  fn: withCtx(() => [renderSlot(_ctx.$slots, "sidebarLogo")]),
@@ -781,22 +781,23 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
781
781
  };
782
782
  }
783
783
  });
784
- var Admin_default = _sfc_main$24;
784
+ var Admin_default = _sfc_main$25;
785
785
 
786
786
  //#endregion
787
787
  //#region src/layouts/Auth.vue
788
- const _hoisted_1$20 = { class: "m-2 sm:m-4" };
789
- const _hoisted_2$17 = {
788
+ const _hoisted_1$21 = { class: "m-2 sm:m-4" };
789
+ const _hoisted_2$18 = { class: "flex justify-center mb-6" };
790
+ const _hoisted_3$18 = ["src"];
791
+ const _hoisted_4$16 = {
790
792
  key: 0,
791
- class: "flex justify-center mb-2"
793
+ class: "flex justify-center mb-6"
792
794
  };
793
- const _hoisted_3$17 = { class: "flex flex-wrap gap-4 text-sm" };
794
- const _hoisted_4$15 = { class: "flex justify-center mb-6" };
795
- const _hoisted_5$13 = ["src"];
796
- const _hoisted_6$11 = { class: "min-h-screen bg-base-100 flex flex-col" };
795
+ const _hoisted_5$14 = { class: "flex flex-wrap justify-center gap-4 text-sm" };
796
+ const _hoisted_6$11 = { class: "underline underline-offset-2" };
797
+ const _hoisted_7$10 = { class: "min-h-screen bg-base-100 flex flex-col" };
797
798
  const DEFAULT_SIGNUP_CONSENT_BEFORE = "By signing up you agree to these terms:";
798
799
  const DEFAULT_SIGNUP_CONSENT_AFTER = "After you click Sign Up, we'll show you each document to review and accept.";
799
- const _sfc_main$23 = /* @__PURE__ */ defineComponent({
800
+ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
800
801
  __name: "Auth",
801
802
  props: {
802
803
  logoSrc: {},
@@ -823,18 +824,8 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
823
824
  if (props.getSignupMetadata) provide(SIGNUP_EXTENSIBILITY_KEYS.getSignupMetadata, () => props.getSignupMetadata?.(route) ?? {});
824
825
  if (props.getSignupHeaders) provide(SIGNUP_EXTENSIBILITY_KEYS.getSignupHeaders, () => props.getSignupHeaders?.(route) ?? {});
825
826
  return (_ctx, _cache) => {
826
- return openBlock(), createElementBlock("div", _hoisted_1$20, [
827
- hasBackLinks.value ? (openBlock(), createElementBlock("div", _hoisted_2$17, [createElementVNode("nav", _hoisted_3$17, [(openBlock(true), createElementBlock(Fragment, null, renderList(backLinks.value, (link, i) => {
828
- return openBlock(), createBlock(AppLink_default, {
829
- key: i,
830
- to: link.to,
831
- class: "link link-hover"
832
- }, {
833
- default: withCtx(() => [createTextVNode(toDisplayString(link.label ?? "Back to site"), 1)]),
834
- _: 2
835
- }, 1032, ["to"]);
836
- }), 128))])])) : createCommentVNode("v-if", true),
837
- createElementVNode("div", _hoisted_4$15, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
827
+ return openBlock(), createElementBlock("div", _hoisted_1$21, [
828
+ createElementVNode("div", _hoisted_2$18, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
838
829
  key: 0,
839
830
  size: "md"
840
831
  })) : (openBlock(), createElementBlock("img", {
@@ -843,22 +834,32 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
843
834
  alt: "logo",
844
835
  class: "h-24",
845
836
  onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
846
- }, null, 40, _hoisted_5$13))])]),
847
- createElementVNode("div", _hoisted_6$11, [createVNode(unref(RouterView))])
837
+ }, null, 40, _hoisted_3$18))])]),
838
+ hasBackLinks.value ? (openBlock(), createElementBlock("div", _hoisted_4$16, [createElementVNode("nav", _hoisted_5$14, [(openBlock(true), createElementBlock(Fragment, null, renderList(backLinks.value, (link, i) => {
839
+ return openBlock(), createBlock(AppLink_default, {
840
+ key: i,
841
+ to: link.to,
842
+ class: "link link-accent link-hover no-underline hover:no-underline inline-flex items-center gap-1"
843
+ }, {
844
+ default: withCtx(() => [_cache[1] || (_cache[1] = createElementVNode("span", { "aria-hidden": "true" }, "←", -1)), createElementVNode("span", _hoisted_6$11, toDisplayString(link.label ?? "Back to site"), 1)]),
845
+ _: 2
846
+ }, 1032, ["to"]);
847
+ }), 128))])])) : createCommentVNode("v-if", true),
848
+ createElementVNode("div", _hoisted_7$10, [createVNode(unref(RouterView))])
848
849
  ]);
849
850
  };
850
851
  }
851
852
  });
852
- var Auth_default = _sfc_main$23;
853
+ var Auth_default = _sfc_main$24;
853
854
 
854
855
  //#endregion
855
856
  //#region src/layouts/Default.vue
856
- const _hoisted_1$19 = { class: "m-4" };
857
- const _sfc_main$22 = /* @__PURE__ */ defineComponent({
857
+ const _hoisted_1$20 = { class: "m-4" };
858
+ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
858
859
  __name: "Default",
859
860
  setup(__props) {
860
861
  return (_ctx, _cache) => {
861
- return openBlock(), createElementBlock("div", _hoisted_1$19, [createVNode(AppLink_default, {
862
+ return openBlock(), createElementBlock("div", _hoisted_1$20, [createVNode(AppLink_default, {
862
863
  to: "/auth/login",
863
864
  "aria-current": "page",
864
865
  "aria-label": "Homepage",
@@ -870,19 +871,19 @@ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
870
871
  };
871
872
  }
872
873
  });
873
- var Default_default = _sfc_main$22;
874
+ var Default_default = _sfc_main$23;
874
875
 
875
876
  //#endregion
876
877
  //#region src/layouts/InApp.vue
877
- const _hoisted_1$18 = { class: "drawer drawer-end" };
878
- const _hoisted_2$16 = { class: "drawer h-[calc(100vh_)]" };
879
- const _hoisted_3$16 = { class: "drawer-content flex flex-col" };
880
- const _hoisted_4$14 = {
878
+ const _hoisted_1$19 = { class: "drawer drawer-end" };
879
+ const _hoisted_2$17 = { class: "drawer h-[calc(100vh_)]" };
880
+ const _hoisted_3$17 = { class: "drawer-content flex flex-col" };
881
+ const _hoisted_4$15 = {
881
882
  key: 0,
882
883
  class: "z-20"
883
884
  };
884
- const _hoisted_5$12 = { class: "flex-1 px-3 sm:px-4 md:px-6 pb-4" };
885
- const _sfc_main$21 = /* @__PURE__ */ defineComponent({
885
+ const _hoisted_5$13 = { class: "flex-1 px-3 sm:px-4 md:px-6 pb-4" };
886
+ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
886
887
  __name: "InApp",
887
888
  props: {
888
889
  logoSrc: {},
@@ -945,16 +946,16 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
945
946
  return route.meta.currentTab || "";
946
947
  });
947
948
  return (_ctx, _cache) => {
948
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Right sidebar drawer "), createElementVNode("div", _hoisted_1$18, [
949
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Right sidebar drawer "), createElementVNode("div", _hoisted_1$19, [
949
950
  createVNode(RightSidebar_default),
950
951
  createCommentVNode(" Left sidebar drawer "),
951
- createElementVNode("div", _hoisted_2$16, [
952
+ createElementVNode("div", _hoisted_2$17, [
952
953
  _cache[0] || (_cache[0] = createElementVNode("input", {
953
954
  id: "drawer",
954
955
  type: "checkbox",
955
956
  class: "drawer-toggle"
956
957
  }, null, -1)),
957
- createElementVNode("div", _hoisted_3$16, [
958
+ createElementVNode("div", _hoisted_3$17, [
958
959
  createCommentVNode(" Fixed navbar at top with breadcrumbs "),
959
960
  createVNode(Navbar_default, {
960
961
  class: "sticky top-0 z-30",
@@ -963,12 +964,12 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
963
964
  }, null, 8, ["breadcrumbs", "logoSrc"]),
964
965
  createVNode(UnverifiedEmailBanner_default),
965
966
  createCommentVNode(" Unified navigation with AppHeader (only shown when needed) "),
966
- shouldShowAppHeader.value ? (openBlock(), createElementBlock("div", _hoisted_4$14, [createVNode(AppHeader_default, {
967
+ shouldShowAppHeader.value ? (openBlock(), createElementBlock("div", _hoisted_4$15, [createVNode(AppHeader_default, {
967
968
  tabs: currentSectionTabs.value,
968
969
  "active-tab": currentActiveTab.value
969
970
  }, null, 8, ["tabs", "active-tab"])])) : createCommentVNode("v-if", true),
970
971
  createCommentVNode(" Main content "),
971
- createElementVNode("div", _hoisted_5$12, [createVNode(unref(RouterView))])
972
+ createElementVNode("div", _hoisted_5$13, [createVNode(unref(RouterView))])
972
973
  ]),
973
974
  createCommentVNode(" Left sidebar "),
974
975
  createVNode(Sidebar_default, { logoSrc: __props.logoSrc }, createSlots({ _: 2 }, [_ctx.$slots.sidebarLogo ? {
@@ -981,7 +982,58 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
981
982
  };
982
983
  }
983
984
  });
984
- var InApp_default = _sfc_main$21;
985
+ var InApp_default = _sfc_main$22;
986
+
987
+ //#endregion
988
+ //#region src/layouts/Legal.vue
989
+ const _hoisted_1$18 = { class: "m-2 sm:m-4" };
990
+ const _hoisted_2$16 = { class: "flex flex-col items-center mb-6" };
991
+ const _hoisted_3$16 = ["src"];
992
+ const _hoisted_4$14 = {
993
+ key: 0,
994
+ class: "flex flex-wrap justify-center gap-x-4 gap-y-1 mt-4 text-sm",
995
+ "aria-label": "Site navigation"
996
+ };
997
+ const _hoisted_5$12 = { class: "min-h-screen bg-base-100 flex flex-col" };
998
+ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
999
+ __name: "Legal",
1000
+ props: {
1001
+ logoSrc: {},
1002
+ navLinks: {}
1003
+ },
1004
+ setup(__props) {
1005
+ const props = __props;
1006
+ const route = useRoute();
1007
+ const imageLoadFailed = ref(false);
1008
+ const allNavLinks = computed(() => {
1009
+ const fromProps = props.navLinks;
1010
+ return !fromProps ? [] : Array.isArray(fromProps) ? fromProps : [fromProps];
1011
+ });
1012
+ const navLinks = computed(() => allNavLinks.value.filter((link) => route.path !== link.to));
1013
+ return (_ctx, _cache) => {
1014
+ return openBlock(), createElementBlock("div", _hoisted_1$18, [createElementVNode("div", _hoisted_2$16, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
1015
+ key: 0,
1016
+ size: "md"
1017
+ })) : (openBlock(), createElementBlock("img", {
1018
+ key: 1,
1019
+ src: __props.logoSrc,
1020
+ alt: "logo",
1021
+ class: "h-24",
1022
+ onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
1023
+ }, null, 40, _hoisted_3$16))]), navLinks.value.length > 0 ? (openBlock(), createElementBlock("nav", _hoisted_4$14, [(openBlock(true), createElementBlock(Fragment, null, renderList(navLinks.value, (link, i) => {
1024
+ return openBlock(), createBlock(AppLink_default, {
1025
+ key: i,
1026
+ to: link.to,
1027
+ class: "link link-accent link-hover underline underline-offset-2"
1028
+ }, {
1029
+ default: withCtx(() => [createTextVNode(toDisplayString(link.label), 1)]),
1030
+ _: 2
1031
+ }, 1032, ["to"]);
1032
+ }), 128))])) : createCommentVNode("v-if", true)]), createElementVNode("div", _hoisted_5$12, [createVNode(unref(RouterView))])]);
1033
+ };
1034
+ }
1035
+ });
1036
+ var Legal_default = _sfc_main$21;
985
1037
 
986
1038
  //#endregion
987
1039
  //#region src/components/ui/FieldDisplay.vue
@@ -1076,72 +1128,95 @@ const _hoisted_25$1 = { class: "font-medium text-sm break-all" };
1076
1128
  const _hoisted_26$1 = { class: "text-xs text-base-content/70 mt-1 ml-6" };
1077
1129
  const _hoisted_27$1 = {
1078
1130
  key: 0,
1131
+ class: "mt-2 ml-6 space-y-1"
1132
+ };
1133
+ const _hoisted_28$1 = ["onUpdate:modelValue"];
1134
+ const _hoisted_29$1 = ["onUpdate:modelValue"];
1135
+ const _hoisted_30$1 = {
1136
+ key: 1,
1079
1137
  class: "text-xs text-error mt-1 ml-6"
1080
1138
  };
1081
- const _hoisted_28$1 = ["onClick"];
1082
- const _hoisted_29$1 = { key: 0 };
1083
- const _hoisted_30$1 = { class: "flex justify-between text-xs mb-1" };
1084
- const _hoisted_31$1 = { key: 0 };
1085
- const _hoisted_32$1 = ["value"];
1086
- const _hoisted_33$1 = {
1139
+ const _hoisted_31$1 = ["onClick"];
1140
+ const _hoisted_32$1 = { key: 0 };
1141
+ const _hoisted_33$1 = { class: "flex justify-between text-xs mb-1" };
1142
+ const _hoisted_34$1 = { key: 0 };
1143
+ const _hoisted_35$1 = ["value"];
1144
+ const _hoisted_36 = {
1087
1145
  key: 1,
1088
1146
  class: "text-xs text-success mt-1"
1089
1147
  };
1090
- const _hoisted_34$1 = {
1148
+ const _hoisted_37 = {
1091
1149
  key: 2,
1092
1150
  class: "text-xs text-error mt-1"
1093
1151
  };
1094
- const _hoisted_35$1 = {
1152
+ const _hoisted_38 = {
1095
1153
  key: 1,
1096
1154
  class: "block sm:hidden mb-4"
1097
1155
  };
1098
- const _hoisted_36 = ["onClick"];
1099
- const _hoisted_37 = { class: "card-body py-4" };
1100
- const _hoisted_38 = { class: "flex items-center gap-3" };
1101
- const _hoisted_39 = { class: "card-title text-base break-words flex-1" };
1102
- const _hoisted_40 = {
1156
+ const _hoisted_39 = ["onClick"];
1157
+ const _hoisted_40 = { class: "card-body py-4" };
1158
+ const _hoisted_41 = { class: "flex items-center gap-3" };
1159
+ const _hoisted_42 = { class: "card-title text-base break-words flex-1" };
1160
+ const _hoisted_43 = {
1103
1161
  key: 2,
1104
1162
  class: "block sm:hidden"
1105
1163
  };
1106
- const _hoisted_41 = { class: "card-body" };
1107
- const _hoisted_42 = { class: "flex items-center gap-2 mb-2" };
1108
- const _hoisted_43 = { class: "card-title text-base break-all" };
1109
- const _hoisted_44 = { class: "grid grid-cols-2 text-sm mb-3" };
1110
- const _hoisted_45 = { class: "card-actions justify-between mt-3 gap-2" };
1111
- const _hoisted_46 = ["onClick"];
1112
- const _hoisted_47 = ["onClick"];
1113
- const _hoisted_48 = {
1114
- key: 3,
1115
- class: "hidden sm:block overflow-x-auto"
1164
+ const _hoisted_44 = { class: "card-body" };
1165
+ const _hoisted_45 = { class: "flex items-center gap-2 mb-2" };
1166
+ const _hoisted_46 = { class: "card-title text-base break-all" };
1167
+ const _hoisted_47 = {
1168
+ key: 0,
1169
+ class: "text-sm text-base-content/70 mt-1"
1116
1170
  };
1117
- const _hoisted_49 = { class: "table table-zebra w-full" };
1171
+ const _hoisted_48 = { class: "grid grid-cols-2 text-sm mb-3" };
1172
+ const _hoisted_49 = { class: "card-actions justify-between mt-3 gap-2" };
1118
1173
  const _hoisted_50 = ["onClick"];
1119
- const _hoisted_51 = { class: "flex items-center gap-3" };
1120
- const _hoisted_52 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
1174
+ const _hoisted_51 = ["onClick"];
1175
+ const _hoisted_52 = ["onClick"];
1121
1176
  const _hoisted_53 = {
1177
+ key: 3,
1178
+ class: "hidden sm:block overflow-x-auto"
1179
+ };
1180
+ const _hoisted_54 = { class: "table table-zebra w-full" };
1181
+ const _hoisted_55 = ["onClick"];
1182
+ const _hoisted_56 = { class: "flex items-center gap-3" };
1183
+ const _hoisted_57 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
1184
+ const _hoisted_58 = {
1122
1185
  key: 0,
1123
1186
  class: "text-xs text-base-content/60 ml-2"
1124
1187
  };
1125
- const _hoisted_54 = { class: "flex items-center gap-3" };
1126
- const _hoisted_55 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
1127
- const _hoisted_56 = { class: "flex gap-2" };
1128
- const _hoisted_57 = ["onClick"];
1129
- const _hoisted_58 = ["onClick"];
1130
- const _hoisted_59 = { class: "text-center py-8" };
1131
- const _hoisted_60 = { class: "text-base-content/70 mt-2" };
1132
- const _hoisted_61 = { class: "text-center py-8" };
1133
- const _hoisted_62 = { class: "text-base-content/70" };
1134
- const _hoisted_63 = { class: "hidden sm:block text-sm text-base-content/70 mt-2" };
1135
- const _hoisted_64 = { class: "text-center py-8" };
1136
- const _hoisted_65 = { class: "text-error" };
1137
- const _hoisted_66 = { class: "mb-4" };
1138
- const _hoisted_67 = {
1188
+ const _hoisted_59 = { class: "flex items-center gap-3" };
1189
+ const _hoisted_60 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
1190
+ const _hoisted_61 = {
1191
+ key: 0,
1192
+ class: "text-xs text-base-content/60 truncate max-w-[200px] md:max-w-[500px]"
1193
+ };
1194
+ const _hoisted_62 = { class: "flex gap-2" };
1195
+ const _hoisted_63 = ["onClick"];
1196
+ const _hoisted_64 = ["onClick"];
1197
+ const _hoisted_65 = ["onClick"];
1198
+ const _hoisted_66 = { class: "text-center py-8" };
1199
+ const _hoisted_67 = { class: "text-base-content/70 mt-2" };
1200
+ const _hoisted_68 = { class: "text-center py-8" };
1201
+ const _hoisted_69 = { class: "text-base-content/70" };
1202
+ const _hoisted_70 = { class: "hidden sm:block text-sm text-base-content/70 mt-2" };
1203
+ const _hoisted_71 = { class: "text-center py-8" };
1204
+ const _hoisted_72 = { class: "text-error" };
1205
+ const _hoisted_73 = { class: "modal-box" };
1206
+ const _hoisted_74 = { class: "py-4 space-y-4" };
1207
+ const _hoisted_75 = { class: "form-control w-full" };
1208
+ const _hoisted_76 = { class: "form-control w-full" };
1209
+ const _hoisted_77 = { class: "modal-action" };
1210
+ const _hoisted_78 = ["disabled"];
1211
+ const _hoisted_79 = ["disabled"];
1212
+ const _hoisted_80 = { class: "mb-4" };
1213
+ const _hoisted_81 = {
1139
1214
  key: 0,
1140
1215
  class: "bg-base-200 rounded-lg p-3 space-y-1 text-sm"
1141
1216
  };
1142
- const _hoisted_68 = { class: "flex items-center gap-2" };
1143
- const _hoisted_69 = { class: "font-medium" };
1144
- const _hoisted_70 = { class: "text-base-content/70" };
1217
+ const _hoisted_82 = { class: "flex items-center gap-2" };
1218
+ const _hoisted_83 = { class: "font-medium" };
1219
+ const _hoisted_84 = { class: "text-base-content/70" };
1145
1220
  const DEFAULT_MAX_FILE_SIZE = 50 * 1024 * 1024;
1146
1221
  const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1147
1222
  __name: "FileManager",
@@ -1168,8 +1243,13 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1168
1243
  const folderPath = ref([]);
1169
1244
  const showDeleteModal = ref(false);
1170
1245
  const showCreateFolderModal = ref(false);
1246
+ const showEditModal = ref(false);
1171
1247
  const fileToDelete = ref(null);
1248
+ const fileToEdit = ref(null);
1249
+ const editTitle = ref("");
1250
+ const editDescription = ref("");
1172
1251
  const { mutate: deleteAttachment } = useMutation((api, input) => api.attachments.deleteAttachment(input.id), { invalidate: /^attachments?:/ });
1252
+ const { mutate: updateAttachment, loading: isUpdatingAttachment } = useMutation((api, input) => api.attachments.updateAttachment(input), { invalidate: /^attachments?:/ });
1173
1253
  const { mutate: createFolderMutation } = useMutation((api, input) => api.attachments.createFolder(input), { invalidate: /^attachments?:/ });
1174
1254
  const { data: attachmentsData, loading: fetchingAttachments, error: attachmentsError, refetch: refetchAttachments } = useQuery(async (api) => {
1175
1255
  const filters = {
@@ -1213,6 +1293,8 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1213
1293
  for (const item of fileItems) files.push({
1214
1294
  id: item.id,
1215
1295
  name: item.original_name,
1296
+ title: item.title ?? null,
1297
+ description: item.description ?? null,
1216
1298
  size: parseInt(item.file_size || "0"),
1217
1299
  type: item.content_type || "",
1218
1300
  uploadedAt: new Date(item.created_at)
@@ -1403,6 +1485,8 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1403
1485
  formData.append("record_id", props.recordId);
1404
1486
  formData.append("record_type", props.recordType);
1405
1487
  if (currentFolderId.value) formData.append("folder_id", currentFolderId.value);
1488
+ if (item.title) formData.append("title", item.title);
1489
+ if (item.description) formData.append("description", item.description);
1406
1490
  const response = await fetch(`${env$1.restApiClient.apiUrl}/attachments/${props.recordType}/${props.recordId}`, {
1407
1491
  method: "POST",
1408
1492
  headers: { Authorization: `Bearer ${userStore.accessToken}` },
@@ -1466,6 +1550,32 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1466
1550
  a.remove();
1467
1551
  URL.revokeObjectURL(url);
1468
1552
  };
1553
+ const openEditModal = (file) => {
1554
+ fileToEdit.value = file;
1555
+ editTitle.value = file.title ?? "";
1556
+ editDescription.value = file.description ?? "";
1557
+ showEditModal.value = true;
1558
+ };
1559
+ const closeEditModal = () => {
1560
+ showEditModal.value = false;
1561
+ fileToEdit.value = null;
1562
+ editTitle.value = "";
1563
+ editDescription.value = "";
1564
+ };
1565
+ const saveEditAttachment = async () => {
1566
+ if (!fileToEdit.value) return;
1567
+ try {
1568
+ await updateAttachment({
1569
+ id: fileToEdit.value.id,
1570
+ title: editTitle.value.trim() || null,
1571
+ description: editDescription.value.trim() || null
1572
+ });
1573
+ refreshAttachments();
1574
+ closeEditModal();
1575
+ } catch (error) {
1576
+ console.error("Update failed:", error);
1577
+ }
1578
+ };
1469
1579
  const confirmDeleteFile = (file) => {
1470
1580
  fileToDelete.value = file;
1471
1581
  showDeleteModal.value = true;
@@ -1526,7 +1636,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1526
1636
  class: "btn btn-sm btn-primary flex-1",
1527
1637
  onClick: openFileSelector,
1528
1638
  disabled: isUploading.value
1529
- }, [_cache[5] || (_cache[5] = createElementVNode("svg", {
1639
+ }, [_cache[7] || (_cache[7] = createElementVNode("svg", {
1530
1640
  xmlns: "http://www.w3.org/2000/svg",
1531
1641
  class: "h-4 w-4 mr-1",
1532
1642
  fill: "none",
@@ -1540,7 +1650,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1540
1650
  })], -1)), createTextVNode(" " + toDisplayString(config.value.addButtonText || "Add Files"), 1)], 8, _hoisted_6$10), createElementVNode("button", {
1541
1651
  class: "btn btn-sm btn-info flex-1",
1542
1652
  onClick: createFolder
1543
- }, [..._cache[6] || (_cache[6] = [createElementVNode("svg", {
1653
+ }, [..._cache[8] || (_cache[8] = [createElementVNode("svg", {
1544
1654
  xmlns: "http://www.w3.org/2000/svg",
1545
1655
  class: "h-4 w-4 mr-1",
1546
1656
  fill: "none",
@@ -1562,7 +1672,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1562
1672
  createElementVNode("div", _hoisted_7$9, [createElementVNode("ul", _hoisted_8$9, [createElementVNode("li", null, [createElementVNode("button", {
1563
1673
  class: normalizeClass(["btn btn-sm sm:btn-xs btn-ghost min-h-[2.5rem] sm:min-h-0 py-2 sm:py-1", { "btn-active": !currentFolderId.value }]),
1564
1674
  onClick: _cache[0] || (_cache[0] = ($event) => navigateToFolder(null))
1565
- }, [..._cache[7] || (_cache[7] = [createElementVNode("svg", {
1675
+ }, [..._cache[9] || (_cache[9] = [createElementVNode("svg", {
1566
1676
  xmlns: "http://www.w3.org/2000/svg",
1567
1677
  class: "h-4 w-4 sm:mr-1",
1568
1678
  fill: "none",
@@ -1601,7 +1711,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1601
1711
  onDrop: withModifiers(handleFileDrop, ["prevent"]),
1602
1712
  onClick: openFileSelector
1603
1713
  }, [createElementVNode("div", _hoisted_11$5, [
1604
- _cache[8] || (_cache[8] = createElementVNode("svg", {
1714
+ _cache[10] || (_cache[10] = createElementVNode("svg", {
1605
1715
  xmlns: "http://www.w3.org/2000/svg",
1606
1716
  class: "h-12 w-12 mb-2 text-primary",
1607
1717
  fill: "none",
@@ -1618,7 +1728,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1618
1728
  config.value.acceptText ? (openBlock(), createElementBlock("p", _hoisted_14$3, toDisplayString(config.value.acceptText), 1)) : createCommentVNode("v-if", true)
1619
1729
  ])], 34),
1620
1730
  createCommentVNode(" Upload Queue "),
1621
- uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$2, [_cache[12] || (_cache[12] = createElementVNode("div", { class: "text-sm font-medium mb-2" }, "File uploads", -1)), createElementVNode("div", _hoisted_16$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(uploadQueue.value, (item) => {
1731
+ uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$2, [_cache[14] || (_cache[14] = createElementVNode("div", { class: "text-sm font-medium mb-2" }, "File uploads", -1)), createElementVNode("div", _hoisted_16$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(uploadQueue.value, (item) => {
1622
1732
  return openBlock(), createElementBlock("div", {
1623
1733
  key: item.id,
1624
1734
  class: normalizeClass(["border border-base-200 rounded-lg p-3", {
@@ -1630,12 +1740,12 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1630
1740
  createElementVNode("div", _hoisted_18$1, [
1631
1741
  createElementVNode("div", _hoisted_19$1, [
1632
1742
  createCommentVNode(" Status Icon "),
1633
- item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_20$1)) : item.status === "success" ? (openBlock(), createElementBlock("svg", _hoisted_21$1, [..._cache[9] || (_cache[9] = [createElementVNode("path", {
1743
+ item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_20$1)) : item.status === "success" ? (openBlock(), createElementBlock("svg", _hoisted_21$1, [..._cache[11] || (_cache[11] = [createElementVNode("path", {
1634
1744
  "stroke-linecap": "round",
1635
1745
  "stroke-linejoin": "round",
1636
1746
  "stroke-width": "2",
1637
1747
  d: "M5 13l4 4L19 7"
1638
- }, null, -1)])])) : item.status === "error" ? (openBlock(), createElementBlock("svg", _hoisted_22$1, [..._cache[10] || (_cache[10] = [createElementVNode("path", {
1748
+ }, null, -1)])])) : item.status === "error" ? (openBlock(), createElementBlock("svg", _hoisted_22$1, [..._cache[12] || (_cache[12] = [createElementVNode("path", {
1639
1749
  "stroke-linecap": "round",
1640
1750
  "stroke-linejoin": "round",
1641
1751
  "stroke-width": "2",
@@ -1645,7 +1755,18 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1645
1755
  createElementVNode("div", _hoisted_24$1, [createElementVNode("div", _hoisted_25$1, toDisplayString(item.file.name), 1)])
1646
1756
  ]),
1647
1757
  createElementVNode("div", _hoisted_26$1, toDisplayString(formatFileSize(item.file.size)), 1),
1648
- item.status === "error" && item.errorMessage ? (openBlock(), createElementBlock("div", _hoisted_27$1, toDisplayString(item.errorMessage), 1)) : createCommentVNode("v-if", true)
1758
+ item.status === "pending" || item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_27$1, [withDirectives(createElementVNode("input", {
1759
+ "onUpdate:modelValue": ($event) => item.title = $event,
1760
+ type: "text",
1761
+ placeholder: "Title (optional)",
1762
+ class: "input input-xs input-bordered w-full max-w-xs"
1763
+ }, null, 8, _hoisted_28$1), [[vModelText, item.title]]), withDirectives(createElementVNode("input", {
1764
+ "onUpdate:modelValue": ($event) => item.description = $event,
1765
+ type: "text",
1766
+ placeholder: "Description (optional)",
1767
+ class: "input input-xs input-bordered w-full max-w-xs block mt-1"
1768
+ }, null, 8, _hoisted_29$1), [[vModelText, item.description]])])) : createCommentVNode("v-if", true),
1769
+ item.status === "error" && item.errorMessage ? (openBlock(), createElementBlock("div", _hoisted_30$1, toDisplayString(item.errorMessage), 1)) : createCommentVNode("v-if", true)
1649
1770
  ]),
1650
1771
  createCommentVNode(" Dismiss Button (X) "),
1651
1772
  item.status === "success" || item.status === "error" ? (openBlock(), createElementBlock("button", {
@@ -1653,7 +1774,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1653
1774
  class: "btn btn-xs btn-ghost btn-circle",
1654
1775
  onClick: ($event) => removeFromQueue(item.id),
1655
1776
  "aria-label": "Dismiss notification"
1656
- }, [..._cache[11] || (_cache[11] = [createElementVNode("svg", {
1777
+ }, [..._cache[13] || (_cache[13] = [createElementVNode("svg", {
1657
1778
  xmlns: "http://www.w3.org/2000/svg",
1658
1779
  class: "h-4 w-4",
1659
1780
  fill: "none",
@@ -1664,32 +1785,32 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1664
1785
  "stroke-linejoin": "round",
1665
1786
  "stroke-width": "2",
1666
1787
  d: "M6 18L18 6M6 6l12 12"
1667
- })], -1)])], 8, _hoisted_28$1)) : createCommentVNode("v-if", true)
1788
+ })], -1)])], 8, _hoisted_31$1)) : createCommentVNode("v-if", true)
1668
1789
  ]),
1669
1790
  createCommentVNode(" Progress Bar "),
1670
- item.status === "uploading" || item.status === "pending" ? (openBlock(), createElementBlock("div", _hoisted_29$1, [createElementVNode("div", _hoisted_30$1, [createElementVNode("span", null, toDisplayString(item.status === "uploading" ? "Uploading..." : "Waiting..."), 1), item.status === "uploading" ? (openBlock(), createElementBlock("span", _hoisted_31$1, toDisplayString(item.progress.toFixed(2)) + "%", 1)) : createCommentVNode("v-if", true)]), createElementVNode("progress", {
1791
+ item.status === "uploading" || item.status === "pending" ? (openBlock(), createElementBlock("div", _hoisted_32$1, [createElementVNode("div", _hoisted_33$1, [createElementVNode("span", null, toDisplayString(item.status === "uploading" ? "Uploading..." : "Waiting..."), 1), item.status === "uploading" ? (openBlock(), createElementBlock("span", _hoisted_34$1, toDisplayString(item.progress.toFixed(2)) + "%", 1)) : createCommentVNode("v-if", true)]), createElementVNode("progress", {
1671
1792
  class: normalizeClass(["progress w-full", {
1672
1793
  "progress-primary": item.status === "uploading",
1673
1794
  "progress-secondary opacity-50": item.status === "pending"
1674
1795
  }]),
1675
1796
  value: item.status === "uploading" ? item.progress : 0,
1676
1797
  max: "100"
1677
- }, null, 10, _hoisted_32$1)])) : createCommentVNode("v-if", true),
1798
+ }, null, 10, _hoisted_35$1)])) : createCommentVNode("v-if", true),
1678
1799
  createCommentVNode(" Success/Error Message "),
1679
- item.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_33$1, " Upload complete ")) : createCommentVNode("v-if", true),
1680
- item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_34$1, " Upload failed - dismiss and try again ")) : createCommentVNode("v-if", true)
1800
+ item.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_36, " Upload complete ")) : createCommentVNode("v-if", true),
1801
+ item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_37, " Upload failed - dismiss and try again ")) : createCommentVNode("v-if", true)
1681
1802
  ], 2);
1682
1803
  }), 128))])])) : createCommentVNode("v-if", true),
1683
1804
  createCommentVNode(" Folder list (mobile) "),
1684
- folders.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_35$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(folders.value, (folder) => {
1805
+ folders.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_38, [(openBlock(true), createElementBlock(Fragment, null, renderList(folders.value, (folder) => {
1685
1806
  return openBlock(), createElementBlock("div", {
1686
1807
  key: folder.id,
1687
1808
  class: "card card-compact bg-base-100 shadow-sm mb-3 border border-base-200 active:scale-[0.98] transition-transform",
1688
1809
  onClick: ($event) => enterFolder(folder.id)
1689
- }, [createElementVNode("div", _hoisted_37, [createElementVNode("div", _hoisted_38, [
1690
- _cache[13] || (_cache[13] = createElementVNode("div", { class: "badge badge-secondary badge-lg" }, "FOLDER", -1)),
1691
- createElementVNode("h3", _hoisted_39, toDisplayString(folder.name), 1),
1692
- _cache[14] || (_cache[14] = createElementVNode("svg", {
1810
+ }, [createElementVNode("div", _hoisted_40, [createElementVNode("div", _hoisted_41, [
1811
+ _cache[15] || (_cache[15] = createElementVNode("div", { class: "badge badge-secondary badge-lg" }, "FOLDER", -1)),
1812
+ createElementVNode("h3", _hoisted_42, toDisplayString(folder.name), 1),
1813
+ _cache[16] || (_cache[16] = createElementVNode("svg", {
1693
1814
  xmlns: "http://www.w3.org/2000/svg",
1694
1815
  class: "h-5 w-5 text-base-content/50",
1695
1816
  fill: "none",
@@ -1701,49 +1822,61 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1701
1822
  "stroke-width": "2",
1702
1823
  d: "M9 5l7 7-7 7"
1703
1824
  })], -1))
1704
- ])])], 8, _hoisted_36);
1825
+ ])])], 8, _hoisted_39);
1705
1826
  }), 128))])) : createCommentVNode("v-if", true),
1706
1827
  createCommentVNode(" File List for Mobile "),
1707
- attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_40, [(openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file, index) => {
1828
+ attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_43, [(openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file, index) => {
1708
1829
  return openBlock(), createElementBlock("div", {
1709
1830
  key: index,
1710
1831
  class: "card card-compact bg-base-100 shadow-sm mb-3 border border-base-200"
1711
- }, [createElementVNode("div", _hoisted_41, [
1712
- createElementVNode("div", _hoisted_42, [createElementVNode("div", { class: normalizeClass(["badge", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3), createElementVNode("h3", _hoisted_43, toDisplayString(file.name), 1)]),
1713
- createElementVNode("div", _hoisted_44, [createElementVNode("div", null, [_cache[15] || (_cache[15] = createElementVNode("span", { class: "text-base-content/70" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(file.size)), 1)]), createElementVNode("div", null, [_cache[16] || (_cache[16] = createElementVNode("span", { class: "text-base-content/70" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(file.uploadedAt)), 1)])]),
1714
- createElementVNode("div", _hoisted_45, [createElementVNode("button", {
1715
- class: "btn btn-sm flex-1 min-h-[2.75rem]",
1716
- onClick: ($event) => downloadFile(file)
1717
- }, [..._cache[17] || (_cache[17] = [createElementVNode("svg", {
1718
- xmlns: "http://www.w3.org/2000/svg",
1719
- class: "h-4 w-4 mr-1",
1720
- fill: "none",
1721
- viewBox: "0 0 24 24",
1722
- stroke: "currentColor"
1723
- }, [createElementVNode("path", {
1724
- "stroke-linecap": "round",
1725
- "stroke-linejoin": "round",
1726
- "stroke-width": "2",
1727
- d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1728
- })], -1), createTextVNode(" Download ", -1)])], 8, _hoisted_46), createElementVNode("button", {
1729
- class: "btn btn-sm btn-outline btn-error flex-1 min-h-[2.75rem]",
1730
- onClick: ($event) => confirmDeleteFile(file)
1731
- }, [..._cache[18] || (_cache[18] = [createElementVNode("svg", {
1732
- xmlns: "http://www.w3.org/2000/svg",
1733
- class: "h-4 w-4 mr-1",
1734
- fill: "none",
1735
- viewBox: "0 0 24 24",
1736
- stroke: "currentColor"
1737
- }, [createElementVNode("path", {
1738
- "stroke-linecap": "round",
1739
- "stroke-linejoin": "round",
1740
- "stroke-width": "2",
1741
- d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
1742
- })], -1), createTextVNode(" Delete ", -1)])], 8, _hoisted_47)])
1832
+ }, [createElementVNode("div", _hoisted_44, [
1833
+ createElementVNode("div", _hoisted_45, [
1834
+ createElementVNode("div", { class: normalizeClass(["badge", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3),
1835
+ createElementVNode("h3", _hoisted_46, toDisplayString(file.title || file.name), 1),
1836
+ file.description ? (openBlock(), createElementBlock("p", _hoisted_47, toDisplayString(file.description), 1)) : createCommentVNode("v-if", true)
1837
+ ]),
1838
+ createElementVNode("div", _hoisted_48, [createElementVNode("div", null, [_cache[17] || (_cache[17] = createElementVNode("span", { class: "text-base-content/70" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(file.size)), 1)]), createElementVNode("div", null, [_cache[18] || (_cache[18] = createElementVNode("span", { class: "text-base-content/70" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(file.uploadedAt)), 1)])]),
1839
+ createElementVNode("div", _hoisted_49, [
1840
+ createElementVNode("button", {
1841
+ class: "btn btn-sm btn-ghost flex-1 min-h-[2.75rem]",
1842
+ onClick: ($event) => openEditModal(file),
1843
+ title: "Edit title and description"
1844
+ }, " Edit ", 8, _hoisted_50),
1845
+ createElementVNode("button", {
1846
+ class: "btn btn-sm flex-1 min-h-[2.75rem]",
1847
+ onClick: ($event) => downloadFile(file)
1848
+ }, [..._cache[19] || (_cache[19] = [createElementVNode("svg", {
1849
+ xmlns: "http://www.w3.org/2000/svg",
1850
+ class: "h-4 w-4 mr-1",
1851
+ fill: "none",
1852
+ viewBox: "0 0 24 24",
1853
+ stroke: "currentColor"
1854
+ }, [createElementVNode("path", {
1855
+ "stroke-linecap": "round",
1856
+ "stroke-linejoin": "round",
1857
+ "stroke-width": "2",
1858
+ d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1859
+ })], -1), createTextVNode(" Download ", -1)])], 8, _hoisted_51),
1860
+ createElementVNode("button", {
1861
+ class: "btn btn-sm btn-outline btn-error flex-1 min-h-[2.75rem]",
1862
+ onClick: ($event) => confirmDeleteFile(file)
1863
+ }, [..._cache[20] || (_cache[20] = [createElementVNode("svg", {
1864
+ xmlns: "http://www.w3.org/2000/svg",
1865
+ class: "h-4 w-4 mr-1",
1866
+ fill: "none",
1867
+ viewBox: "0 0 24 24",
1868
+ stroke: "currentColor"
1869
+ }, [createElementVNode("path", {
1870
+ "stroke-linecap": "round",
1871
+ "stroke-linejoin": "round",
1872
+ "stroke-width": "2",
1873
+ d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
1874
+ })], -1), createTextVNode(" Delete ", -1)])], 8, _hoisted_52)
1875
+ ])
1743
1876
  ])]);
1744
1877
  }), 128))])) : createCommentVNode("v-if", true),
1745
1878
  createCommentVNode(" Folder and File List for Tablet/Desktop "),
1746
- folders.value.length > 0 || attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_48, [createElementVNode("table", _hoisted_49, [_cache[25] || (_cache[25] = createElementVNode("thead", null, [createElementVNode("tr", null, [
1879
+ folders.value.length > 0 || attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_53, [createElementVNode("table", _hoisted_54, [_cache[28] || (_cache[28] = createElementVNode("thead", null, [createElementVNode("tr", null, [
1747
1880
  createElementVNode("th", null, "Name"),
1748
1881
  createElementVNode("th", null, "Size"),
1749
1882
  createElementVNode("th", null, "Uploaded"),
@@ -1756,51 +1889,74 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1756
1889
  class: "cursor-pointer",
1757
1890
  onClick: ($event) => enterFolder(folder.id)
1758
1891
  }, [
1759
- createElementVNode("td", null, [createElementVNode("div", _hoisted_51, [_cache[19] || (_cache[19] = createElementVNode("div", { class: "badge badge-secondary badge-sm" }, "FOLDER", -1)), createElementVNode("div", _hoisted_52, [createTextVNode(toDisplayString(folder.name) + " ", 1), folder.file_count !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_53, " (" + toDisplayString(folder.file_count) + ") ", 1)) : createCommentVNode("v-if", true)])])]),
1760
- _cache[20] || (_cache[20] = createElementVNode("td", null, "—", -1)),
1761
- _cache[21] || (_cache[21] = createElementVNode("td", null, "—", -1)),
1762
- _cache[22] || (_cache[22] = createElementVNode("td", null, "—", -1))
1763
- ], 8, _hoisted_50);
1892
+ createElementVNode("td", null, [createElementVNode("div", _hoisted_56, [_cache[21] || (_cache[21] = createElementVNode("div", { class: "badge badge-secondary badge-sm" }, "FOLDER", -1)), createElementVNode("div", _hoisted_57, [createTextVNode(toDisplayString(folder.name) + " ", 1), folder.file_count !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_58, " (" + toDisplayString(folder.file_count) + ") ", 1)) : createCommentVNode("v-if", true)])])]),
1893
+ _cache[22] || (_cache[22] = createElementVNode("td", null, "—", -1)),
1894
+ _cache[23] || (_cache[23] = createElementVNode("td", null, "—", -1)),
1895
+ _cache[24] || (_cache[24] = createElementVNode("td", null, "—", -1))
1896
+ ], 8, _hoisted_55);
1764
1897
  }), 128)),
1765
1898
  createCommentVNode(" Files "),
1766
1899
  (openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file, index) => {
1767
1900
  return openBlock(), createElementBlock("tr", { key: index }, [
1768
- createElementVNode("td", null, [createElementVNode("div", _hoisted_54, [createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3), createElementVNode("div", _hoisted_55, toDisplayString(file.name), 1)])]),
1901
+ createElementVNode("td", null, [createElementVNode("div", _hoisted_59, [
1902
+ createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3),
1903
+ createElementVNode("div", _hoisted_60, toDisplayString(file.title || file.name), 1),
1904
+ file.description ? (openBlock(), createElementBlock("div", _hoisted_61, toDisplayString(file.description), 1)) : createCommentVNode("v-if", true)
1905
+ ])]),
1769
1906
  createElementVNode("td", null, toDisplayString(formatFileSize(file.size)), 1),
1770
1907
  createElementVNode("td", null, toDisplayString(formatDate(file.uploadedAt)), 1),
1771
- createElementVNode("td", null, [createElementVNode("div", _hoisted_56, [createElementVNode("button", {
1772
- class: "btn btn-sm btn-ghost btn-circle",
1773
- onClick: ($event) => downloadFile(file)
1774
- }, [..._cache[23] || (_cache[23] = [createElementVNode("svg", {
1775
- xmlns: "http://www.w3.org/2000/svg",
1776
- class: "h-4 w-4",
1777
- fill: "none",
1778
- viewBox: "0 0 24 24",
1779
- stroke: "currentColor"
1780
- }, [createElementVNode("path", {
1781
- "stroke-linecap": "round",
1782
- "stroke-linejoin": "round",
1783
- "stroke-width": "2",
1784
- d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1785
- })], -1)])], 8, _hoisted_57), createElementVNode("button", {
1786
- class: "btn btn-sm btn-ghost btn-circle text-error",
1787
- onClick: ($event) => confirmDeleteFile(file)
1788
- }, [..._cache[24] || (_cache[24] = [createElementVNode("svg", {
1789
- xmlns: "http://www.w3.org/2000/svg",
1790
- class: "h-4 w-4",
1791
- fill: "none",
1792
- viewBox: "0 0 24 24",
1793
- stroke: "currentColor"
1794
- }, [createElementVNode("path", {
1795
- "stroke-linecap": "round",
1796
- "stroke-linejoin": "round",
1797
- "stroke-width": "2",
1798
- d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
1799
- })], -1)])], 8, _hoisted_58)])])
1908
+ createElementVNode("td", null, [createElementVNode("div", _hoisted_62, [
1909
+ createElementVNode("button", {
1910
+ class: "btn btn-sm btn-ghost btn-circle",
1911
+ onClick: ($event) => openEditModal(file),
1912
+ title: "Edit title and description"
1913
+ }, [..._cache[25] || (_cache[25] = [createElementVNode("svg", {
1914
+ xmlns: "http://www.w3.org/2000/svg",
1915
+ class: "h-4 w-4",
1916
+ fill: "none",
1917
+ viewBox: "0 0 24 24",
1918
+ stroke: "currentColor"
1919
+ }, [createElementVNode("path", {
1920
+ "stroke-linecap": "round",
1921
+ "stroke-linejoin": "round",
1922
+ "stroke-width": "2",
1923
+ d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
1924
+ })], -1)])], 8, _hoisted_63),
1925
+ createElementVNode("button", {
1926
+ class: "btn btn-sm btn-ghost btn-circle",
1927
+ onClick: ($event) => downloadFile(file)
1928
+ }, [..._cache[26] || (_cache[26] = [createElementVNode("svg", {
1929
+ xmlns: "http://www.w3.org/2000/svg",
1930
+ class: "h-4 w-4",
1931
+ fill: "none",
1932
+ viewBox: "0 0 24 24",
1933
+ stroke: "currentColor"
1934
+ }, [createElementVNode("path", {
1935
+ "stroke-linecap": "round",
1936
+ "stroke-linejoin": "round",
1937
+ "stroke-width": "2",
1938
+ d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1939
+ })], -1)])], 8, _hoisted_64),
1940
+ createElementVNode("button", {
1941
+ class: "btn btn-sm btn-ghost btn-circle text-error",
1942
+ onClick: ($event) => confirmDeleteFile(file)
1943
+ }, [..._cache[27] || (_cache[27] = [createElementVNode("svg", {
1944
+ xmlns: "http://www.w3.org/2000/svg",
1945
+ class: "h-4 w-4",
1946
+ fill: "none",
1947
+ viewBox: "0 0 24 24",
1948
+ stroke: "currentColor"
1949
+ }, [createElementVNode("path", {
1950
+ "stroke-linecap": "round",
1951
+ "stroke-linejoin": "round",
1952
+ "stroke-width": "2",
1953
+ d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
1954
+ })], -1)])], 8, _hoisted_65)
1955
+ ])])
1800
1956
  ]);
1801
1957
  }), 128))
1802
- ])])])) : unref(fetchingAttachments) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [createCommentVNode(" Loading State "), createElementVNode("div", _hoisted_59, [_cache[26] || (_cache[26] = createElementVNode("div", { class: "flex justify-center" }, [createElementVNode("span", { class: "loading loading-spinner loading-md" })], -1)), createElementVNode("p", _hoisted_60, toDisplayString(config.value.loadingText || "Loading attachments..."), 1)])], 2112)) : !isUploading.value ? (openBlock(), createElementBlock(Fragment, { key: 5 }, [createCommentVNode(" Empty State "), createElementVNode("div", _hoisted_61, [
1803
- _cache[27] || (_cache[27] = createElementVNode("svg", {
1958
+ ])])])) : unref(fetchingAttachments) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [createCommentVNode(" Loading State "), createElementVNode("div", _hoisted_66, [_cache[29] || (_cache[29] = createElementVNode("div", { class: "flex justify-center" }, [createElementVNode("span", { class: "loading loading-spinner loading-md" })], -1)), createElementVNode("p", _hoisted_67, toDisplayString(config.value.loadingText || "Loading attachments..."), 1)])], 2112)) : !isUploading.value ? (openBlock(), createElementBlock(Fragment, { key: 5 }, [createCommentVNode(" Empty State "), createElementVNode("div", _hoisted_68, [
1959
+ _cache[30] || (_cache[30] = createElementVNode("svg", {
1804
1960
  xmlns: "http://www.w3.org/2000/svg",
1805
1961
  class: "h-12 w-12 mx-auto mb-3 text-base-content/30",
1806
1962
  fill: "none",
@@ -1812,17 +1968,44 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1812
1968
  "stroke-width": "2",
1813
1969
  d: "M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
1814
1970
  })], -1)),
1815
- createElementVNode("p", _hoisted_62, toDisplayString(config.value.emptyText || "No attachments yet"), 1),
1971
+ createElementVNode("p", _hoisted_69, toDisplayString(config.value.emptyText || "No attachments yet"), 1),
1816
1972
  createCommentVNode(" Desktop instruction "),
1817
- createElementVNode("p", _hoisted_63, toDisplayString(config.value.instructionText || "Use the drag and drop area above to add files"), 1)
1818
- ])], 2112)) : unref(attachmentsError) ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [createCommentVNode(" Error State "), createElementVNode("div", _hoisted_64, [createElementVNode("p", _hoisted_65, toDisplayString(config.value.errorText || "Failed to load attachments"), 1), createElementVNode("button", {
1973
+ createElementVNode("p", _hoisted_70, toDisplayString(config.value.instructionText || "Use the drag and drop area above to add files"), 1)
1974
+ ])], 2112)) : unref(attachmentsError) ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [createCommentVNode(" Error State "), createElementVNode("div", _hoisted_71, [createElementVNode("p", _hoisted_72, toDisplayString(config.value.errorText || "Failed to load attachments"), 1), createElementVNode("button", {
1819
1975
  class: "btn btn-sm btn-outline mt-2",
1820
1976
  onClick: refreshAttachments
1821
1977
  }, toDisplayString(config.value.retryText || "Try Again"), 1)])], 2112)) : createCommentVNode("v-if", true),
1978
+ createCommentVNode(" Edit Attachment Modal "),
1979
+ createElementVNode("div", { class: normalizeClass(["modal", { "modal-open": showEditModal.value }]) }, [createElementVNode("div", _hoisted_73, [
1980
+ _cache[33] || (_cache[33] = createElementVNode("h3", { class: "font-bold text-lg" }, "Edit Attachment", -1)),
1981
+ createElementVNode("div", _hoisted_74, [createElementVNode("label", _hoisted_75, [_cache[31] || (_cache[31] = createElementVNode("span", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Title")], -1)), withDirectives(createElementVNode("input", {
1982
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => editTitle.value = $event),
1983
+ type: "text",
1984
+ placeholder: "Display title (optional)",
1985
+ class: "input input-bordered w-full"
1986
+ }, null, 512), [[vModelText, editTitle.value]])]), createElementVNode("label", _hoisted_76, [_cache[32] || (_cache[32] = createElementVNode("span", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Description")], -1)), withDirectives(createElementVNode("textarea", {
1987
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => editDescription.value = $event),
1988
+ placeholder: "Description (optional)",
1989
+ class: "textarea textarea-bordered w-full",
1990
+ rows: "3"
1991
+ }, null, 512), [[vModelText, editDescription.value]])])]),
1992
+ createElementVNode("div", _hoisted_77, [createElementVNode("button", {
1993
+ class: "btn",
1994
+ onClick: closeEditModal,
1995
+ disabled: unref(isUpdatingAttachment)
1996
+ }, toDisplayString(config.value.cancelText || "Cancel"), 9, _hoisted_78), createElementVNode("button", {
1997
+ class: "btn btn-primary",
1998
+ onClick: saveEditAttachment,
1999
+ disabled: unref(isUpdatingAttachment)
2000
+ }, toDisplayString(unref(isUpdatingAttachment) ? "Saving..." : "Save"), 9, _hoisted_79)])
2001
+ ]), createElementVNode("div", {
2002
+ class: "modal-backdrop",
2003
+ onClick: closeEditModal
2004
+ })], 2),
1822
2005
  createCommentVNode(" Create Folder Modal "),
1823
2006
  createVNode(InputModal_default, {
1824
2007
  modelValue: showCreateFolderModal.value,
1825
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showCreateFolderModal.value = $event),
2008
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showCreateFolderModal.value = $event),
1826
2009
  title: config.value.createFolderTitle || "Create New Folder",
1827
2010
  label: config.value.folderNameLabel || "Folder Name",
1828
2011
  placeholder: "Enter folder name",
@@ -1839,14 +2022,14 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
1839
2022
  createCommentVNode(" Delete Confirmation Modal "),
1840
2023
  createVNode(ConfirmDialog_default, {
1841
2024
  modelValue: showDeleteModal.value,
1842
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showDeleteModal.value = $event),
2025
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showDeleteModal.value = $event),
1843
2026
  title: config.value.deleteTitle || "Confirm Deletion",
1844
2027
  "confirm-text": config.value.confirmDeleteText || "Delete",
1845
2028
  "cancel-text": config.value.cancelText || "Cancel",
1846
2029
  "confirm-button-class": "btn-error",
1847
2030
  onConfirm: deleteFile
1848
2031
  }, {
1849
- message: withCtx(() => [createElementVNode("p", _hoisted_66, toDisplayString(config.value.deleteMessage || "Are you sure you want to delete this file? This action cannot be undone."), 1), fileToDelete.value ? (openBlock(), createElementBlock("div", _hoisted_67, [createElementVNode("div", _hoisted_68, [createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(fileToDelete.value.type)]) }, toDisplayString(getFileTypeLabel(fileToDelete.value.type)), 3), createElementVNode("span", _hoisted_69, toDisplayString(fileToDelete.value.name), 1)]), createElementVNode("div", _hoisted_70, [createElementVNode("div", null, [_cache[28] || (_cache[28] = createElementVNode("span", { class: "font-medium" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(fileToDelete.value.size)), 1)]), createElementVNode("div", null, [_cache[29] || (_cache[29] = createElementVNode("span", { class: "font-medium" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(fileToDelete.value.uploadedAt)), 1)])])])) : createCommentVNode("v-if", true)]),
2032
+ message: withCtx(() => [createElementVNode("p", _hoisted_80, toDisplayString(config.value.deleteMessage || "Are you sure you want to delete this file? This action cannot be undone."), 1), fileToDelete.value ? (openBlock(), createElementBlock("div", _hoisted_81, [createElementVNode("div", _hoisted_82, [createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(fileToDelete.value.type)]) }, toDisplayString(getFileTypeLabel(fileToDelete.value.type)), 3), createElementVNode("span", _hoisted_83, toDisplayString(fileToDelete.value.name), 1)]), createElementVNode("div", _hoisted_84, [createElementVNode("div", null, [_cache[34] || (_cache[34] = createElementVNode("span", { class: "font-medium" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(fileToDelete.value.size)), 1)]), createElementVNode("div", null, [_cache[35] || (_cache[35] = createElementVNode("span", { class: "font-medium" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(fileToDelete.value.uploadedAt)), 1)])])])) : createCommentVNode("v-if", true)]),
1850
2033
  _: 1
1851
2034
  }, 8, [
1852
2035
  "modelValue",
@@ -2158,7 +2341,7 @@ const userRoutes = [{
2158
2341
  {
2159
2342
  path: "profile",
2160
2343
  name: "Profile",
2161
- component: () => import("./UserProfilePage-Dmxp7oqP.js"),
2344
+ component: () => import("./UserProfilePage-BMmz7SGl.js"),
2162
2345
  meta: {
2163
2346
  title: "Profile",
2164
2347
  description: "Profile page for Category 5 App"
@@ -2167,7 +2350,7 @@ const userRoutes = [{
2167
2350
  {
2168
2351
  path: "password",
2169
2352
  name: "Password",
2170
- component: () => import("./ChangePasswordPage-D1LGJ02W.js"),
2353
+ component: () => import("./ChangePasswordPage-qLd6YZVO.js"),
2171
2354
  meta: {
2172
2355
  title: "Password",
2173
2356
  description: "Password page for Category 5 App"
@@ -4325,7 +4508,7 @@ const baseRoutes = [
4325
4508
  {
4326
4509
  path: authPaths.login.path,
4327
4510
  name: authPaths.login.name,
4328
- component: () => import("./LoginForm-D-gfB2hS.js"),
4511
+ component: () => import("./LoginForm-B5wYdKhY.js"),
4329
4512
  meta: {
4330
4513
  title: "Login",
4331
4514
  description: "Login page for Category 5 App"
@@ -4335,7 +4518,7 @@ const baseRoutes = [
4335
4518
  {
4336
4519
  path: authPaths.forgot_password.path,
4337
4520
  name: authPaths.forgot_password.name,
4338
- component: () => import("./ForgotPassword-LnjRUIY7.js"),
4521
+ component: () => import("./ForgotPassword-Xb1yVZ6C.js"),
4339
4522
  meta: {
4340
4523
  title: "Forgot Password",
4341
4524
  description: "Forgot Password page for Category 5 App"
@@ -4345,7 +4528,7 @@ const baseRoutes = [
4345
4528
  {
4346
4529
  path: authPaths.reset_password.path,
4347
4530
  name: authPaths.reset_password.name,
4348
- component: () => import("./ResetPassword-9DFz-Qt3.js"),
4531
+ component: () => import("./ResetPassword-ulR2HviU.js"),
4349
4532
  meta: {
4350
4533
  title: "Reset Password",
4351
4534
  description: "Reset Password page for Category 5 App"
@@ -4355,7 +4538,7 @@ const baseRoutes = [
4355
4538
  {
4356
4539
  path: authPaths.logout.path,
4357
4540
  name: authPaths.logout.name,
4358
- component: () => import("./Logout-Ctq-a1GS.js"),
4541
+ component: () => import("./Logout-qyH2t-1a.js"),
4359
4542
  meta: {
4360
4543
  title: "Logout",
4361
4544
  description: "Logout page for Category 5 App"
@@ -4364,7 +4547,7 @@ const baseRoutes = [
4364
4547
  {
4365
4548
  path: authPaths.mfa_setup.path,
4366
4549
  name: authPaths.mfa_setup.name,
4367
- component: () => import("./MfaSetup-6E6apXWC.js"),
4550
+ component: () => import("./MfaSetup-DMLXL9fk.js"),
4368
4551
  meta: {
4369
4552
  title: "Set Up Two-Factor Authentication",
4370
4553
  description: "Enable MFA for your account"
@@ -4373,7 +4556,7 @@ const baseRoutes = [
4373
4556
  {
4374
4557
  path: authPaths.mfa_verify.path,
4375
4558
  name: authPaths.mfa_verify.name,
4376
- component: () => import("./MfaVerify-C95WB9v2.js"),
4559
+ component: () => import("./MfaVerify-C4xGQZlQ.js"),
4377
4560
  meta: {
4378
4561
  title: "Verify Two-Factor Authentication",
4379
4562
  description: "Enter your MFA code to complete sign in"
@@ -4382,7 +4565,7 @@ const baseRoutes = [
4382
4565
  {
4383
4566
  path: authPaths.verify_email.path,
4384
4567
  name: authPaths.verify_email.name,
4385
- component: () => import("./VerifyEmail-DBKMZJMx.js"),
4568
+ component: () => import("./VerifyEmail-Xd31Com7.js"),
4386
4569
  meta: {
4387
4570
  title: "Verify Email",
4388
4571
  description: "Verify your email address"
@@ -4399,7 +4582,7 @@ const baseRoutes = [
4399
4582
  {
4400
4583
  path: authPaths.consent_required.path,
4401
4584
  name: authPaths.consent_required.name,
4402
- component: () => import("./ConsentRequired-Bhkxu0rv.js"),
4585
+ component: () => import("./ConsentRequired-DtUwfpk0.js"),
4403
4586
  meta: {
4404
4587
  title: "Consent Required",
4405
4588
  description: "Accept updated terms to continue"
@@ -4409,7 +4592,7 @@ const baseRoutes = [
4409
4592
  if (allowUserSignup) baseRoutes.splice(1, 0, {
4410
4593
  path: authPaths.register.path,
4411
4594
  name: authPaths.register.name,
4412
- component: () => import("./Signup-C052ykf5.js"),
4595
+ component: () => import("./Signup-D4xILUym.js"),
4413
4596
  meta: {
4414
4597
  title: "Register",
4415
4598
  description: "Register page for Category 5 App"
@@ -4515,7 +4698,7 @@ const adminRoutes = [{
4515
4698
  {
4516
4699
  path: "create-user",
4517
4700
  name: "CreateUser",
4518
- component: () => import("./CreateUserPage-C9uOeYDJ.js"),
4701
+ component: () => import("./CreateUserPage-D0oMJnGd.js"),
4519
4702
  meta: {
4520
4703
  title: "Create User",
4521
4704
  description: "Create User page for Category 5 App",
@@ -4528,7 +4711,7 @@ const adminRoutes = [{
4528
4711
  {
4529
4712
  path: "support-staff",
4530
4713
  name: "SupportStaff",
4531
- component: () => import("./SupportStaffPage-CLxWU628.js"),
4714
+ component: () => import("./SupportStaffPage--vinFIlV.js"),
4532
4715
  meta: {
4533
4716
  title: "Support Staff",
4534
4717
  description: "Manage users who can triage support tickets",
@@ -4541,7 +4724,7 @@ const adminRoutes = [{
4541
4724
  {
4542
4725
  path: "users",
4543
4726
  name: "UserManagement",
4544
- component: () => import("./UserListPage-9jhUu3TH.js"),
4727
+ component: () => import("./UserListPage-CYkvaHwL.js"),
4545
4728
  meta: {
4546
4729
  title: "User Management",
4547
4730
  description: "View and manage all users",
@@ -4554,7 +4737,7 @@ const adminRoutes = [{
4554
4737
  {
4555
4738
  path: "users/:id/edit",
4556
4739
  name: "EditUser",
4557
- component: () => import("./EditUserPage-AcRFhChk.js"),
4740
+ component: () => import("./EditUserPage-DCdj6EYd.js"),
4558
4741
  meta: {
4559
4742
  title: "Edit User",
4560
4743
  description: "Edit user role",
@@ -4577,7 +4760,7 @@ const adminRoutes = [{
4577
4760
  {
4578
4761
  path: "credit-management",
4579
4762
  name: "CreditManagement",
4580
- component: () => import("./CreditManagement-ByFH6IHV.js"),
4763
+ component: () => import("./CreditManagement-B4aHJfOo.js"),
4581
4764
  meta: {
4582
4765
  title: "Credit Management",
4583
4766
  description: "Manage customer credits and allocations",
@@ -4590,7 +4773,7 @@ const adminRoutes = [{
4590
4773
  {
4591
4774
  path: "support-ticket-maintenance",
4592
4775
  name: "SupportTicketMaintenance",
4593
- component: () => import("./SupportTicketMaintenancePage-B07avInx.js"),
4776
+ component: () => import("./SupportTicketMaintenancePage-C-BWD49g.js"),
4594
4777
  meta: {
4595
4778
  title: "Support Ticket Maintenance",
4596
4779
  description: "Admin utilities for fixing support ticket data",
@@ -4603,7 +4786,7 @@ const adminRoutes = [{
4603
4786
  {
4604
4787
  path: "signup-requirements",
4605
4788
  name: "SignupRequirements",
4606
- component: () => import("./SignupRequirementsPage-CwnsnQKb.js"),
4789
+ component: () => import("./SignupRequirementsPage-BnOkXd7w.js"),
4607
4790
  meta: {
4608
4791
  title: "Signup Requirements",
4609
4792
  description: "Configure consent checkboxes shown on signup and consent-required flows",
@@ -4616,7 +4799,7 @@ const adminRoutes = [{
4616
4799
  {
4617
4800
  path: "default-referral-team",
4618
4801
  name: "DefaultReferralTeam",
4619
- component: () => import("./DefaultReferralTeamPage-Be7-RI3s.js"),
4802
+ component: () => import("./DefaultReferralTeamPage-fS1SlVow.js"),
4620
4803
  meta: {
4621
4804
  title: "Default Referral Team",
4622
4805
  description: "Set the default team for unknown referral tags",
@@ -4644,7 +4827,7 @@ const creditRoutes = [{
4644
4827
  children: [{
4645
4828
  path: creditPaths.credit_balance.path,
4646
4829
  name: creditPaths.credit_balance.name,
4647
- component: () => import("./CreditBalanceDashboard-DZQqekKa.js"),
4830
+ component: () => import("./CreditBalanceDashboard-D370HlpF.js"),
4648
4831
  meta: {
4649
4832
  title: "Credit Balance",
4650
4833
  description: "View your current credit balance and history.",
@@ -4661,5 +4844,5 @@ const creditRoutes = [{
4661
4844
  }];
4662
4845
 
4663
4846
  //#endregion
4664
- export { userAlreadyLoggedIn as A, Admin_default as B, customerSupportTicketRowSchemaWithMetadata as C, teamFiltersSchemaWithMetadata as D, teamMemberFiltersSchemaWithMetadata as E, FieldGroup_default as F, RightSidebar_default as G, useEmailVerificationGuard as H, FieldDisplay_default as I, LoginButton_default as J, NotFound_default as K, InApp_default as L, SummarySection_default as M, KeyValueEditor_default as N, TeamAttachmentsTab_default as O, FileManager_default as P, DragoncoreVue as Q, Default_default as R, CustomerSupportTicketList_default as S, SupportTicketTimeline_default as T, Sidebar_default as U, UnverifiedEmailBanner_default as V, useBuildTag as W, AppHeader_default as X, InputModal_default as Y, AppTabNavigation_default as Z, ConvertToCustomerWorkflow_default as _, authPaths as a, ApproveRejectActions_default as b, useSupportTicketStatus as c, SupportTicketAttachments_default as d, CreditBalanceWidget_default as f, ConvertToInternalWorkflow_default as g, ReactivateInternalTaskWorkflow_default as h, SocialLoginButtons_default as i, timezones as j, userRoutes as k, useSupportTicketPermissions as l, adminSupportTicketRowSchemaWithMetadata as m, creditRoutes as n, authRoutes as o, StaffSupportTicketList_default as p, Navbar_default as q, adminRoutes as r, getAuthRoutes as s, creditPaths as t, adminSupportTicketFiltersSchemaWithMetadata as u, CompleteSupportTicketForm_default as v, SupportTicketStatusBadge_default as w, CustomerCreditBalance_default as x, CancelInternalTaskWorkflow_default as y, Auth_default as z };
4665
- //# sourceMappingURL=src-DSF_hIBe.js.map
4847
+ export { DragoncoreVue as $, userAlreadyLoggedIn as A, Auth_default as B, customerSupportTicketRowSchemaWithMetadata as C, teamFiltersSchemaWithMetadata as D, teamMemberFiltersSchemaWithMetadata as E, FieldGroup_default as F, useBuildTag as G, UnverifiedEmailBanner_default as H, FieldDisplay_default as I, Navbar_default as J, RightSidebar_default as K, Legal_default as L, SummarySection_default as M, KeyValueEditor_default as N, TeamAttachmentsTab_default as O, FileManager_default as P, AppTabNavigation_default as Q, InApp_default as R, CustomerSupportTicketList_default as S, SupportTicketTimeline_default as T, useEmailVerificationGuard as U, Admin_default as V, Sidebar_default as W, InputModal_default as X, LoginButton_default as Y, AppHeader_default as Z, ConvertToCustomerWorkflow_default as _, authPaths as a, ApproveRejectActions_default as b, useSupportTicketStatus as c, SupportTicketAttachments_default as d, CreditBalanceWidget_default as f, ConvertToInternalWorkflow_default as g, ReactivateInternalTaskWorkflow_default as h, SocialLoginButtons_default as i, timezones as j, userRoutes as k, useSupportTicketPermissions as l, adminSupportTicketRowSchemaWithMetadata as m, creditRoutes as n, authRoutes as o, StaffSupportTicketList_default as p, NotFound_default as q, adminRoutes as r, getAuthRoutes as s, creditPaths as t, adminSupportTicketFiltersSchemaWithMetadata as u, CompleteSupportTicketForm_default as v, SupportTicketStatusBadge_default as w, CustomerCreditBalance_default as x, CancelInternalTaskWorkflow_default as y, Default_default as z };
4848
+ //# sourceMappingURL=src-BXO0PrFd.js.map