@dragonmastery/dragoncore-vue 0.0.21 → 0.0.23

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 (245) hide show
  1. package/dist/{AppLink-CHMMrSFI.js → AppLink-FcNGKgvG.js} +1 -1
  2. package/dist/{AppLink-CHMMrSFI.js.map → AppLink-FcNGKgvG.js.map} +1 -1
  3. package/dist/Appearance-Ch4zfWZ3.js +3 -0
  4. package/dist/{Appearance-DxWTyx1M.js → Appearance-shr0Aql0.js} +1 -1
  5. package/dist/{Appearance-DxWTyx1M.js.map → Appearance-shr0Aql0.js.map} +1 -1
  6. package/dist/{ChangePasswordPage--3XwluwE.js → ChangePasswordPage-C633yQiU.js} +2 -2
  7. package/dist/{ChangePasswordPage--3XwluwE.js.map → ChangePasswordPage-C633yQiU.js.map} +1 -1
  8. package/dist/ChangePasswordPage-CYuCCosx.js +7 -0
  9. package/dist/ConfirmDialog-DjthOYU6.js +85 -0
  10. package/dist/ConfirmDialog-DjthOYU6.js.map +1 -0
  11. package/dist/ConsentRequired-BPjsZoPY.js +211 -0
  12. package/dist/ConsentRequired-BPjsZoPY.js.map +1 -0
  13. package/dist/CreateTeamForm-CeaC41VY.js +142 -0
  14. package/dist/CreateTeamForm-CeaC41VY.js.map +1 -0
  15. package/dist/CreateTeamForm-DfgCaUwX.js +12 -0
  16. package/dist/CreateTeamMemberForm-Bv9gNG4z.js +140 -0
  17. package/dist/CreateTeamMemberForm-Bv9gNG4z.js.map +1 -0
  18. package/dist/CreateTeamMemberForm-CnHfpob_.js +12 -0
  19. package/dist/CreateUserPage-C9uOeYDJ.js +7 -0
  20. package/dist/{CreateUserPage-DLwXeLAq.js → CreateUserPage-CqKcY7_X.js} +2 -2
  21. package/dist/{CreateUserPage-DLwXeLAq.js.map → CreateUserPage-CqKcY7_X.js.map} +1 -1
  22. package/dist/CreditBalanceDashboard-0HiJE_OS.js +13 -0
  23. package/dist/CreditBalanceDashboard-k_orNn4h.js +28 -0
  24. package/dist/CreditBalanceDashboard-k_orNn4h.js.map +1 -0
  25. package/dist/CreditManagement-BVBZQDI4.js +356 -0
  26. package/dist/CreditManagement-BVBZQDI4.js.map +1 -0
  27. package/dist/CreditManagement-DXdIN-0d.js +13 -0
  28. package/dist/CreditTransactionHistory-DSu-6aDi.js +229 -0
  29. package/dist/CreditTransactionHistory-DSu-6aDi.js.map +1 -0
  30. package/dist/CustomerCreateSupportTicketForm-BsjX8Pja.js +14 -0
  31. package/dist/CustomerCreateSupportTicketForm-kf8YIGjx.js +158 -0
  32. package/dist/CustomerCreateSupportTicketForm-kf8YIGjx.js.map +1 -0
  33. package/dist/{CustomerSupportTicketDetailPage-BdyaKG1v.js → CustomerSupportTicketDetailPage-C_-YoAaP.js} +12 -9
  34. package/dist/{CustomerSupportTicketDetailPage-BdyaKG1v.js.map → CustomerSupportTicketDetailPage-C_-YoAaP.js.map} +1 -1
  35. package/dist/CustomerSupportTicketList-DdACn3ug.js +63 -0
  36. package/dist/{CustomerSupportTicketParent-HIxwSVdu.js → CustomerSupportTicketParent-BpBuYCrP.js} +4 -4
  37. package/dist/{CustomerSupportTicketParent-HIxwSVdu.js.map → CustomerSupportTicketParent-BpBuYCrP.js.map} +1 -1
  38. package/dist/CustomerSupportTicketParent-Djy7pNqO.js +8 -0
  39. package/dist/CustomerSupportTicketSuccess-DsFzpJFU.js +12 -0
  40. package/dist/CustomerSupportTicketSuccess-cumNSGdx.js +54 -0
  41. package/dist/CustomerSupportTicketSuccess-cumNSGdx.js.map +1 -0
  42. package/dist/EditTeamForm-BE3iX2x3.js +12 -0
  43. package/dist/EditTeamForm-BxRN338L.js +163 -0
  44. package/dist/EditTeamForm-BxRN338L.js.map +1 -0
  45. package/dist/EditTeamMemberForm-D7D1Zddh.js +9 -0
  46. package/dist/{EditTeamMemberForm-CaS2GLjV.js → EditTeamMemberForm-DfgJr5Cy.js} +7 -72
  47. package/dist/EditTeamMemberForm-DfgJr5Cy.js.map +1 -0
  48. package/dist/EditUserPage-C0K7EGjM.js +8 -0
  49. package/dist/{EditUserPage-DURc5rmi.js → EditUserPage-CI_jtU8P.js} +4 -4
  50. package/dist/{EditUserPage-DURc5rmi.js.map → EditUserPage-CI_jtU8P.js.map} +1 -1
  51. package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js +189 -0
  52. package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js.map +1 -0
  53. package/dist/FieldsetSection-Cd4B8Ad7.js +27 -0
  54. package/dist/FieldsetSection-Cd4B8Ad7.js.map +1 -0
  55. package/dist/{ForgotPassword-OjIPi9s9.js → ForgotPassword-Ckb9Z-wb.js} +4 -4
  56. package/dist/{ForgotPassword-OjIPi9s9.js.map → ForgotPassword-Ckb9Z-wb.js.map} +1 -1
  57. package/dist/ForgotPassword-tJVSg7PB.js +8 -0
  58. package/dist/{TimelineSystemEvent-BHzFr46C.js → InlineAttachments-DAn_QknY.js} +60 -661
  59. package/dist/InlineAttachments-DAn_QknY.js.map +1 -0
  60. package/dist/{LoginForm-9UFnA-fO.js → LoginForm-CMN2T1fA.js} +5 -5
  61. package/dist/{LoginForm-9UFnA-fO.js.map → LoginForm-CMN2T1fA.js.map} +1 -1
  62. package/dist/LoginForm-QFJ8NHww.js +8 -0
  63. package/dist/{Logout-YgTgOFUH.js → Logout-CFLYHlLr.js} +5 -5
  64. package/dist/{Logout-YgTgOFUH.js.map → Logout-CFLYHlLr.js.map} +1 -1
  65. package/dist/Logout-CjDBff3W.js +8 -0
  66. package/dist/MfaSetup-BZcoxJx-.js +9 -0
  67. package/dist/{MfaSetup-RtFMY_dj.js → MfaSetup-XqoAwBXx.js} +5 -5
  68. package/dist/{MfaSetup-RtFMY_dj.js.map → MfaSetup-XqoAwBXx.js.map} +1 -1
  69. package/dist/{MfaVerify-Cvhe8bEM.js → MfaVerify-C-A75TFZ.js} +6 -6
  70. package/dist/{MfaVerify-Cvhe8bEM.js.map → MfaVerify-C-A75TFZ.js.map} +1 -1
  71. package/dist/MfaVerify-Dy2aV5Gk.js +9 -0
  72. package/dist/{RecordVersionViewer-BWZ78vvE.js → RecordVersionViewer-D2j10HdK.js} +1 -1
  73. package/dist/{RecordVersionViewer-BWZ78vvE.js.map → RecordVersionViewer-D2j10HdK.js.map} +1 -1
  74. package/dist/{ResetPassword-BE4mXK9q.js → ResetPassword-Cd-Yxp8E.js} +4 -4
  75. package/dist/{ResetPassword-BE4mXK9q.js.map → ResetPassword-Cd-Yxp8E.js.map} +1 -1
  76. package/dist/ResetPassword-D6to3G6a.js +8 -0
  77. package/dist/{SavedFiltersPage-DQt6uc8m.js → SavedFiltersPage-DM5DvAFa.js} +62 -34
  78. package/dist/{SavedFiltersPage-DQt6uc8m.js.map → SavedFiltersPage-DM5DvAFa.js.map} +1 -1
  79. package/dist/{Signup-9TjMMnU4.js → Signup-2pqvJiVt.js} +57 -57
  80. package/dist/Signup-2pqvJiVt.js.map +1 -0
  81. package/dist/Signup-XdImA1os.js +9 -0
  82. package/dist/{SignupConsentFlow-QUZGKjdB.js → SignupConsentFlow-X3kXuviv.js} +106 -70
  83. package/dist/SignupConsentFlow-X3kXuviv.js.map +1 -0
  84. package/dist/{SignupRequirementsPage-DfbYmpQD.js → SignupRequirementsPage-Cf-ElkEq.js} +9 -8
  85. package/dist/{SignupRequirementsPage-DfbYmpQD.js.map → SignupRequirementsPage-Cf-ElkEq.js.map} +1 -1
  86. package/dist/StaffCreateSupportTicketForm-BlUP2XXy.js +14 -0
  87. package/dist/StaffCreateSupportTicketForm-D2nn4rTU.js +255 -0
  88. package/dist/StaffCreateSupportTicketForm-D2nn4rTU.js.map +1 -0
  89. package/dist/{StaffSupportTicketDetailPage-DQdfh6H1.js → StaffSupportTicketDetailPage-MFtm06BE.js} +14 -11
  90. package/dist/{StaffSupportTicketDetailPage-DQdfh6H1.js.map → StaffSupportTicketDetailPage-MFtm06BE.js.map} +1 -1
  91. package/dist/StaffSupportTicketList-LfLx0pYP.js +63 -0
  92. package/dist/StaffSupportTicketParent-B7mEN1oD.js +8 -0
  93. package/dist/{StaffSupportTicketParent-CilR4RGM.js → StaffSupportTicketParent-BvPwgOqH.js} +4 -4
  94. package/dist/{StaffSupportTicketParent-CilR4RGM.js.map → StaffSupportTicketParent-BvPwgOqH.js.map} +1 -1
  95. package/dist/StaffSupportTicketSuccess-BMCOP3ko.js +12 -0
  96. package/dist/StaffSupportTicketSuccess-Ca2WrcRg.js +54 -0
  97. package/dist/StaffSupportTicketSuccess-Ca2WrcRg.js.map +1 -0
  98. package/dist/{SupportStaffPage-KKugAnFm.js → SupportStaffPage-B69-kuvg.js} +8 -7
  99. package/dist/{SupportStaffPage-KKugAnFm.js.map → SupportStaffPage-B69-kuvg.js.map} +1 -1
  100. package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js → SupportTicketDevLifecycleBadge-BoAjMb08.js} +1 -1
  101. package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js.map → SupportTicketDevLifecycleBadge-BoAjMb08.js.map} +1 -1
  102. package/dist/{SupportTicketMaintenancePage-smItdkrD.js → SupportTicketMaintenancePage-Bptja-xb.js} +5 -4
  103. package/dist/{SupportTicketMaintenancePage-smItdkrD.js.map → SupportTicketMaintenancePage-Bptja-xb.js.map} +1 -1
  104. package/dist/TeamAttachmentsTab-Dk3LxX3n.js +63 -0
  105. package/dist/TeamHistoryTab-CRONdHcL.js +6 -0
  106. package/dist/{TeamHistoryTab-D5biUPmq.js → TeamHistoryTab-DM8KBEG1.js} +7 -19
  107. package/dist/TeamHistoryTab-DM8KBEG1.js.map +1 -0
  108. package/dist/TeamList-DYm_vQ2z.js +8 -0
  109. package/dist/TeamList-qdwlMuJv.js +141 -0
  110. package/dist/TeamList-qdwlMuJv.js.map +1 -0
  111. package/dist/TeamMemberList-4LRLT_7Z.js +7 -0
  112. package/dist/TeamMemberList-DyI1U1t_.js +166 -0
  113. package/dist/TeamMemberList-DyI1U1t_.js.map +1 -0
  114. package/dist/TeamMemberParent-B63pRfI6.js +10 -0
  115. package/dist/TeamMemberParent-D9Fxu7GD.js +83 -0
  116. package/dist/TeamMemberParent-D9Fxu7GD.js.map +1 -0
  117. package/dist/TeamMembersTab-BGcdyEE8.js +3 -0
  118. package/dist/{TeamMembersTab-4gmnP9sD.js → TeamMembersTab-BigqpBDH.js} +1 -1
  119. package/dist/{TeamMembersTab-4gmnP9sD.js.map → TeamMembersTab-BigqpBDH.js.map} +1 -1
  120. package/dist/{TeamNotesTab-BzGZZ1h8.js → TeamNotesTab-BgxleidZ.js} +6 -5
  121. package/dist/{TeamNotesTab-BzGZZ1h8.js.map → TeamNotesTab-BgxleidZ.js.map} +1 -1
  122. package/dist/TeamNotesTab-o7glfjoY.js +8 -0
  123. package/dist/TeamParent-BwXqA3rj.js +83 -0
  124. package/dist/TeamParent-BwXqA3rj.js.map +1 -0
  125. package/dist/TeamParent-CFOmyKPz.js +11 -0
  126. package/dist/{TimelineNoteInput-0p-M4Qie.js → TimelineNoteInput-DXaodm43.js} +3 -2
  127. package/dist/{TimelineNoteInput-0p-M4Qie.js.map → TimelineNoteInput-DXaodm43.js.map} +1 -1
  128. package/dist/TimelineSystemEvent-zCMUx5Zz.js +525 -0
  129. package/dist/TimelineSystemEvent-zCMUx5Zz.js.map +1 -0
  130. package/dist/UserListPage-Bmwg0an5.js +5 -0
  131. package/dist/{UserListPage-DUE5gJTo.js → UserListPage-DtA8tLff.js} +4 -3
  132. package/dist/{UserListPage-DUE5gJTo.js.map → UserListPage-DtA8tLff.js.map} +1 -1
  133. package/dist/UserProfilePage-DRbCAr9H.js +8 -0
  134. package/dist/{UserProfilePage-C3b93Keh.js → UserProfilePage-g4-VEDXo.js} +4 -4
  135. package/dist/{UserProfilePage-C3b93Keh.js.map → UserProfilePage-g4-VEDXo.js.map} +1 -1
  136. package/dist/{VerifyEmail-DlOmWGG-.js → VerifyEmail-CM5ehFB8.js} +7 -7
  137. package/dist/{VerifyEmail-DlOmWGG-.js.map → VerifyEmail-CM5ehFB8.js.map} +1 -1
  138. package/dist/VerifyEmail-DMHczC9f.js +10 -0
  139. package/dist/ViewTeam-CXyABxE6.js +8 -0
  140. package/dist/ViewTeam-DSbKV60o.js +220 -0
  141. package/dist/ViewTeam-DSbKV60o.js.map +1 -0
  142. package/dist/ViewTeamMember-BB0nvPOe.js +167 -0
  143. package/dist/ViewTeamMember-BB0nvPOe.js.map +1 -0
  144. package/dist/ViewTeamMember-jrOnBaDh.js +7 -0
  145. package/dist/ZiniaContainer-CjVhCnGB.js +18 -0
  146. package/dist/ZiniaContainer-CjVhCnGB.js.map +1 -0
  147. package/dist/{convertToLocalDateTime-CFhtN6PI.js → convertToLocalDateTime-BF25N4xd.js} +1 -2
  148. package/dist/convertToLocalDateTime-BF25N4xd.js.map +1 -0
  149. package/dist/customerSupportTicketRoutes-C7OxGAGl.js +142 -0
  150. package/dist/customerSupportTicketRoutes-C7OxGAGl.js.map +1 -0
  151. package/dist/{displayIdFormatter-Dz900Awr.js → displayIdFormatter-B-_WQHOr.js} +1 -1
  152. package/dist/{displayIdFormatter-Dz900Awr.js.map → displayIdFormatter-B-_WQHOr.js.map} +1 -1
  153. package/dist/{extractRpcErrorMessage-Di8E8-Wh.js → extractRpcErrorMessage-diUBl6Ij.js} +1 -1
  154. package/dist/{extractRpcErrorMessage-Di8E8-Wh.js.map → extractRpcErrorMessage-diUBl6Ij.js.map} +1 -1
  155. package/dist/index.d.ts +793 -834
  156. package/dist/index.js +66 -38
  157. package/dist/{mfaSchema-BnRWf0ma.js → mfaSchema-Ukqzdyck.js} +1 -1
  158. package/dist/{mfaSchema-BnRWf0ma.js.map → mfaSchema-Ukqzdyck.js.map} +1 -1
  159. package/dist/saved_filter-CfzH0BzK.js +1210 -0
  160. package/dist/saved_filter-CfzH0BzK.js.map +1 -0
  161. package/dist/signupConsentStorage-DS9vCUuC.js +27 -0
  162. package/dist/signupConsentStorage-DS9vCUuC.js.map +1 -0
  163. package/dist/{src-CEBiyg_f.css → src-C6ZmNSSU.css} +1 -1
  164. package/dist/{src-CEBiyg_f.css.map → src-C6ZmNSSU.css.map} +1 -1
  165. package/dist/src-DVe_0RO9.js +4654 -0
  166. package/dist/src-DVe_0RO9.js.map +1 -0
  167. package/dist/staffSupportTicketRoutes-CWutoQWp.js +135 -0
  168. package/dist/staffSupportTicketRoutes-CWutoQWp.js.map +1 -0
  169. package/dist/teamMemberMetadata-CQnbVepq.js +49 -0
  170. package/dist/teamMemberMetadata-CQnbVepq.js.map +1 -0
  171. package/dist/teamMetadata-DlvwO5V0.js +53 -0
  172. package/dist/teamMetadata-DlvwO5V0.js.map +1 -0
  173. package/dist/teamRoutes-KFgnsdDP.js +192 -0
  174. package/dist/teamRoutes-KFgnsdDP.js.map +1 -0
  175. package/dist/team_memberRoutes-Cjpw_ql6.js +84 -0
  176. package/dist/team_memberRoutes-Cjpw_ql6.js.map +1 -0
  177. package/dist/{useBreadcrumbs-qB6ghsAf.js → useBreadcrumbs-DIqU5AAp.js} +1 -1
  178. package/dist/{useBreadcrumbs-qB6ghsAf.js.map → useBreadcrumbs-DIqU5AAp.js.map} +1 -1
  179. package/dist/{useEmailVerificationChannel-BNi926Ho.js → useEmailVerificationChannel-B51z65PN.js} +3 -3
  180. package/dist/{useEmailVerificationChannel-BNi926Ho.js.map → useEmailVerificationChannel-B51z65PN.js.map} +1 -1
  181. package/dist/{useMutation-BTsyHKyn.js → useMutation-BLNuJoYl.js} +6 -3
  182. package/dist/useMutation-BLNuJoYl.js.map +1 -0
  183. package/dist/{useQuery-BggIE52P.js → useQuery-BzUGEOj0.js} +4 -3
  184. package/dist/{useQuery-BggIE52P.js.map → useQuery-BzUGEOj0.js.map} +1 -1
  185. package/dist/{useQueryCache-Bjm-S8v5.js → useQueryCache-alzaRWEb.js} +2 -2
  186. package/dist/{useQueryCache-Bjm-S8v5.js.map → useQueryCache-alzaRWEb.js.map} +1 -1
  187. package/dist/{useReturnUrl-qFeazn-G.js → useReturnUrl-B5V3SJf5.js} +1 -1
  188. package/dist/{useReturnUrl-qFeazn-G.js.map → useReturnUrl-B5V3SJf5.js.map} +1 -1
  189. package/dist/{useRpcAuth-rmHf7bYx.js → useRpcAuth-CJtq1dqM.js} +25 -194
  190. package/dist/useRpcAuth-CJtq1dqM.js.map +1 -0
  191. package/dist/userAuthorized-C09FHWGL.js +185 -0
  192. package/dist/userAuthorized-C09FHWGL.js.map +1 -0
  193. package/package.json +3 -3
  194. package/dist/Appearance-D5pwxuf4.js +0 -3
  195. package/dist/ChangePasswordPage-CpDPmEml.js +0 -6
  196. package/dist/ConsentRequired-C4IRMA0c.js +0 -213
  197. package/dist/ConsentRequired-C4IRMA0c.js.map +0 -1
  198. package/dist/CreateTeamForm-B4cIuYAf.js +0 -35
  199. package/dist/CreateTeamMemberForm-Chrw1y00.js +0 -35
  200. package/dist/CreateUserPage-WruMs7WP.js +0 -6
  201. package/dist/CreditBalanceDashboard-CkcsrZ_e.js +0 -35
  202. package/dist/CreditManagement-Ddvu9dMw.js +0 -35
  203. package/dist/CustomerCreateSupportTicketForm-BKperKGS.js +0 -35
  204. package/dist/CustomerSupportTicketList-DcbrjDa9.js +0 -35
  205. package/dist/CustomerSupportTicketParent-BeNzUwuP.js +0 -7
  206. package/dist/CustomerSupportTicketSuccess-CC967u3y.js +0 -35
  207. package/dist/EditTeamForm-B5Tee5wL.js +0 -35
  208. package/dist/EditTeamMemberForm-CaS2GLjV.js.map +0 -1
  209. package/dist/EditTeamMemberForm-OtcS8QWt.js +0 -6
  210. package/dist/EditUserPage-T4DQlKhf.js +0 -7
  211. package/dist/ForgotPassword-CUifhmqP.js +0 -7
  212. package/dist/LoginForm-Bg7GoZEA.js +0 -7
  213. package/dist/Logout-Bs92csWH.js +0 -7
  214. package/dist/MfaSetup-BACX5XP-.js +0 -8
  215. package/dist/MfaVerify-ak4iSdQ2.js +0 -8
  216. package/dist/ResetPassword-pY1uhTdl.js +0 -7
  217. package/dist/Signup-9TjMMnU4.js.map +0 -1
  218. package/dist/Signup-Bq-G3D-s.js +0 -9
  219. package/dist/SignupConsentFlow-QUZGKjdB.js.map +0 -1
  220. package/dist/StaffCreateSupportTicketForm-D0ZuisDk.js +0 -35
  221. package/dist/StaffSupportTicketList-CiqC05XB.js +0 -35
  222. package/dist/StaffSupportTicketParent-DkV329NI.js +0 -7
  223. package/dist/StaffSupportTicketSuccess-CUYnimaI.js +0 -35
  224. package/dist/TeamAttachmentsTab-DUtCD1Yi.js +0 -35
  225. package/dist/TeamHistoryTab-BsUoH4VK.js +0 -4
  226. package/dist/TeamHistoryTab-D5biUPmq.js.map +0 -1
  227. package/dist/TeamList-BkPIqZ8V.js +0 -35
  228. package/dist/TeamMemberList-1mxUGCNa.js +0 -35
  229. package/dist/TeamMemberParent-DzeBIElY.js +0 -35
  230. package/dist/TeamMembersTab-CBB2Yl_I.js +0 -3
  231. package/dist/TeamNotesTab-ClHl2nXd.js +0 -7
  232. package/dist/TeamParent-DJa9UZTP.js +0 -35
  233. package/dist/TimelineSystemEvent-BHzFr46C.js.map +0 -1
  234. package/dist/UserListPage-BTLE4J0s.js +0 -4
  235. package/dist/UserProfilePage-CVTORtSx.js +0 -7
  236. package/dist/VerifyEmail-DCP4DWIw.js +0 -9
  237. package/dist/ViewTeam-DVfnLMhV.js +0 -35
  238. package/dist/ViewTeamMember-L4v3gCIn.js +0 -35
  239. package/dist/convertToLocalDateTime-CFhtN6PI.js.map +0 -1
  240. package/dist/src-QZJyMfGX.js +0 -8951
  241. package/dist/src-QZJyMfGX.js.map +0 -1
  242. package/dist/useMutation-BTsyHKyn.js.map +0 -1
  243. package/dist/useRpcAuth-rmHf7bYx.js.map +0 -1
  244. package/dist/useSignupPendingData-BWHwUHhL.js +0 -47
  245. package/dist/useSignupPendingData-BWHwUHhL.js.map +0 -1
@@ -1,118 +1,38 @@
1
- import { l as useUserSessionStore, m as useEnv } from "./useRpcAuth-rmHf7bYx.js";
2
- import { t as useMutation } from "./useMutation-BTsyHKyn.js";
3
- import { t as useQuery } from "./useQuery-BggIE52P.js";
4
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, toDisplayString, unref, watch, withModifiers } from "vue";
1
+ import { d as useEnv, o as useUserSessionStore } from "./useRpcAuth-CJtq1dqM.js";
2
+ import { t as useMutation } from "./useMutation-BLNuJoYl.js";
3
+ import { t as useQuery } from "./useQuery-BzUGEOj0.js";
4
+ import { t as ConfirmDialog_default } from "./ConfirmDialog-DjthOYU6.js";
5
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, ref, renderList, toDisplayString, unref, watch, withModifiers } from "vue";
5
6
 
6
- //#region src/components/ConfirmDialog.vue
7
- const _hoisted_1$7 = { class: "font-bold text-lg mb-4" };
8
- const _hoisted_2$4 = { class: "py-4" };
9
- const _hoisted_3$4 = { class: "modal-action" };
10
- const _hoisted_4$4 = ["disabled"];
11
- const _hoisted_5$4 = ["disabled"];
12
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13
- __name: "ConfirmDialog",
14
- props: {
15
- modelValue: { type: Boolean },
16
- title: { default: "Confirm" },
17
- message: { default: "Are you sure?" },
18
- confirmText: { default: "Confirm" },
19
- cancelText: { default: "Cancel" },
20
- processingText: { default: "Processing..." },
21
- confirmButtonClass: { default: "btn-primary" },
22
- isProcessing: {
23
- type: Boolean,
24
- default: false
25
- }
26
- },
27
- emits: [
28
- "update:modelValue",
29
- "confirm",
30
- "cancel"
31
- ],
32
- setup(__props, { emit: __emit }) {
33
- const props = __props;
34
- const emit = __emit;
35
- const dialogRef = ref(null);
36
- const isOpen = ref(props.modelValue);
37
- watch(() => props.modelValue, (newValue) => {
38
- isOpen.value = newValue;
39
- if (newValue && dialogRef.value) dialogRef.value.showModal();
40
- else if (dialogRef.value) dialogRef.value.close();
41
- }, { immediate: true });
42
- watch(isOpen, (newValue) => {
43
- if (newValue && dialogRef.value) dialogRef.value.showModal();
44
- else if (dialogRef.value) dialogRef.value.close();
45
- });
46
- const handleConfirm = () => {
47
- emit("confirm");
48
- };
49
- const handleCancel = () => {
50
- isOpen.value = false;
51
- emit("update:modelValue", false);
52
- emit("cancel");
53
- };
54
- const handleBackdropClick = (event) => {
55
- if (event.target === dialogRef.value) handleCancel();
56
- };
57
- return (_ctx, _cache) => {
58
- return openBlock(), createElementBlock("dialog", {
59
- ref_key: "dialogRef",
60
- ref: dialogRef,
61
- class: normalizeClass(["modal", { "modal-open": isOpen.value }]),
62
- onClick: handleBackdropClick
63
- }, [createElementVNode("div", {
64
- class: "modal-box",
65
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
66
- }, [
67
- createElementVNode("h3", _hoisted_1$7, toDisplayString(__props.title), 1),
68
- createElementVNode("div", _hoisted_2$4, [renderSlot(_ctx.$slots, "message", {}, () => [createElementVNode("p", null, toDisplayString(__props.message), 1)])]),
69
- createElementVNode("div", _hoisted_3$4, [createElementVNode("button", {
70
- class: "btn btn-outline",
71
- onClick: withModifiers(handleCancel, ["prevent"]),
72
- disabled: __props.isProcessing,
73
- type: "button"
74
- }, toDisplayString(__props.cancelText), 9, _hoisted_4$4), createElementVNode("button", {
75
- class: normalizeClass(["btn", __props.confirmButtonClass]),
76
- onClick: withModifiers(handleConfirm, ["prevent"]),
77
- disabled: __props.isProcessing,
78
- type: "button"
79
- }, toDisplayString(__props.isProcessing ? __props.processingText : __props.confirmText), 11, _hoisted_5$4)])
80
- ])], 2);
81
- };
82
- }
83
- });
84
- var ConfirmDialog_default = _sfc_main$7;
85
-
86
- //#endregion
87
7
  //#region src/components/ImageModal.vue
88
- const _hoisted_1$6 = { class: "modal-box w-full max-w-full h-full max-h-full p-0 flex flex-col bg-base-100" };
89
- const _hoisted_2$3 = { class: "flex items-center justify-between p-3 sm:p-4 border-b border-base-300 flex-shrink-0 bg-base-100/95 backdrop-blur" };
90
- const _hoisted_3$3 = { class: "flex-1 min-w-0 mr-2" };
91
- const _hoisted_4$3 = { class: "font-semibold text-sm sm:text-base truncate" };
92
- const _hoisted_5$3 = {
8
+ const _hoisted_1$1 = { class: "modal-box w-full max-w-full h-full max-h-full p-0 flex flex-col bg-base-100" };
9
+ const _hoisted_2$1 = { class: "flex items-center justify-between p-3 sm:p-4 border-b border-base-300 flex-shrink-0 bg-base-100/95 backdrop-blur" };
10
+ const _hoisted_3$1 = { class: "flex-1 min-w-0 mr-2" };
11
+ const _hoisted_4$1 = { class: "font-semibold text-sm sm:text-base truncate" };
12
+ const _hoisted_5$1 = {
93
13
  key: 0,
94
14
  class: "text-xs text-base-content/60 mt-0.5"
95
15
  };
96
- const _hoisted_6$3 = { class: "flex items-center gap-1 sm:gap-2 flex-shrink-0" };
97
- const _hoisted_7$2 = {
16
+ const _hoisted_6$1 = { class: "flex items-center gap-1 sm:gap-2 flex-shrink-0" };
17
+ const _hoisted_7$1 = {
98
18
  key: 0,
99
19
  class: "absolute inset-0 flex items-center justify-center"
100
20
  };
101
- const _hoisted_8$2 = {
21
+ const _hoisted_8$1 = {
102
22
  key: 1,
103
23
  class: "absolute inset-0 flex flex-col items-center justify-center p-4 text-center"
104
24
  };
105
- const _hoisted_9$2 = ["src", "alt"];
106
- const _hoisted_10$2 = ["disabled"];
107
- const _hoisted_11$2 = ["disabled"];
108
- const _hoisted_12$2 = {
25
+ const _hoisted_9$1 = ["src", "alt"];
26
+ const _hoisted_10$1 = ["disabled"];
27
+ const _hoisted_11$1 = ["disabled"];
28
+ const _hoisted_12$1 = {
109
29
  method: "dialog",
110
30
  class: "modal-backdrop"
111
31
  };
112
32
  const minScale = .5;
113
33
  const maxScale = 5;
114
34
  const zoomStep = .05;
115
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
35
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
116
36
  __name: "ImageModal",
117
37
  props: {
118
38
  isOpen: { type: Boolean },
@@ -542,9 +462,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
542
462
  class: normalizeClass(["modal", { "modal-open": isOpen.value }]),
543
463
  onClick: handleBackdropClick,
544
464
  onKeydown: handleKeydown
545
- }, [createElementVNode("div", _hoisted_1$6, [
465
+ }, [createElementVNode("div", _hoisted_1$1, [
546
466
  createCommentVNode(" Header "),
547
- createElementVNode("div", _hoisted_2$3, [createElementVNode("div", _hoisted_3$3, [createElementVNode("h3", _hoisted_4$3, toDisplayString(__props.imageName), 1), __props.imageIndex !== null && __props.totalImages !== null ? (openBlock(), createElementBlock("p", _hoisted_5$3, toDisplayString(__props.imageIndex + 1) + " / " + toDisplayString(__props.totalImages), 1)) : createCommentVNode("v-if", true)]), createElementVNode("div", _hoisted_6$3, [
467
+ createElementVNode("div", _hoisted_2$1, [createElementVNode("div", _hoisted_3$1, [createElementVNode("h3", _hoisted_4$1, toDisplayString(__props.imageName), 1), __props.imageIndex !== null && __props.totalImages !== null ? (openBlock(), createElementBlock("p", _hoisted_5$1, toDisplayString(__props.imageIndex + 1) + " / " + toDisplayString(__props.totalImages), 1)) : createCommentVNode("v-if", true)]), createElementVNode("div", _hoisted_6$1, [
548
468
  createCommentVNode(" Navigation buttons (if multiple images) "),
549
469
  showNavigation.value && __props.imageIndex !== null && __props.imageIndex > 0 ? (openBlock(), createElementBlock("button", {
550
470
  key: 0,
@@ -631,9 +551,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
631
551
  class: "flex-1 flex items-center justify-center overflow-hidden bg-base-200 relative"
632
552
  }, [
633
553
  createCommentVNode(" Loading state "),
634
- isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_7$2, [..._cache[8] || (_cache[8] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : createCommentVNode("v-if", true),
554
+ isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_7$1, [..._cache[8] || (_cache[8] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : createCommentVNode("v-if", true),
635
555
  createCommentVNode(" Error state "),
636
- hasError.value ? (openBlock(), createElementBlock("div", _hoisted_8$2, [..._cache[9] || (_cache[9] = [createElementVNode("svg", {
556
+ hasError.value ? (openBlock(), createElementBlock("div", _hoisted_8$1, [..._cache[9] || (_cache[9] = [createElementVNode("svg", {
637
557
  xmlns: "http://www.w3.org/2000/svg",
638
558
  class: "h-12 w-12 text-error mb-2",
639
559
  fill: "none",
@@ -660,7 +580,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
660
580
  onTouchstart: withModifiers(handleImageTouchStart, ["stop"]),
661
581
  onTouchmove: withModifiers(handleImageTouchMove, ["stop"]),
662
582
  onTouchend: withModifiers(handleImageTouchEnd, ["stop"])
663
- }, null, 46, _hoisted_9$2)) : createCommentVNode("v-if", true),
583
+ }, null, 46, _hoisted_9$1)) : createCommentVNode("v-if", true),
664
584
  createCommentVNode(" Zoom controls "),
665
585
  __props.imageSrc && !hasError.value ? (openBlock(), createElementBlock("div", {
666
586
  key: 3,
@@ -688,7 +608,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
688
608
  "stroke-linejoin": "round",
689
609
  "stroke-width": "2",
690
610
  d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM13 10H7"
691
- })], -1)])], 8, _hoisted_10$2),
611
+ })], -1)])], 8, _hoisted_10$1),
692
612
  createElementVNode("button", {
693
613
  onClick: withModifiers(resetZoom, ["prevent"]),
694
614
  class: "text-xs flex items-center px-2 text-base-content/70 hover:text-base-content hover:bg-base-200 rounded transition-colors cursor-pointer",
@@ -714,7 +634,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
714
634
  "stroke-linejoin": "round",
715
635
  "stroke-width": "2",
716
636
  d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v6m3-3H7"
717
- })], -1)])], 8, _hoisted_11$2),
637
+ })], -1)])], 8, _hoisted_11$1),
718
638
  createElementVNode("button", {
719
639
  onClick: withModifiers(rotateImage, ["prevent"]),
720
640
  class: "btn btn-sm btn-circle btn-ghost",
@@ -737,100 +657,53 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
737
657
  })], -1)])])
738
658
  ], 32)) : createCommentVNode("v-if", true)
739
659
  ], 512)
740
- ]), createElementVNode("form", _hoisted_12$2, [createElementVNode("button", {
660
+ ]), createElementVNode("form", _hoisted_12$1, [createElementVNode("button", {
741
661
  type: "button",
742
662
  onClick: withModifiers(handleClose, ["prevent"])
743
663
  }, "close")])], 34);
744
664
  };
745
665
  }
746
666
  });
747
- var ImageModal_default = _sfc_main$6;
748
-
749
- //#endregion
750
- //#region src/slices/support_ticket/utils/creditValueFormatter.ts
751
- /**
752
- * Helper function to check if credit value is empty
753
- */
754
- function isCreditValueEmpty(value) {
755
- return value === null || value === void 0 || value.trim() === "";
756
- }
757
- /**
758
- * Core credit formatting logic
759
- */
760
- function formatCreditValueCore(creditValue) {
761
- if (isCreditValueEmpty(creditValue)) return "TBD";
762
- const trimmed = creditValue.trim();
763
- if (parseFloat(trimmed) === 0) return "0";
764
- return trimmed.replace(/\.?0+$/, "");
765
- }
766
- /**
767
- * Formats credit value for staff views (includes internal ticket logic)
768
- *
769
- * @param creditValue - The credit value from the database
770
- * @param approvalStatus - The approval status to determine display logic
771
- * @returns Formatted string for display
772
- *
773
- * @example
774
- * formatStaffCreditValue("5.50", "PENDING") // "5.5"
775
- * formatStaffCreditValue("10", "INTERNAL") // "N/A"
776
- */
777
- function formatStaffCreditValue(creditValue, approvalStatus) {
778
- if (approvalStatus === "INTERNAL") return "N/A";
779
- return formatCreditValueCore(creditValue);
780
- }
781
- /**
782
- * Formats credit value for customer views (status-based logic)
783
- *
784
- * @param creditValue - The credit value from the database
785
- * @param status - The computed status from the customer query
786
- * @returns Formatted string for display
787
- *
788
- * @example
789
- * formatCustomerCreditValue("5.50", "PENDING") // "5.5"
790
- * formatCustomerCreditValue("5.50", "FOLLOWUP") // "5.5"
791
- */
792
- function formatCustomerCreditValue(creditValue) {
793
- return formatCreditValueCore(creditValue);
794
- }
667
+ var ImageModal_default = _sfc_main$1;
795
668
 
796
669
  //#endregion
797
670
  //#region src/slices/support_ticket/shared/InlineAttachments.vue
798
- const _hoisted_1$5 = { class: "mt-4 sm:mt-6" };
799
- const _hoisted_2$2 = {
671
+ const _hoisted_1 = { class: "mt-4 sm:mt-6" };
672
+ const _hoisted_2 = {
800
673
  key: 0,
801
674
  class: "grid grid-cols-2 gap-2 sm:gap-4 mb-4"
802
675
  };
803
- const _hoisted_3$2 = {
676
+ const _hoisted_3 = {
804
677
  key: 0,
805
678
  class: "hidden sm:block text-xs text-base-content/50"
806
679
  };
807
- const _hoisted_4$2 = {
680
+ const _hoisted_4 = {
808
681
  key: 1,
809
682
  class: "mb-4 space-y-2"
810
683
  };
811
- const _hoisted_5$2 = { class: "flex-1 min-w-0" };
812
- const _hoisted_6$2 = { class: "text-xs sm:text-sm font-medium truncate" };
813
- const _hoisted_7$1 = {
684
+ const _hoisted_5 = { class: "flex-1 min-w-0" };
685
+ const _hoisted_6 = { class: "text-xs sm:text-sm font-medium truncate" };
686
+ const _hoisted_7 = {
814
687
  key: 0,
815
688
  class: "w-full bg-base-300 rounded-full h-1.5 mt-1"
816
689
  };
817
- const _hoisted_8$1 = {
690
+ const _hoisted_8 = {
818
691
  key: 1,
819
692
  class: "text-xs text-error mt-1 break-words"
820
693
  };
821
- const _hoisted_9$1 = { class: "flex gap-2 sm:gap-1" };
822
- const _hoisted_10$1 = ["onClick"];
823
- const _hoisted_11$1 = ["onClick"];
824
- const _hoisted_12$1 = {
694
+ const _hoisted_9 = { class: "flex gap-2 sm:gap-1" };
695
+ const _hoisted_10 = ["onClick"];
696
+ const _hoisted_11 = ["onClick"];
697
+ const _hoisted_12 = {
825
698
  key: 2,
826
699
  class: "space-y-2"
827
700
  };
828
- const _hoisted_13$1 = {
701
+ const _hoisted_13 = {
829
702
  key: 0,
830
703
  class: "flex justify-center py-4"
831
704
  };
832
- const _hoisted_14$1 = ["onClick"];
833
- const _hoisted_15$1 = { class: "flex items-center gap-2 sm:gap-3 flex-1 min-w-0 w-full sm:w-auto" };
705
+ const _hoisted_14 = ["onClick"];
706
+ const _hoisted_15 = { class: "flex items-center gap-2 sm:gap-3 flex-1 min-w-0 w-full sm:w-auto" };
834
707
  const _hoisted_16 = { class: "flex-shrink-0" };
835
708
  const _hoisted_17 = {
836
709
  key: 0,
@@ -851,7 +724,7 @@ const _hoisted_26 = {
851
724
  key: 3,
852
725
  class: "text-center py-8 text-base-content/50"
853
726
  };
854
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
727
+ const _sfc_main = /* @__PURE__ */ defineComponent({
855
728
  __name: "InlineAttachments",
856
729
  props: {
857
730
  recordId: {},
@@ -1204,7 +1077,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1204
1077
  });
1205
1078
  }, { immediate: true });
1206
1079
  return (_ctx, _cache) => {
1207
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
1080
+ return openBlock(), createElementBlock("div", _hoisted_1, [
1208
1081
  createElementVNode("input", {
1209
1082
  ref_key: "fileInput",
1210
1083
  ref: fileInput,
@@ -1214,7 +1087,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1214
1087
  onChange: handleFileSelect
1215
1088
  }, null, 544),
1216
1089
  createCommentVNode(" Drag & Drop and Paste: compact button-like on mobile, expanded on desktop "),
1217
- __props.canUpload ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
1090
+ __props.canUpload ? (openBlock(), createElementBlock("div", _hoisted_2, [
1218
1091
  createCommentVNode(" Drag & Drop Zone "),
1219
1092
  createElementVNode("div", {
1220
1093
  class: normalizeClass(["flex flex-col items-center justify-center gap-1 sm:gap-2 py-2.5 px-2 sm:py-6 sm:px-4 rounded-lg border-2 border-dashed transition-colors cursor-pointer touch-manipulation text-center", {
@@ -1240,7 +1113,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1240
1113
  })], -1)),
1241
1114
  _cache[5] || (_cache[5] = createElementVNode("span", { class: "text-xs sm:text-lg font-medium" }, "Browse", -1)),
1242
1115
  _cache[6] || (_cache[6] = createElementVNode("span", { class: "hidden sm:inline text-xs text-base-content/70" }, "Drag and drop or click", -1)),
1243
- !__props.recordId ? (openBlock(), createElementBlock("p", _hoisted_3$2, " Queued until ticket is created ")) : createCommentVNode("v-if", true)
1116
+ !__props.recordId ? (openBlock(), createElementBlock("p", _hoisted_3, " Queued until ticket is created ")) : createCommentVNode("v-if", true)
1244
1117
  ], 34),
1245
1118
  createCommentVNode(" Paste zone - collapse handles visibility via CSS, so no unmount during animation "),
1246
1119
  createElementVNode("div", {
@@ -1267,36 +1140,36 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1267
1140
  ])], 32)
1268
1141
  ])) : createCommentVNode("v-if", true),
1269
1142
  createCommentVNode(" Upload Queue "),
1270
- uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_4$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(uploadQueue.value, (item) => {
1143
+ uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList(uploadQueue.value, (item) => {
1271
1144
  return openBlock(), createElementBlock("div", {
1272
1145
  key: item.id,
1273
1146
  class: "flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-3 p-2 sm:p-3 bg-base-200 rounded-lg"
1274
- }, [createElementVNode("div", _hoisted_5$2, [
1275
- createElementVNode("div", _hoisted_6$2, toDisplayString(item.file.name), 1),
1276
- item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_7$1, [createElementVNode("div", {
1147
+ }, [createElementVNode("div", _hoisted_5, [
1148
+ createElementVNode("div", _hoisted_6, toDisplayString(item.file.name), 1),
1149
+ item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_7, [createElementVNode("div", {
1277
1150
  class: "bg-primary h-1.5 rounded-full transition-all",
1278
1151
  style: normalizeStyle({ width: `${item.progress}%` })
1279
1152
  }, null, 4)])) : createCommentVNode("v-if", true),
1280
- item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_8$1, toDisplayString(item.errorMessage), 1)) : createCommentVNode("v-if", true)
1281
- ]), createElementVNode("div", _hoisted_9$1, [item.status === "error" ? (openBlock(), createElementBlock("button", {
1153
+ item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString(item.errorMessage), 1)) : createCommentVNode("v-if", true)
1154
+ ]), createElementVNode("div", _hoisted_9, [item.status === "error" ? (openBlock(), createElementBlock("button", {
1282
1155
  key: 0,
1283
1156
  onClick: withModifiers(($event) => retryUpload(item), ["prevent"]),
1284
1157
  class: "btn btn-xs btn-ghost flex-1 sm:flex-none",
1285
1158
  type: "button"
1286
- }, " Retry ", 8, _hoisted_10$1)) : createCommentVNode("v-if", true), item.status !== "uploading" ? (openBlock(), createElementBlock("button", {
1159
+ }, " Retry ", 8, _hoisted_10)) : createCommentVNode("v-if", true), item.status !== "uploading" ? (openBlock(), createElementBlock("button", {
1287
1160
  key: 1,
1288
1161
  onClick: withModifiers(($event) => removeFromQueue(item.id), ["prevent"]),
1289
1162
  class: "btn btn-xs btn-ghost text-error flex-1 sm:flex-none",
1290
1163
  type: "button"
1291
- }, " Remove ", 8, _hoisted_11$1)) : createCommentVNode("v-if", true)])]);
1164
+ }, " Remove ", 8, _hoisted_11)) : createCommentVNode("v-if", true)])]);
1292
1165
  }), 128))])) : createCommentVNode("v-if", true),
1293
1166
  createCommentVNode(" Attachments List "),
1294
- (attachments.value.length > 0 || unref(attachmentsLoading)) && __props.recordId ? (openBlock(), createElementBlock("div", _hoisted_12$1, [unref(attachmentsLoading) ? (openBlock(), createElementBlock("div", _hoisted_13$1, [..._cache[8] || (_cache[8] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1)])])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file) => {
1167
+ (attachments.value.length > 0 || unref(attachmentsLoading)) && __props.recordId ? (openBlock(), createElementBlock("div", _hoisted_12, [unref(attachmentsLoading) ? (openBlock(), createElementBlock("div", _hoisted_13, [..._cache[8] || (_cache[8] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1)])])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file) => {
1295
1168
  return openBlock(), createElementBlock("div", {
1296
1169
  key: file.id,
1297
1170
  class: normalizeClass(["flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-3 p-2 sm:p-3 bg-base-100 border border-base-300 rounded-lg hover:bg-base-200 transition-colors", { "cursor-pointer": isImage(file.type) }]),
1298
1171
  onClick: withModifiers(($event) => isImage(file.type) && viewImage(file), ["prevent"])
1299
- }, [createElementVNode("div", _hoisted_15$1, [createElementVNode("div", _hoisted_16, [createCommentVNode(" Image thumbnail preview "), isImage(file.type) ? (openBlock(), createElementBlock("div", _hoisted_17, [getImageUrlSync(file.id) ? (openBlock(), createElementBlock("img", {
1172
+ }, [createElementVNode("div", _hoisted_15, [createElementVNode("div", _hoisted_16, [createCommentVNode(" Image thumbnail preview "), isImage(file.type) ? (openBlock(), createElementBlock("div", _hoisted_17, [getImageUrlSync(file.id) ? (openBlock(), createElementBlock("img", {
1300
1173
  key: 0,
1301
1174
  src: getImageUrlSync(file.id),
1302
1175
  alt: file.name,
@@ -1364,7 +1237,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1364
1237
  "stroke-width": "2",
1365
1238
  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"
1366
1239
  })], -1)])], 8, _hoisted_25)) : createCommentVNode("v-if", true)
1367
- ])], 10, _hoisted_14$1);
1240
+ ])], 10, _hoisted_14);
1368
1241
  }), 128))])) : !unref(attachmentsLoading) && __props.recordId ? (openBlock(), createElementBlock("div", _hoisted_26, [..._cache[13] || (_cache[13] = [createElementVNode("svg", {
1369
1242
  xmlns: "http://www.w3.org/2000/svg",
1370
1243
  class: "h-12 w-12 mx-auto mb-2 opacity-50",
@@ -1416,482 +1289,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1416
1289
  };
1417
1290
  }
1418
1291
  });
1419
- var InlineAttachments_default = _sfc_main$5;
1420
-
1421
- //#endregion
1422
- //#region src/slices/support_ticket/shared/SupportTicketPriorityBadge.vue
1423
- const _hoisted_1$4 = ["aria-label"];
1424
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1425
- __name: "SupportTicketPriorityBadge",
1426
- props: {
1427
- priority: {},
1428
- size: { default: "md" },
1429
- variant: { default: "default" }
1430
- },
1431
- setup(__props) {
1432
- /**
1433
- * SupportTicketPriorityBadge - A reusable Vue component for displaying support ticket priority
1434
- * as color-coded badges with consistent DaisyUI styling and accessibility features.
1435
- *
1436
- * @example
1437
- * <SupportTicketPriorityBadge :priority="'HIGH'" size="md" />
1438
- * <SupportTicketPriorityBadge :priority="'CRITICAL'" size="sm" variant="outline" />
1439
- */
1440
- const props = __props;
1441
- /**
1442
- * Configuration for each priority badge
1443
- */
1444
- const priorityConfig = {
1445
- LOW: {
1446
- color: "badge-neutral",
1447
- text: "Low",
1448
- ariaLabel: "Priority: Low priority"
1449
- },
1450
- MEDIUM: {
1451
- color: "badge-neutral",
1452
- text: "Medium",
1453
- ariaLabel: "Priority: Medium priority"
1454
- },
1455
- HIGH: {
1456
- color: "badge-neutral",
1457
- text: "High",
1458
- ariaLabel: "Priority: High priority"
1459
- },
1460
- CRITICAL: {
1461
- color: "badge-neutral",
1462
- text: "Critical",
1463
- ariaLabel: "Priority: Critical priority"
1464
- }
1465
- };
1466
- const getPriorityConfig = (priority) => {
1467
- const config$1 = priorityConfig[priority];
1468
- if (!config$1) return {
1469
- color: "badge-neutral",
1470
- text: priority || "Unknown",
1471
- ariaLabel: `Priority: ${priority || "Unknown priority"}`
1472
- };
1473
- return config$1;
1474
- };
1475
- const config = computed(() => getPriorityConfig(props.priority));
1476
- const badgeClasses = computed(() => {
1477
- const baseClasses = ["badge", "text-xs"];
1478
- baseClasses.push(config.value.color);
1479
- if (props.size === "sm") baseClasses.push("badge-sm", "text-xs");
1480
- else if (props.size === "lg") baseClasses.push("badge-lg", "text-sm");
1481
- else baseClasses.push("text-xs", "sm:text-sm");
1482
- if (props.variant === "outline") baseClasses.push("badge-outline");
1483
- return baseClasses.join(" ");
1484
- });
1485
- const displayText = computed(() => config.value.text);
1486
- const ariaLabel = computed(() => config.value.ariaLabel);
1487
- return (_ctx, _cache) => {
1488
- return openBlock(), createElementBlock("div", {
1489
- class: normalizeClass(badgeClasses.value),
1490
- "aria-label": ariaLabel.value,
1491
- role: "status"
1492
- }, toDisplayString(displayText.value), 11, _hoisted_1$4);
1493
- };
1494
- }
1495
- });
1496
- var SupportTicketPriorityBadge_default = _sfc_main$4;
1497
-
1498
- //#endregion
1499
- //#region src/slices/support_ticket/shared/SupportTicketTypeBadge.vue
1500
- const _hoisted_1$3 = ["aria-label"];
1501
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1502
- __name: "SupportTicketTypeBadge",
1503
- props: {
1504
- type: {},
1505
- size: { default: "md" },
1506
- variant: { default: "default" }
1507
- },
1508
- setup(__props) {
1509
- /**
1510
- * SupportTicketTypeBadge - A reusable Vue component for displaying support ticket type
1511
- * as color-coded badges with consistent DaisyUI styling and accessibility features.
1512
- *
1513
- * @example
1514
- * <SupportTicketTypeBadge :type="'BUG'" size="md" />
1515
- * <SupportTicketTypeBadge :type="'FEATURE_REQUEST'" size="sm" variant="outline" />
1516
- */
1517
- const props = __props;
1518
- /**
1519
- * Configuration for each type badge
1520
- */
1521
- const typeConfig = {
1522
- BUG: {
1523
- color: "badge-neutral",
1524
- text: "Bug",
1525
- ariaLabel: "Type: Bug report requiring fix"
1526
- },
1527
- FEATURE_REQUEST: {
1528
- color: "badge-neutral",
1529
- text: "Feature",
1530
- ariaLabel: "Type: New feature request"
1531
- },
1532
- IMPROVEMENT: {
1533
- color: "badge-neutral",
1534
- text: "Improvement",
1535
- ariaLabel: "Type: Enhancement to existing feature"
1536
- },
1537
- OPERATIONAL: {
1538
- color: "badge-neutral",
1539
- text: "Ops",
1540
- ariaLabel: "Type: Operational/admin work"
1541
- }
1542
- };
1543
- const getTypeConfig = (type) => {
1544
- const config$1 = typeConfig[type];
1545
- if (!config$1) return {
1546
- color: "badge-neutral",
1547
- text: type || "Unknown",
1548
- ariaLabel: `Type: ${type || "Unknown type"}`
1549
- };
1550
- return config$1;
1551
- };
1552
- const config = computed(() => getTypeConfig(props.type));
1553
- const badgeClasses = computed(() => {
1554
- const baseClasses = ["badge", "text-xs"];
1555
- baseClasses.push(config.value.color);
1556
- if (props.size === "sm") baseClasses.push("badge-sm", "text-xs");
1557
- else if (props.size === "lg") baseClasses.push("badge-lg", "text-sm");
1558
- else baseClasses.push("text-xs", "sm:text-sm");
1559
- if (props.variant === "outline") baseClasses.push("badge-outline");
1560
- return baseClasses.join(" ");
1561
- });
1562
- const displayText = computed(() => config.value.text);
1563
- const ariaLabel = computed(() => config.value.ariaLabel);
1564
- return (_ctx, _cache) => {
1565
- return openBlock(), createElementBlock("div", {
1566
- class: normalizeClass(badgeClasses.value),
1567
- "aria-label": ariaLabel.value,
1568
- role: "status"
1569
- }, toDisplayString(displayText.value), 11, _hoisted_1$3);
1570
- };
1571
- }
1572
- });
1573
- var SupportTicketTypeBadge_default = _sfc_main$3;
1574
-
1575
- //#endregion
1576
- //#region src/slices/support_ticket/shared/SupportTicketApprovalBadge.vue
1577
- const _hoisted_1$2 = ["aria-label"];
1578
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1579
- __name: "SupportTicketApprovalBadge",
1580
- props: {
1581
- approvalStatus: {},
1582
- size: { default: "md" },
1583
- variant: { default: "default" }
1584
- },
1585
- setup(__props) {
1586
- /**
1587
- * SupportTicketApprovalBadge - A reusable Vue component for displaying support ticket approval status
1588
- * as color-coded badges with consistent DaisyUI styling and accessibility features.
1589
- *
1590
- * @example
1591
- * <SupportTicketApprovalBadge :approvalStatus="'PENDING'" size="md" />
1592
- * <SupportTicketApprovalBadge :approvalStatus="'APPROVED'" size="sm" variant="outline" />
1593
- */
1594
- const props = __props;
1595
- /**
1596
- * Configuration for each approval status badge
1597
- */
1598
- const approvalConfig = {
1599
- PENDING: {
1600
- color: "badge-warning",
1601
- text: "Pending",
1602
- ariaLabel: "Approval: Awaiting staff decision"
1603
- },
1604
- APPROVED: {
1605
- color: "badge-success",
1606
- text: "Approved",
1607
- ariaLabel: "Approval: Approved by staff"
1608
- },
1609
- REJECTED: {
1610
- color: "badge-error",
1611
- text: "Rejected",
1612
- ariaLabel: "Approval: Rejected by staff"
1613
- },
1614
- INTERNAL: {
1615
- color: "badge-info",
1616
- text: "Internal",
1617
- ariaLabel: "Approval: Internal staff ticket"
1618
- }
1619
- };
1620
- const getApprovalConfig = (approvalStatus) => {
1621
- const config$1 = approvalConfig[approvalStatus];
1622
- if (!config$1) return {
1623
- color: "badge-neutral",
1624
- text: approvalStatus || "Unknown",
1625
- ariaLabel: `Approval: ${approvalStatus || "Unknown status"}`
1626
- };
1627
- return config$1;
1628
- };
1629
- const config = computed(() => getApprovalConfig(props.approvalStatus));
1630
- const badgeClasses = computed(() => {
1631
- const baseClasses = ["badge", "text-xs"];
1632
- baseClasses.push(config.value.color);
1633
- if (props.size === "sm") baseClasses.push("badge-sm", "text-xs");
1634
- else if (props.size === "lg") baseClasses.push("badge-lg", "text-sm");
1635
- else baseClasses.push("text-xs", "sm:text-sm");
1636
- if (props.variant === "outline") baseClasses.push("badge-outline");
1637
- return baseClasses.join(" ");
1638
- });
1639
- const displayText = computed(() => config.value.text);
1640
- const ariaLabel = computed(() => config.value.ariaLabel);
1641
- return (_ctx, _cache) => {
1642
- return openBlock(), createElementBlock("div", {
1643
- class: normalizeClass(badgeClasses.value),
1644
- "aria-label": ariaLabel.value,
1645
- role: "status"
1646
- }, toDisplayString(displayText.value), 11, _hoisted_1$2);
1647
- };
1648
- }
1649
- });
1650
- var SupportTicketApprovalBadge_default = _sfc_main$2;
1651
-
1652
- //#endregion
1653
- //#region src/slices/support_ticket/utils/formatTicketDate.ts
1654
- /**
1655
- * Takes an ISO date string and returns:
1656
- * - formatted: "Jan 15, 2025"
1657
- * - relative: "3 days ago" / "2 hours ago" / "just now"
1658
- * - localTime: "2:30 PM" (user's local time)
1659
- */
1660
- function formatTicketDate(isoString) {
1661
- const date = new Date(isoString);
1662
- if (isNaN(date.getTime())) return {
1663
- formatted: isoString,
1664
- relative: "",
1665
- localTime: ""
1666
- };
1667
- const formatted = date.toLocaleDateString(void 0, {
1668
- year: "numeric",
1669
- month: "short",
1670
- day: "numeric"
1671
- });
1672
- const localTime = date.toLocaleTimeString(void 0, {
1673
- hour: "numeric",
1674
- minute: "2-digit"
1675
- });
1676
- const diffMs = (/* @__PURE__ */ new Date()).getTime() - date.getTime();
1677
- const diffSec = Math.floor(diffMs / 1e3);
1678
- const diffMin = Math.floor(diffSec / 60);
1679
- const diffHour = Math.floor(diffMin / 60);
1680
- const diffDay = Math.floor(diffHour / 24);
1681
- let relative;
1682
- if (Math.abs(diffSec) < 60) relative = "just now";
1683
- else if (diffSec < 0) {
1684
- const sec = Math.abs(diffSec);
1685
- const min = Math.floor(sec / 60);
1686
- const hr = Math.floor(min / 60);
1687
- const day = Math.floor(hr / 24);
1688
- if (min < 60) relative = `in ${min} minute${min === 1 ? "" : "s"}`;
1689
- else if (hr < 24) relative = `in ${hr} hour${hr === 1 ? "" : "s"}`;
1690
- else relative = `in ${day} day${day === 1 ? "" : "s"}`;
1691
- } else if (diffMin < 60) relative = diffMin === 1 ? "1 minute ago" : `${diffMin} minutes ago`;
1692
- else if (diffHour < 24) relative = diffHour === 1 ? "1 hour ago" : `${diffHour} hours ago`;
1693
- else if (diffDay < 30) relative = diffDay === 1 ? "1 day ago" : `${diffDay} days ago`;
1694
- else {
1695
- const diffWeeks = Math.floor(diffDay / 7);
1696
- const diffMonths = Math.floor(diffDay / 30);
1697
- if (diffWeeks < 4) relative = diffWeeks === 1 ? "1 week ago" : `${diffWeeks} weeks ago`;
1698
- else if (diffMonths < 12) relative = diffMonths === 1 ? "1 month ago" : `${diffMonths} months ago`;
1699
- else {
1700
- const diffYears = Math.floor(diffMonths / 12);
1701
- relative = diffYears === 1 ? "1 year ago" : `${diffYears} years ago`;
1702
- }
1703
- }
1704
- return {
1705
- formatted,
1706
- relative,
1707
- localTime
1708
- };
1709
- }
1710
-
1711
- //#endregion
1712
- //#region src/slices/support_ticket/shared/TimelineItem.vue
1713
- const _hoisted_1$1 = { class: "flex items-center gap-2 mb-3 flex-wrap" };
1714
- const _hoisted_2$1 = {
1715
- key: 0,
1716
- class: "badge badge-warning badge-sm gap-1 shrink-0",
1717
- "aria-label": "Internal note"
1718
- };
1719
- const _hoisted_3$1 = {
1720
- key: 1,
1721
- class: "w-6 h-6 rounded-full bg-primary text-primary-content text-xs flex items-center justify-center shrink-0",
1722
- "aria-hidden": "true"
1723
- };
1724
- const _hoisted_4$1 = { class: "font-semibold text-sm" };
1725
- const _hoisted_5$1 = { class: "text-base-content/50 text-sm" };
1726
- const _hoisted_6$1 = { class: "text-sm text-base-content break-words whitespace-pre-wrap" };
1727
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1728
- __name: "TimelineItem",
1729
- props: {
1730
- authorName: {},
1731
- createdAt: {},
1732
- variant: {}
1733
- },
1734
- setup(__props) {
1735
- const props = __props;
1736
- const authorInitial = computed(() => {
1737
- return (props.authorName?.trim() || "?").charAt(0).toUpperCase();
1738
- });
1739
- const relativeTime = computed(() => {
1740
- return props.createdAt ? formatTicketDate(props.createdAt).relative : "";
1741
- });
1742
- return (_ctx, _cache) => {
1743
- return openBlock(), createElementBlock("div", { class: normalizeClass(["card card-bordered p-4 w-full", __props.variant === "internal" ? "bg-warning/10 border-warning/30" : "bg-base-100"]) }, [createElementVNode("div", _hoisted_1$1, [
1744
- __props.variant === "internal" ? (openBlock(), createElementBlock("span", _hoisted_2$1, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
1745
- xmlns: "http://www.w3.org/2000/svg",
1746
- fill: "none",
1747
- viewBox: "0 0 24 24",
1748
- "stroke-width": "1.5",
1749
- stroke: "currentColor",
1750
- class: "w-3.5 h-3.5"
1751
- }, [createElementVNode("path", {
1752
- "stroke-linecap": "round",
1753
- "stroke-linejoin": "round",
1754
- d: "M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z"
1755
- })], -1), createTextVNode(" Internal ", -1)])])) : (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(authorInitial.value), 1)),
1756
- createElementVNode("span", _hoisted_4$1, toDisplayString(__props.authorName), 1),
1757
- createElementVNode("span", _hoisted_5$1, "· " + toDisplayString(relativeTime.value), 1)
1758
- ]), createElementVNode("div", _hoisted_6$1, [renderSlot(_ctx.$slots, "default")])], 2);
1759
- };
1760
- }
1761
- });
1762
- var TimelineItem_default = _sfc_main$1;
1763
-
1764
- //#endregion
1765
- //#region src/slices/support_ticket/shared/TimelineSystemEvent.vue
1766
- const _hoisted_1 = { class: "py-2 flex items-start gap-2 text-sm" };
1767
- const _hoisted_2 = { class: "flex-1 min-w-0 space-y-0.5" };
1768
- const _hoisted_3 = { class: "flex flex-wrap items-baseline gap-x-2 gap-y-1" };
1769
- const _hoisted_4 = { class: "text-base-content/60 font-medium" };
1770
- const _hoisted_5 = { class: "font-semibold text-base-content" };
1771
- const _hoisted_6 = { class: "badge badge-sm badge-outline border-base-content/20 text-base-content/80 font-normal px-1.5 py-0 capitalize" };
1772
- const _hoisted_7 = { class: "text-base-content/70" };
1773
- const _hoisted_8 = { class: "text-base-content/70" };
1774
- const _hoisted_9 = { class: "line-through text-base-content/50" };
1775
- const _hoisted_10 = {
1776
- key: 0,
1777
- class: "mt-1.5 ml-6 list-disc list-inside text-base-content/70 text-sm space-y-0.5"
1778
- };
1779
- const _hoisted_11 = { class: "italic text-base-content/60" };
1780
- const _hoisted_12 = { class: "line-through text-base-content/50 ml-1" };
1781
- const _hoisted_13 = {
1782
- key: 1,
1783
- class: "ml-1"
1784
- };
1785
- const _hoisted_14 = { class: "text-base-content/40 text-xs" };
1786
- const _hoisted_15 = ["title"];
1787
- const RECENT_THRESHOLD_HOURS = 18;
1788
- const _sfc_main = /* @__PURE__ */ defineComponent({
1789
- __name: "TimelineSystemEvent",
1790
- props: {
1791
- author: {},
1792
- message: {},
1793
- timestamp: {},
1794
- action: {},
1795
- type: {},
1796
- details: {},
1797
- oldValue: {},
1798
- newValue: {},
1799
- changes: {}
1800
- },
1801
- setup(__props) {
1802
- const props = __props;
1803
- const showFull = ref(false);
1804
- const displayAction = computed(() => props.action ?? props.message);
1805
- const displayDetails = computed(() => {
1806
- if (props.details) return props.details;
1807
- if (props.oldValue != null && props.newValue != null) return `${props.oldValue} → ${props.newValue}`;
1808
- return props.newValue ?? null;
1809
- });
1810
- const hasChangeDetails = computed(() => props.oldValue != null && props.newValue != null || props.details != null || props.newValue != null);
1811
- const detailsPrefix = computed(() => {
1812
- if (!props.details || props.oldValue == null && props.newValue == null) return null;
1813
- if (props.details.includes(" · ")) {
1814
- const parts = props.details.split(" · ");
1815
- return parts.length > 1 ? parts[0] : null;
1816
- }
1817
- return props.details;
1818
- });
1819
- /** Use relative time when within ~18 hours, otherwise full date and time */
1820
- const shortTime = computed(() => {
1821
- if (!props.timestamp) return "";
1822
- const { relative, formatted, localTime } = formatTicketDate(props.timestamp);
1823
- const dateTime = [formatted, localTime].filter(Boolean).join(", ");
1824
- if (!relative && !dateTime) return "";
1825
- const date = new Date(props.timestamp);
1826
- const hoursAgo = (Date.now() - date.getTime()) / (1e3 * 60 * 60);
1827
- return hoursAgo >= 0 && hoursAgo < RECENT_THRESHOLD_HOURS ? relative : dateTime;
1828
- });
1829
- const fullDateTime = computed(() => {
1830
- if (!props.timestamp) return "";
1831
- const { formatted, localTime } = formatTicketDate(props.timestamp);
1832
- return [formatted, localTime].filter(Boolean).join(", ");
1833
- });
1834
- const displayTime = computed(() => showFull.value ? fullDateTime.value : shortTime.value);
1835
- return (_ctx, _cache) => {
1836
- return openBlock(), createElementBlock("div", _hoisted_1, [_cache[7] || (_cache[7] = createElementVNode("svg", {
1837
- xmlns: "http://www.w3.org/2000/svg",
1838
- fill: "none",
1839
- viewBox: "0 0 24 24",
1840
- "stroke-width": "1.5",
1841
- stroke: "currentColor",
1842
- class: "w-4 h-4 text-base-content/30 shrink-0 mt-0.5",
1843
- "aria-hidden": "true"
1844
- }, [createElementVNode("path", {
1845
- "stroke-linecap": "round",
1846
- "stroke-linejoin": "round",
1847
- d: "M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124a6.57 6.57 0 01.22-.128c.332-.183.582-.495.644-.869l.214-1.281z"
1848
- }), createElementVNode("path", {
1849
- "stroke-linecap": "round",
1850
- "stroke-linejoin": "round",
1851
- d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
1852
- })], -1)), createElementVNode("div", _hoisted_2, [
1853
- createElementVNode("div", _hoisted_3, [
1854
- createElementVNode("span", _hoisted_4, toDisplayString(__props.author), 1),
1855
- _cache[5] || (_cache[5] = createElementVNode("span", {
1856
- class: "text-base-content/40 text-xs",
1857
- "aria-hidden": "true"
1858
- }, "·", -1)),
1859
- createElementVNode("span", _hoisted_5, toDisplayString(displayAction.value), 1),
1860
- __props.type ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_cache[1] || (_cache[1] = createElementVNode("span", {
1861
- class: "text-base-content/40 text-xs",
1862
- "aria-hidden": "true"
1863
- }, "·", -1)), createElementVNode("span", _hoisted_6, toDisplayString(__props.type), 1)], 64)) : createCommentVNode("v-if", true),
1864
- __props.changes && __props.changes.length > 1 ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [__props.details ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_cache[2] || (_cache[2] = createElementVNode("span", {
1865
- class: "text-base-content/40 text-xs",
1866
- "aria-hidden": "true"
1867
- }, "·", -1)), createElementVNode("span", _hoisted_7, toDisplayString(__props.details), 1)], 64)) : createCommentVNode("v-if", true)], 64)) : hasChangeDetails.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [_cache[4] || (_cache[4] = createElementVNode("span", {
1868
- class: "text-base-content/40 text-xs",
1869
- "aria-hidden": "true"
1870
- }, "·", -1)), createElementVNode("span", _hoisted_8, [detailsPrefix.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(detailsPrefix.value), 1)], 64)) : createCommentVNode("v-if", true), __props.oldValue != null && __props.newValue != null ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1871
- createElementVNode("span", _hoisted_9, toDisplayString(__props.oldValue), 1),
1872
- _cache[3] || (_cache[3] = createElementVNode("span", { class: "mx-1 text-base-content/40" }, "→", -1)),
1873
- createElementVNode("span", null, toDisplayString(__props.newValue), 1)
1874
- ], 64)) : displayDetails.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createTextVNode(toDisplayString(displayDetails.value), 1)], 64)) : createCommentVNode("v-if", true)])], 64)) : createCommentVNode("v-if", true)
1875
- ]),
1876
- __props.changes && __props.changes.length > 1 ? (openBlock(), createElementBlock("ul", _hoisted_10, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.changes, (change, i) => {
1877
- return openBlock(), createElementBlock("li", { key: i }, [createElementVNode("span", _hoisted_11, toDisplayString(change.action) + ":", 1), change.oldValue != null && change.newValue != null ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1878
- createElementVNode("span", _hoisted_12, toDisplayString(change.oldValue), 1),
1879
- _cache[6] || (_cache[6] = createElementVNode("span", { class: "mx-1 text-base-content/40" }, "→", -1)),
1880
- createElementVNode("span", null, toDisplayString(change.newValue), 1)
1881
- ], 64)) : change.newValue != null ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(change.newValue), 1)) : createCommentVNode("v-if", true)]);
1882
- }), 128))])) : createCommentVNode("v-if", true),
1883
- createElementVNode("div", _hoisted_14, [createElementVNode("button", {
1884
- type: "button",
1885
- class: "cursor-pointer hover:text-base-content/60 hover:underline focus:outline-none focus:underline",
1886
- title: fullDateTime.value,
1887
- onClick: _cache[0] || (_cache[0] = ($event) => showFull.value = !showFull.value)
1888
- }, toDisplayString(displayTime.value), 9, _hoisted_15)])
1889
- ])]);
1890
- };
1891
- }
1892
- });
1893
- var TimelineSystemEvent_default = _sfc_main;
1292
+ var InlineAttachments_default = _sfc_main;
1894
1293
 
1895
1294
  //#endregion
1896
- export { SupportTicketTypeBadge_default as a, formatCustomerCreditValue as c, ConfirmDialog_default as d, SupportTicketApprovalBadge_default as i, formatStaffCreditValue as l, TimelineItem_default as n, SupportTicketPriorityBadge_default as o, formatTicketDate as r, InlineAttachments_default as s, TimelineSystemEvent_default as t, ImageModal_default as u };
1897
- //# sourceMappingURL=TimelineSystemEvent-BHzFr46C.js.map
1295
+ export { ImageModal_default as n, InlineAttachments_default as t };
1296
+ //# sourceMappingURL=InlineAttachments-DAn_QknY.js.map