@dragonmastery/dragoncore-vue 0.0.15 → 0.0.17

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 (151) hide show
  1. package/dist/{ChangePasswordPage-DCews8GU.js → ChangePasswordPage-D2Ci00Sh.js} +3 -3
  2. package/dist/{ChangePasswordPage-DCews8GU.js.map → ChangePasswordPage-D2Ci00Sh.js.map} +1 -1
  3. package/dist/ChangePasswordPage-DqnWhaUa.js +6 -0
  4. package/dist/CreateTeamForm-DH0k3ra-.js +32 -0
  5. package/dist/CreateTeamMemberForm-DR0krDAy.js +32 -0
  6. package/dist/{CreateUserPage-B8qeBZij.js → CreateUserPage-DbT_l32W.js} +3 -3
  7. package/dist/{CreateUserPage-B8qeBZij.js.map → CreateUserPage-DbT_l32W.js.map} +1 -1
  8. package/dist/CreateUserPage-cduuWl9g.js +6 -0
  9. package/dist/CreditBalanceDashboard-Bh6G7DdM.js +32 -0
  10. package/dist/CreditManagement-BGqIkJf8.js +32 -0
  11. package/dist/CustomerCreateSupportTicketForm-DROOc8QU.js +32 -0
  12. package/dist/{CustomerSupportTicketDetailPage-ryM1_h1-.js → CustomerSupportTicketDetailPage-CPnNMJRz.js} +9 -9
  13. package/dist/{CustomerSupportTicketDetailPage-ryM1_h1-.js.map → CustomerSupportTicketDetailPage-CPnNMJRz.js.map} +1 -1
  14. package/dist/CustomerSupportTicketList-BdCyjYTK.js +32 -0
  15. package/dist/{CustomerSupportTicketParent-BzY4pmBk.js → CustomerSupportTicketParent-C_vgUq3B.js} +3 -3
  16. package/dist/{CustomerSupportTicketParent-BzY4pmBk.js.map → CustomerSupportTicketParent-C_vgUq3B.js.map} +1 -1
  17. package/dist/CustomerSupportTicketParent-Ex-sumQ_.js +7 -0
  18. package/dist/CustomerSupportTicketSuccess-BiccWyEb.js +32 -0
  19. package/dist/EditTeamForm-COtlNY2k.js +32 -0
  20. package/dist/EditTeamMemberForm-8CNRrEIT.js +6 -0
  21. package/dist/{EditTeamMemberForm-CKbKomrL.js → EditTeamMemberForm-y4Klbm2x.js} +3 -3
  22. package/dist/{EditTeamMemberForm-CKbKomrL.js.map → EditTeamMemberForm-y4Klbm2x.js.map} +1 -1
  23. package/dist/{EditUserPage-XqF25iwz.js → EditUserPage-0lqrgP5T.js} +4 -4
  24. package/dist/{EditUserPage-XqF25iwz.js.map → EditUserPage-0lqrgP5T.js.map} +1 -1
  25. package/dist/EditUserPage-BgMNOa8G.js +7 -0
  26. package/dist/{ForgotPassword-D3bjL48L.js → ForgotPassword-CiEfdVT-.js} +12 -8
  27. package/dist/ForgotPassword-CiEfdVT-.js.map +1 -0
  28. package/dist/ForgotPassword-DTqvZE3S.js +7 -0
  29. package/dist/LoginForm-INwjqMmZ.js +7 -0
  30. package/dist/{LoginForm-C85U2E2r.js → LoginForm-o4gJ0QwA.js} +17 -17
  31. package/dist/LoginForm-o4gJ0QwA.js.map +1 -0
  32. package/dist/{Logout-DZuWLh0O.js → Logout-D8Ql8-OY.js} +11 -8
  33. package/dist/Logout-D8Ql8-OY.js.map +1 -0
  34. package/dist/Logout-KA5WB93_.js +6 -0
  35. package/dist/MfaSetup-B3-QSuKe.js +8 -0
  36. package/dist/MfaSetup-DzaJLZtx.js +113 -0
  37. package/dist/MfaSetup-DzaJLZtx.js.map +1 -0
  38. package/dist/MfaVerify-5DOMPhdq.js +8 -0
  39. package/dist/MfaVerify-C04XD4r3.js +86 -0
  40. package/dist/MfaVerify-C04XD4r3.js.map +1 -0
  41. package/dist/ResetPassword-DcVvfMU3.js +92 -0
  42. package/dist/ResetPassword-DcVvfMU3.js.map +1 -0
  43. package/dist/ResetPassword-rtEJreLv.js +7 -0
  44. package/dist/{SavedFiltersPage-rG33pF5X.js → SavedFiltersPage-PfwukNXV.js} +27 -22
  45. package/dist/{SavedFiltersPage-rG33pF5X.js.map → SavedFiltersPage-PfwukNXV.js.map} +1 -1
  46. package/dist/Signup-DWFxpoGA.js +7 -0
  47. package/dist/{Signup-hpV8J5cM.js → Signup-Wz2h_ayt.js} +52 -21
  48. package/dist/Signup-Wz2h_ayt.js.map +1 -0
  49. package/dist/StaffCreateSupportTicketForm-Cs3puA0j.js +32 -0
  50. package/dist/{StaffSupportTicketDetailPage-_ZOQgWv0.js → StaffSupportTicketDetailPage-DDkJcKVC.js} +10 -10
  51. package/dist/{StaffSupportTicketDetailPage-_ZOQgWv0.js.map → StaffSupportTicketDetailPage-DDkJcKVC.js.map} +1 -1
  52. package/dist/StaffSupportTicketList-B3HBQJ9r.js +32 -0
  53. package/dist/StaffSupportTicketParent-BiyZAW5w.js +7 -0
  54. package/dist/{StaffSupportTicketParent-CWWhaM37.js → StaffSupportTicketParent-Bp5pNF45.js} +3 -3
  55. package/dist/{StaffSupportTicketParent-CWWhaM37.js.map → StaffSupportTicketParent-Bp5pNF45.js.map} +1 -1
  56. package/dist/StaffSupportTicketSuccess-CegCdk-v.js +32 -0
  57. package/dist/{SupportStaffPage-nd0HowtH.js → SupportStaffPage-DwILSSas.js} +5 -5
  58. package/dist/{SupportStaffPage-nd0HowtH.js.map → SupportStaffPage-DwILSSas.js.map} +1 -1
  59. package/dist/{SupportTicketDevLifecycleBadge-Ba-Rm6QW.js → SupportTicketDevLifecycleBadge-B2NysMAj.js} +1 -1
  60. package/dist/{SupportTicketDevLifecycleBadge-Ba-Rm6QW.js.map → SupportTicketDevLifecycleBadge-B2NysMAj.js.map} +1 -1
  61. package/dist/{SupportTicketMaintenancePage-rcJ7EfDj.js → SupportTicketMaintenancePage-CpK1esq2.js} +4 -4
  62. package/dist/{SupportTicketMaintenancePage-rcJ7EfDj.js.map → SupportTicketMaintenancePage-CpK1esq2.js.map} +1 -1
  63. package/dist/TeamAttachmentsTab-B6_qHPKJ.js +32 -0
  64. package/dist/{TeamHistoryTab-CNelXR3Q.js → TeamHistoryTab-B3DvaIzC.js} +2 -2
  65. package/dist/{TeamHistoryTab-CNelXR3Q.js.map → TeamHistoryTab-B3DvaIzC.js.map} +1 -1
  66. package/dist/TeamHistoryTab-HXc3zqhQ.js +4 -0
  67. package/dist/TeamList-DrMqaMvI.js +32 -0
  68. package/dist/TeamMemberList-CEV6-g3t.js +32 -0
  69. package/dist/TeamMemberParent-D-MnEdRq.js +32 -0
  70. package/dist/TeamNotesTab-BlmZQfCR.js +7 -0
  71. package/dist/{TeamNotesTab-BhVRLG8h.js → TeamNotesTab-DBrJGCIe.js} +5 -5
  72. package/dist/{TeamNotesTab-BhVRLG8h.js.map → TeamNotesTab-DBrJGCIe.js.map} +1 -1
  73. package/dist/TeamParent-Dw6Njuup.js +32 -0
  74. package/dist/{TimelineNoteInput-CdfuzIeI.js → TimelineNoteInput-DGDgyGe-.js} +2 -2
  75. package/dist/{TimelineNoteInput-CdfuzIeI.js.map → TimelineNoteInput-DGDgyGe-.js.map} +1 -1
  76. package/dist/{TimelineSystemEvent-D58zN850.js → TimelineSystemEvent-CBwUl5G8.js} +4 -4
  77. package/dist/{TimelineSystemEvent-D58zN850.js.map → TimelineSystemEvent-CBwUl5G8.js.map} +1 -1
  78. package/dist/{UserListPage-OGYOLwlw.js → UserListPage-BGDgsd_S.js} +2 -2
  79. package/dist/{UserListPage-OGYOLwlw.js.map → UserListPage-BGDgsd_S.js.map} +1 -1
  80. package/dist/UserListPage-BZp9fGeT.js +4 -0
  81. package/dist/UserProfilePage-D52_Q5yf.js +7 -0
  82. package/dist/{UserProfilePage-uAIfC_NW.js → UserProfilePage-DMwDVgXa.js} +67 -22
  83. package/dist/UserProfilePage-DMwDVgXa.js.map +1 -0
  84. package/dist/VerifyEmail-CG1BHGSh.js +7 -0
  85. package/dist/VerifyEmail-CUexC8mg.js +140 -0
  86. package/dist/VerifyEmail-CUexC8mg.js.map +1 -0
  87. package/dist/VerifyEmailRequired-C35bkaXZ.js +75 -0
  88. package/dist/VerifyEmailRequired-C35bkaXZ.js.map +1 -0
  89. package/dist/ViewTeam-D9PDDpY6.js +32 -0
  90. package/dist/ViewTeamMember-sJb79wUy.js +32 -0
  91. package/dist/{displayIdFormatter-B1ZKgofu.js → displayIdFormatter-rSbbsHIX.js} +1 -1
  92. package/dist/{displayIdFormatter-B1ZKgofu.js.map → displayIdFormatter-rSbbsHIX.js.map} +1 -1
  93. package/dist/index.d.ts +306 -210
  94. package/dist/index.js +29 -23
  95. package/dist/mfaSchema-_vbG9jiT.js +30 -0
  96. package/dist/mfaSchema-_vbG9jiT.js.map +1 -0
  97. package/dist/{src-BUN-mdXa.js → src-DYBi81fS.js} +473 -400
  98. package/dist/src-DYBi81fS.js.map +1 -0
  99. package/dist/{useMutation-B4_S4Xoa.js → useMutation-DzRSXPB1.js} +3 -3
  100. package/dist/{useMutation-B4_S4Xoa.js.map → useMutation-DzRSXPB1.js.map} +1 -1
  101. package/dist/{useQuery-B7ndu5_P.js → useQuery-bvJabe9Q.js} +3 -3
  102. package/dist/{useQuery-B7ndu5_P.js.map → useQuery-bvJabe9Q.js.map} +1 -1
  103. package/dist/{useQueryCache-DqcDMsxb.js → useQueryCache-DIGf3fCM.js} +2 -2
  104. package/dist/{useQueryCache-DqcDMsxb.js.map → useQueryCache-DIGf3fCM.js.map} +1 -1
  105. package/dist/useReturnUrl-DobHOKp3.js +23 -0
  106. package/dist/useReturnUrl-DobHOKp3.js.map +1 -0
  107. package/dist/{useRpcAuth-Dp2sec-X.js → useRpcAuth-SgNzCAPa.js} +2 -1
  108. package/dist/useRpcAuth-SgNzCAPa.js.map +1 -0
  109. package/package.json +2 -2
  110. package/dist/ChangePasswordPage-Dm5vW0nl.js +0 -6
  111. package/dist/CreateTeamForm-Cm8DOOXF.js +0 -27
  112. package/dist/CreateTeamMemberForm-CcdQys0C.js +0 -27
  113. package/dist/CreateUserPage-WjYDkwpb.js +0 -6
  114. package/dist/CreditBalanceDashboard-RLAnIiVN.js +0 -27
  115. package/dist/CreditManagement-DGLhDOO5.js +0 -27
  116. package/dist/CustomerCreateSupportTicketForm-Dv0ZMYrw.js +0 -27
  117. package/dist/CustomerSupportTicketList-Cfe8gqiX.js +0 -27
  118. package/dist/CustomerSupportTicketParent-BnmTFigo.js +0 -7
  119. package/dist/CustomerSupportTicketSuccess-DnnRkxsI.js +0 -27
  120. package/dist/EditTeamForm-DzEAqBhc.js +0 -27
  121. package/dist/EditTeamMemberForm-B8-pI6Xm.js +0 -6
  122. package/dist/EditUserPage-BG-Fkx_c.js +0 -7
  123. package/dist/ForgotPassword-CjWv2V7p.js +0 -7
  124. package/dist/ForgotPassword-D3bjL48L.js.map +0 -1
  125. package/dist/LoginForm--br4Il85.js +0 -7
  126. package/dist/LoginForm-C85U2E2r.js.map +0 -1
  127. package/dist/Logout-DHT-5Qz3.js +0 -6
  128. package/dist/Logout-DZuWLh0O.js.map +0 -1
  129. package/dist/ResetPassword-COmnbNlg.js +0 -27
  130. package/dist/Signup-VZa7U-Ur.js +0 -7
  131. package/dist/Signup-hpV8J5cM.js.map +0 -1
  132. package/dist/StaffCreateSupportTicketForm-CIDdUNcs.js +0 -27
  133. package/dist/StaffSupportTicketList-DPIu3W50.js +0 -27
  134. package/dist/StaffSupportTicketParent-Dp1G85wc.js +0 -7
  135. package/dist/StaffSupportTicketSuccess-8lYa8_Sm.js +0 -27
  136. package/dist/TeamAttachmentsTab-VUrIDPW6.js +0 -27
  137. package/dist/TeamHistoryTab-siesF93u.js +0 -4
  138. package/dist/TeamList-BOXFY4cO.js +0 -27
  139. package/dist/TeamMemberList-BwqpVaNc.js +0 -27
  140. package/dist/TeamMemberParent-DIxwJ6EP.js +0 -27
  141. package/dist/TeamNotesTab-Crp-afAe.js +0 -7
  142. package/dist/TeamParent-pEhBNWqh.js +0 -27
  143. package/dist/UserListPage-D68AjrjM.js +0 -4
  144. package/dist/UserProfilePage-Q68NAGQQ.js +0 -7
  145. package/dist/UserProfilePage-uAIfC_NW.js.map +0 -1
  146. package/dist/ViewTeam-Cexcjy9c.js +0 -27
  147. package/dist/ViewTeamMember-DKBKSsAc.js +0 -27
  148. package/dist/src-BUN-mdXa.js.map +0 -1
  149. package/dist/useRpcAuth-Dp2sec-X.js.map +0 -1
  150. /package/dist/{Appearance-C3WguxT-.js → Appearance-CohgRf-_.js} +0 -0
  151. /package/dist/{TeamMembersTab-DTJxmb-M.js → TeamMembersTab-CpE9BaCi.js} +0 -0
@@ -1,21 +1,21 @@
1
- import { c as setRefreshTokenHandler, i as setRouter, l as useUserSessionStore, m as useEnv, p as logger, r as executeWithAuth, s as getRefreshTokenHandler } from "./useRpcAuth-Dp2sec-X.js";
2
- import { t as useMutation } from "./useMutation-B4_S4Xoa.js";
3
- import { t as useQuery } from "./useQuery-B7ndu5_P.js";
1
+ import { c as setRefreshTokenHandler, i as setRouter, l as useUserSessionStore, m as useEnv, p as logger, r as executeWithAuth, s as getRefreshTokenHandler } from "./useRpcAuth-SgNzCAPa.js";
2
+ import { t as useMutation } from "./useMutation-DzRSXPB1.js";
3
+ import { t as useQuery } from "./useQuery-bvJabe9Q.js";
4
4
  import { t as AppLink_default } from "./AppLink-CHMMrSFI.js";
5
- import { a as SupportTicketTypeBadge_default, c as formatCustomerCreditValue, d as ConfirmDialog_default, i as SupportTicketApprovalBadge_default, l as formatStaffCreditValue, o as SupportTicketPriorityBadge_default, s as InlineAttachments_default } from "./TimelineSystemEvent-D58zN850.js";
5
+ import { a as SupportTicketTypeBadge_default, c as formatCustomerCreditValue, d as ConfirmDialog_default, i as SupportTicketApprovalBadge_default, l as formatStaffCreditValue, o as SupportTicketPriorityBadge_default, s as InlineAttachments_default } from "./TimelineSystemEvent-CBwUl5G8.js";
6
6
  import { n as export_helper_default } from "./TeamMembersTab-4gmnP9sD.js";
7
7
  import { n as useBreadcrumbs, t as BREADCRUMB_KEY } from "./useBreadcrumbs-DmgSucoe.js";
8
- import { i as FieldsetSection_default, n as teamMemberCreateSchemaWithMetadata } from "./EditTeamMemberForm-CKbKomrL.js";
9
- import { r as ZiniaContainer_default } from "./TeamHistoryTab-CNelXR3Q.js";
8
+ import { i as FieldsetSection_default, n as teamMemberCreateSchemaWithMetadata } from "./EditTeamMemberForm-y4Klbm2x.js";
9
+ import { r as ZiniaContainer_default } from "./TeamHistoryTab-B3DvaIzC.js";
10
10
  import { n as formatToISODate, r as formatUserDate, t as formatSystemTimestamp } from "./convertToLocalDateTime-DOSGtMn8.js";
11
11
  import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-C_UbKgHL.js";
12
- import { t as formatTicketDisplayId } from "./displayIdFormatter-B1ZKgofu.js";
13
- import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-Ba-Rm6QW.js";
12
+ import { t as formatTicketDisplayId } from "./displayIdFormatter-rSbbsHIX.js";
13
+ import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-B2NysMAj.js";
14
14
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, inject, isRef, nextTick, normalizeClass, onMounted, openBlock, provide, readonly, ref, renderList, renderSlot, resolveComponent, toDisplayString, unref, vModelCheckbox, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
15
15
  import { RouterView, useRoute, useRouter } from "vue-router";
16
- import { AddCreditsSchema, CompleteSupportTicketSchema, CreditTransactionReadSchema, CustomerSupportTicketCreateSchema, CustomerSupportTicketReadSchema, CustomerSupportTicketUpdateSchema, MAX_PRESETS_PER_CONTEXT, OPERATORS, SUPPORT_TICKET_APPROVAL_FILTER_OPTIONS, SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, SUPPORT_TICKET_PRIORITY_TO_NUMBER, SUPPORT_TICKET_STATUS_FILTER_OPTIONS, SUPPORT_TICKET_TYPE_FILTER_OPTIONS, SetMonthlyAllocationSchema, StaffSupportTicketCreateSchema, StaffSupportTicketFiltersSchema, StaffSupportTicketReadSchema, StaffSupportTicketUpdateSchema, SupportTicketDevLifecycleUpdateEnum, TeamCreateSchema, TeamFiltersSchema, TeamMemberFiltersSchema, TeamMemberReadSchema, TeamReadSchema, TeamUpdateSchema, formatDollar, resetPasswordInputSchema, supportTicketPriorityToNumber } from "@dragonmastery/dragoncore-shared";
17
- import { ActionIcons, useCursorDataTable, useDataTableUrlSync, useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
18
16
  import { toast } from "vue3-toastify";
17
+ import { AddCreditsSchema, CompleteSupportTicketSchema, CreditTransactionReadSchema, CustomerSupportTicketCreateSchema, CustomerSupportTicketReadSchema, CustomerSupportTicketUpdateSchema, MAX_PRESETS_PER_CONTEXT, OPERATORS, SUPPORT_TICKET_APPROVAL_FILTER_OPTIONS, SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, SUPPORT_TICKET_PRIORITY_TO_NUMBER, SUPPORT_TICKET_STATUS_FILTER_OPTIONS, SUPPORT_TICKET_TYPE_FILTER_OPTIONS, SetMonthlyAllocationSchema, StaffSupportTicketCreateSchema, StaffSupportTicketFiltersSchema, StaffSupportTicketReadSchema, StaffSupportTicketUpdateSchema, SupportTicketDevLifecycleUpdateEnum, TeamCreateSchema, TeamFiltersSchema, TeamMemberFiltersSchema, TeamMemberReadSchema, TeamReadSchema, TeamUpdateSchema, formatDollar, supportTicketPriorityToNumber } from "@dragonmastery/dragoncore-shared";
18
+ import { ActionIcons, useCursorDataTable, useDataTableUrlSync, useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
19
19
 
20
20
  //#region src/plugin.ts
21
21
  /**
@@ -51,13 +51,13 @@ const DragoncoreVue = { install(_app, options) {
51
51
  //#region src/components/AppTabNavigation.vue
52
52
  const _hoisted_1$58 = { class: "w-full" };
53
53
  const _hoisted_2$53 = { class: "md:hidden relative" };
54
- const _hoisted_3$49 = { class: "font-medium" };
54
+ const _hoisted_3$50 = { class: "font-medium" };
55
55
  const _hoisted_4$43 = {
56
56
  key: 0,
57
57
  class: "absolute z-20 w-full bg-base-100 shadow-lg"
58
58
  };
59
- const _hoisted_5$32 = ["onClick"];
60
- const _hoisted_6$26 = { class: "hidden md:flex items-center overflow-x-auto" };
59
+ const _hoisted_5$33 = ["onClick"];
60
+ const _hoisted_6$27 = { class: "hidden md:flex items-center overflow-x-auto" };
61
61
  const _hoisted_7$22 = { class: "flex-1 flex" };
62
62
  const _hoisted_8$22 = ["onClick"];
63
63
  const _hoisted_9$21 = { class: "ml-auto shrink-0" };
@@ -108,7 +108,7 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
108
108
  createElementVNode("button", {
109
109
  onClick: _cache[0] || (_cache[0] = ($event) => isMenuOpen.value = !isMenuOpen.value),
110
110
  class: "w-full flex items-center justify-between px-4 py-3 bg-base-100"
111
- }, [createElementVNode("span", _hoisted_3$49, toDisplayString(activeTabLabel.value), 1), _cache[2] || (_cache[2] = createElementVNode("svg", {
111
+ }, [createElementVNode("span", _hoisted_3$50, toDisplayString(activeTabLabel.value), 1), _cache[2] || (_cache[2] = createElementVNode("svg", {
112
112
  xmlns: "http://www.w3.org/2000/svg",
113
113
  class: "h-5 w-5",
114
114
  fill: "none",
@@ -134,11 +134,11 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
134
134
  key: 1,
135
135
  onClick: ($event) => handleTabClick(tab.id),
136
136
  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"]])
137
- }, toDisplayString(tab.label), 11, _hoisted_5$32))], 64);
137
+ }, toDisplayString(tab.label), 11, _hoisted_5$33))], 64);
138
138
  }), 128))])) : createCommentVNode("v-if", true)
139
139
  ]),
140
140
  createCommentVNode(" Desktop view: Show horizontal tabs on medium screens and up "),
141
- createElementVNode("div", _hoisted_6$26, [
141
+ createElementVNode("div", _hoisted_6$27, [
142
142
  createElementVNode("div", _hoisted_7$22, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
143
143
  return openBlock(), createElementBlock(Fragment, { key: index }, [tab.to ? (openBlock(), createBlock(_component_router_link, {
144
144
  key: 0,
@@ -169,7 +169,7 @@ const _hoisted_2$52 = {
169
169
  key: 0,
170
170
  class: "w-full"
171
171
  };
172
- const _hoisted_3$48 = { class: "max-w-7xl mx-auto px-3 sm:px-4 md:px-6" };
172
+ const _hoisted_3$49 = { class: "max-w-7xl mx-auto px-3 sm:px-4 md:px-6" };
173
173
  const _sfc_main$63 = /* @__PURE__ */ defineComponent({
174
174
  __name: "AppHeader",
175
175
  props: {
@@ -181,7 +181,7 @@ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
181
181
  return (_ctx, _cache) => {
182
182
  return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Full-width background with constrained content "), createElementVNode("div", _hoisted_1$57, [
183
183
  createCommentVNode(" Tab navigation - only shown when tabs are provided "),
184
- __props.tabs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$52, [createElementVNode("div", _hoisted_3$48, [createVNode(AppTabNavigation_default, {
184
+ __props.tabs.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$52, [createElementVNode("div", _hoisted_3$49, [createVNode(AppTabNavigation_default, {
185
185
  tabs: __props.tabs,
186
186
  "active-tab": __props.activeTab,
187
187
  onTabClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("tab-click", $event))
@@ -206,9 +206,9 @@ var AppHeader_default = _sfc_main$63;
206
206
  //#region src/components/BaseModal.vue
207
207
  const _hoisted_1$56 = { class: "modal-box max-w-md w-full max-h-[90vh] flex flex-col p-0" };
208
208
  const _hoisted_2$51 = { class: "flex justify-between items-center p-6 pb-4 border-b border-base-300 flex-shrink-0" };
209
- const _hoisted_3$47 = { class: "font-bold text-lg" };
209
+ const _hoisted_3$48 = { class: "font-bold text-lg" };
210
210
  const _hoisted_4$42 = { class: "modal-content flex-1 overflow-y-auto p-6" };
211
- const _hoisted_5$31 = {
211
+ const _hoisted_5$32 = {
212
212
  method: "dialog",
213
213
  class: "modal-backdrop"
214
214
  };
@@ -237,7 +237,7 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
237
237
  class: "modal"
238
238
  }, [createElementVNode("div", _hoisted_1$56, [
239
239
  createCommentVNode(" Header with title and close button - fixed, not scrollable "),
240
- createElementVNode("div", _hoisted_2$51, [createElementVNode("h3", _hoisted_3$47, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])]), createElementVNode("button", {
240
+ createElementVNode("div", _hoisted_2$51, [createElementVNode("h3", _hoisted_3$48, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])]), createElementVNode("button", {
241
241
  type: "button",
242
242
  class: "btn btn-sm btn-circle btn-ghost",
243
243
  onClick: withModifiers(handleClose, ["prevent"]),
@@ -256,7 +256,7 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
256
256
  })], -1)])])]),
257
257
  createCommentVNode(" Content slot - scrollable area "),
258
258
  createElementVNode("div", _hoisted_4$42, [renderSlot(_ctx.$slots, "default")])
259
- ]), createElementVNode("form", _hoisted_5$31, [createElementVNode("button", {
259
+ ]), createElementVNode("form", _hoisted_5$32, [createElementVNode("button", {
260
260
  type: "button",
261
261
  onClick: withModifiers(handleClose, ["prevent"])
262
262
  }, "close")])], 512);
@@ -269,10 +269,10 @@ var BaseModal_default = _sfc_main$62;
269
269
  //#region src/components/InputModal.vue
270
270
  const _hoisted_1$55 = { class: "modal-box" };
271
271
  const _hoisted_2$50 = { class: "font-bold text-lg" };
272
- const _hoisted_3$46 = { class: "py-4" };
272
+ const _hoisted_3$47 = { class: "py-4" };
273
273
  const _hoisted_4$41 = { class: "form-control w-full" };
274
- const _hoisted_5$30 = { class: "label" };
275
- const _hoisted_6$25 = { class: "label-text" };
274
+ const _hoisted_5$31 = { class: "label" };
275
+ const _hoisted_6$26 = { class: "label-text" };
276
276
  const _hoisted_7$21 = ["placeholder"];
277
277
  const _hoisted_8$21 = {
278
278
  key: 0,
@@ -334,8 +334,8 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
334
334
  return (_ctx, _cache) => {
335
335
  return openBlock(), createElementBlock("div", { class: normalizeClass(["modal", { "modal-open": __props.modelValue }]) }, [createElementVNode("div", _hoisted_1$55, [
336
336
  createElementVNode("h3", _hoisted_2$50, toDisplayString(__props.title), 1),
337
- createElementVNode("div", _hoisted_3$46, [createElementVNode("label", _hoisted_4$41, [
338
- createElementVNode("div", _hoisted_5$30, [createElementVNode("span", _hoisted_6$25, toDisplayString(__props.label), 1)]),
337
+ createElementVNode("div", _hoisted_3$47, [createElementVNode("label", _hoisted_4$41, [
338
+ createElementVNode("div", _hoisted_5$31, [createElementVNode("span", _hoisted_6$26, toDisplayString(__props.label), 1)]),
339
339
  withDirectives(createElementVNode("input", {
340
340
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
341
341
  type: "text",
@@ -394,10 +394,10 @@ var LogoPlaceholder_default = _sfc_main$59;
394
394
  //#region src/components/Navbar.vue
395
395
  const _hoisted_1$54 = { 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" };
396
396
  const _hoisted_2$49 = { class: "navbar w-full" };
397
- const _hoisted_3$45 = { class: "flex flex-1 md:gap-1 lg:gap-2" };
397
+ const _hoisted_3$46 = { class: "flex flex-1 md:gap-1 lg:gap-2" };
398
398
  const _hoisted_4$40 = { class: "items-center gap-2 flex" };
399
- const _hoisted_5$29 = { class: "font-title inline-flex text-lg text-primary transition-all duration-200 md:text-3xl" };
400
- const _hoisted_6$24 = ["src"];
399
+ const _hoisted_5$30 = { class: "font-title inline-flex text-lg text-primary transition-all duration-200 md:text-3xl" };
400
+ const _hoisted_6$25 = ["src"];
401
401
  const _hoisted_7$20 = {
402
402
  key: 0,
403
403
  class: "hidden md:flex items-center ml-4"
@@ -447,7 +447,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
447
447
  loading.value = false;
448
448
  return (_ctx, _cache) => {
449
449
  const _component_router_link = resolveComponent("router-link");
450
- return openBlock(), createElementBlock("header", _hoisted_1$54, [createElementVNode("nav", _hoisted_2$49, [createElementVNode("div", _hoisted_3$45, [_cache[3] || (_cache[3] = createElementVNode("label", {
450
+ return openBlock(), createElementBlock("header", _hoisted_1$54, [createElementVNode("nav", _hoisted_2$49, [createElementVNode("div", _hoisted_3$46, [_cache[3] || (_cache[3] = createElementVNode("label", {
451
451
  for: "drawer",
452
452
  class: "btn-ghost drawer-button btn-square btn"
453
453
  }, [createElementVNode("svg", {
@@ -467,7 +467,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
467
467
  "aria-current": "page",
468
468
  "aria-label": "Homepage"
469
469
  }, {
470
- default: withCtx(() => [createElementVNode("div", _hoisted_5$29, [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
470
+ default: withCtx(() => [createElementVNode("div", _hoisted_5$30, [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
471
471
  key: 0,
472
472
  size: "xs"
473
473
  })) : (openBlock(), createElementBlock("img", {
@@ -476,7 +476,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
476
476
  alt: "logo",
477
477
  class: "h-10 w-10 md:h-12 md:w-12",
478
478
  onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
479
- }, null, 40, _hoisted_6$24))])]),
479
+ }, null, 40, _hoisted_6$25))])]),
480
480
  _: 1
481
481
  }),
482
482
  createCommentVNode(" Breadcrumbs in navbar - Desktop view "),
@@ -529,7 +529,7 @@ var Navbar_default = _sfc_main$58;
529
529
  //#region src/components/NotFound.vue
530
530
  const _hoisted_1$53 = { class: "flex items-center justify-center bg-base-100 mt-4" };
531
531
  const _hoisted_2$48 = { class: "max-w-md mx-auto text-center px-4" };
532
- const _hoisted_3$44 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
532
+ const _hoisted_3$45 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
533
533
  const _sfc_main$57 = /* @__PURE__ */ defineComponent({
534
534
  __name: "NotFound",
535
535
  setup(__props) {
@@ -544,7 +544,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
544
544
  createElementVNode("h1", { class: "text-9xl font-bold text-primary mb-4" }, "404"),
545
545
  createElementVNode("h2", { class: "text-3xl font-bold mb-4" }, "Page Not Found"),
546
546
  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. ")
547
- ], -1)), createElementVNode("div", _hoisted_3$44, [createVNode(_component_router_link, {
547
+ ], -1)), createElementVNode("div", _hoisted_3$45, [createVNode(_component_router_link, {
548
548
  to: { name: "Home" },
549
549
  class: "btn btn-primary"
550
550
  }, {
@@ -563,7 +563,7 @@ var NotFound_default = _sfc_main$57;
563
563
  //#region src/components/RightSidebar.vue
564
564
  const _hoisted_1$52 = { class: "drawer-side z-50" };
565
565
  const _hoisted_2$47 = { class: "menu p-3 w-80 h-full bg-base-200 text-base-content" };
566
- const _hoisted_3$43 = { class: "flex pb-2" };
566
+ const _hoisted_3$44 = { class: "flex pb-2" };
567
567
  const _hoisted_4$39 = { class: "pl-3" };
568
568
  const _sfc_main$56 = /* @__PURE__ */ defineComponent({
569
569
  __name: "RightSidebar",
@@ -583,7 +583,7 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
583
583
  for: "my-drawer-4",
584
584
  class: "drawer-overlay"
585
585
  }, null, -1)), createElementVNode("ul", _hoisted_2$47, [
586
- createElementVNode("div", _hoisted_3$43, [
586
+ createElementVNode("div", _hoisted_3$44, [
587
587
  _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)),
588
588
  createElementVNode("label", _hoisted_4$39, toDisplayString(unref(userSession).currentSession?.user?.username), 1),
589
589
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "grow" }, null, -1)),
@@ -711,10 +711,10 @@ const _hoisted_1$51 = {
711
711
  ref: "drawersidebar"
712
712
  };
713
713
  const _hoisted_2$46 = { class: "w-80 bg-base-200 h-full flex flex-col" };
714
- const _hoisted_3$42 = { class: "flex-1 overflow-y-auto overflow-x-hidden min-h-0" };
714
+ const _hoisted_3$43 = { class: "flex-1 overflow-y-auto overflow-x-hidden min-h-0" };
715
715
  const _hoisted_4$38 = { class: "menu p-3 w-full text-base-content" };
716
- const _hoisted_5$28 = { class: "flex" };
717
- const _hoisted_6$23 = { class: "font-title inline-flex text-2xl text-primary transition-all duration-200" };
716
+ const _hoisted_5$29 = { class: "flex" };
717
+ const _hoisted_6$24 = { class: "font-title inline-flex text-2xl text-primary transition-all duration-200" };
718
718
  const _hoisted_7$19 = ["src"];
719
719
  const _hoisted_8$19 = {
720
720
  key: 0,
@@ -767,9 +767,9 @@ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
767
767
  return openBlock(), createElementBlock("div", _hoisted_1$51, [_cache[3] || (_cache[3] = createElementVNode("label", {
768
768
  for: "drawer",
769
769
  class: "drawer-overlay"
770
- }, null, -1)), createElementVNode("aside", _hoisted_2$46, [createElementVNode("div", _hoisted_3$42, [createElementVNode("ul", _hoisted_4$38, [
771
- createElementVNode("div", _hoisted_5$28, [
772
- createElementVNode("div", _hoisted_6$23, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
770
+ }, null, -1)), createElementVNode("aside", _hoisted_2$46, [createElementVNode("div", _hoisted_3$43, [createElementVNode("ul", _hoisted_4$38, [
771
+ createElementVNode("div", _hoisted_5$29, [
772
+ createElementVNode("div", _hoisted_6$24, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
773
773
  key: 0,
774
774
  size: "sm"
775
775
  })) : (openBlock(), createElementBlock("img", {
@@ -821,13 +821,80 @@ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
821
821
  });
822
822
  var Sidebar_default = _sfc_main$55;
823
823
 
824
+ //#endregion
825
+ //#region src/composables/useEmailVerificationGuard.ts
826
+ /**
827
+ * Composable for email verification checks in soft/strict mode.
828
+ * Use to restrict features or show UI based on verification status.
829
+ */
830
+ function useEmailVerificationGuard() {
831
+ const { emailVerificationMode } = useEnv();
832
+ const session = useUserSessionStore();
833
+ const requiresVerification = computed(() => emailVerificationMode === "soft" || emailVerificationMode === "strict");
834
+ const isVerified = computed(() => session.userSession?.user.email_verified ?? true);
835
+ return {
836
+ requiresVerification,
837
+ isVerified,
838
+ showVerificationPrompt: computed(() => requiresVerification.value && !isVerified.value && !!session.userSession),
839
+ emailVerificationMode
840
+ };
841
+ }
842
+
843
+ //#endregion
844
+ //#region src/components/UnverifiedEmailBanner.vue
845
+ const _hoisted_1$50 = {
846
+ key: 0,
847
+ class: "bg-warning/20 border border-warning/50 text-warning-content px-4 py-2 flex items-center justify-between gap-4"
848
+ };
849
+ const _hoisted_2$45 = { class: "text-sm" };
850
+ const _hoisted_3$42 = ["disabled"];
851
+ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
852
+ __name: "UnverifiedEmailBanner",
853
+ setup(__props) {
854
+ const { showVerificationPrompt } = useEmailVerificationGuard();
855
+ const session = useUserSessionStore();
856
+ const resendLoading = ref(false);
857
+ const { mutate: resendMutate } = useMutation((api, _input) => {
858
+ const verifyEmail = api.verifyEmail;
859
+ if (!verifyEmail) throw new Error("Email verification is not configured");
860
+ return verifyEmail.resendVerificationEmail();
861
+ }, { skipAuthCheck: false });
862
+ const resendVerification = async () => {
863
+ try {
864
+ resendLoading.value = true;
865
+ if ((await resendMutate(void 0))?.ok) {
866
+ toast.success("Verification email sent. Please check your inbox.");
867
+ await session.refreshToken();
868
+ } else toast.error("Failed to resend verification email.");
869
+ } catch (error) {
870
+ toast.error(error instanceof Error ? error.message : "Failed to resend");
871
+ } finally {
872
+ resendLoading.value = false;
873
+ }
874
+ };
875
+ return (_ctx, _cache) => {
876
+ return unref(showVerificationPrompt) ? (openBlock(), createElementBlock("div", _hoisted_1$50, [createElementVNode("p", _hoisted_2$45, [
877
+ _cache[0] || (_cache[0] = createTextVNode(" Please verify your email. Check your inbox or ", -1)),
878
+ createElementVNode("button", {
879
+ type: "button",
880
+ class: "link link-hover font-medium underline",
881
+ disabled: resendLoading.value,
882
+ onClick: resendVerification
883
+ }, toDisplayString(resendLoading.value ? "Sending..." : "resend verification email"), 9, _hoisted_3$42),
884
+ _cache[1] || (_cache[1] = createTextVNode(". ", -1))
885
+ ])])) : createCommentVNode("v-if", true);
886
+ };
887
+ }
888
+ });
889
+ var UnverifiedEmailBanner_default = _sfc_main$54;
890
+
824
891
  //#endregion
825
892
  //#region src/layouts/Admin.vue
826
- const _hoisted_1$50 = { class: "drawer drawer-end" };
827
- const _hoisted_2$45 = { class: "drawer h-[calc(100vh_-_64px_-_64px)] bg-base-100" };
893
+ const _hoisted_1$49 = { class: "drawer drawer-end" };
894
+ const _hoisted_2$44 = { class: "drawer h-[calc(100vh_-_64px_-_64px)] bg-base-100" };
828
895
  const _hoisted_3$41 = { class: "drawer-content" };
829
896
  const _hoisted_4$37 = { class: "pr-1 pl-1 md:pr-4 md:pl-4" };
830
- const _sfc_main$54 = /* @__PURE__ */ defineComponent({
897
+ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
831
898
  __name: "Admin",
832
899
  props: {
833
900
  logoSrc: {},
@@ -835,7 +902,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
835
902
  },
836
903
  setup(__props) {
837
904
  return (_ctx, _cache) => {
838
- return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1$50, [createVNode(RightSidebar_default)]), createElementVNode("div", _hoisted_2$45, [
905
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1$49, [createVNode(RightSidebar_default)]), createElementVNode("div", _hoisted_2$44, [
839
906
  _cache[0] || (_cache[0] = createElementVNode("input", {
840
907
  id: "my-drawer-4",
841
908
  type: "checkbox",
@@ -851,43 +918,71 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
851
918
  };
852
919
  }
853
920
  });
854
- var Admin_default = _sfc_main$54;
921
+ var Admin_default = _sfc_main$53;
855
922
 
856
923
  //#endregion
857
924
  //#region src/layouts/Auth.vue
858
- const _hoisted_1$49 = { class: "m-4" };
859
- const _hoisted_2$44 = { class: "flex justify-center mb-6" };
860
- const _hoisted_3$40 = ["src"];
861
- const _hoisted_4$36 = { class: "min-h-screen bg-base-100 flex flex-col" };
862
- const _sfc_main$53 = /* @__PURE__ */ defineComponent({
925
+ const _hoisted_1$48 = { class: "m-4" };
926
+ const _hoisted_2$43 = {
927
+ key: 0,
928
+ class: "flex justify-center mb-2"
929
+ };
930
+ const _hoisted_3$40 = { class: "flex flex-wrap gap-4 text-sm" };
931
+ const _hoisted_4$36 = { class: "flex justify-center mb-6" };
932
+ const _hoisted_5$28 = ["src"];
933
+ const _hoisted_6$23 = { class: "min-h-screen bg-base-100 flex flex-col" };
934
+ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
863
935
  __name: "Auth",
864
- props: { logoSrc: {} },
936
+ props: {
937
+ logoSrc: {},
938
+ backLinks: {}
939
+ },
865
940
  setup(__props) {
941
+ const props = __props;
866
942
  const imageLoadFailed = ref(false);
943
+ const backLinks = computed(() => {
944
+ const v = props.backLinks;
945
+ if (!v) return [];
946
+ return Array.isArray(v) ? v : [v];
947
+ });
948
+ const hasBackLinks = computed(() => backLinks.value.length > 0);
867
949
  return (_ctx, _cache) => {
868
- return openBlock(), createElementBlock("div", _hoisted_1$49, [createElementVNode("div", _hoisted_2$44, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
869
- key: 0,
870
- size: "md"
871
- })) : (openBlock(), createElementBlock("img", {
872
- key: 1,
873
- src: __props.logoSrc,
874
- alt: "logo",
875
- class: "h-24",
876
- onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
877
- }, null, 40, _hoisted_3$40))])]), createElementVNode("div", _hoisted_4$36, [createVNode(unref(RouterView))])]);
950
+ return openBlock(), createElementBlock("div", _hoisted_1$48, [
951
+ hasBackLinks.value ? (openBlock(), createElementBlock("div", _hoisted_2$43, [createElementVNode("nav", _hoisted_3$40, [(openBlock(true), createElementBlock(Fragment, null, renderList(backLinks.value, (link, i) => {
952
+ return openBlock(), createBlock(AppLink_default, {
953
+ key: i,
954
+ to: link.to,
955
+ class: "link link-hover"
956
+ }, {
957
+ default: withCtx(() => [createTextVNode(toDisplayString(link.label ?? "Back to site"), 1)]),
958
+ _: 2
959
+ }, 1032, ["to"]);
960
+ }), 128))])])) : createCommentVNode("v-if", true),
961
+ createElementVNode("div", _hoisted_4$36, [renderSlot(_ctx.$slots, "logo", {}, () => [!__props.logoSrc || imageLoadFailed.value ? (openBlock(), createBlock(LogoPlaceholder_default, {
962
+ key: 0,
963
+ size: "md"
964
+ })) : (openBlock(), createElementBlock("img", {
965
+ key: 1,
966
+ src: __props.logoSrc,
967
+ alt: "logo",
968
+ class: "h-24",
969
+ onError: _cache[0] || (_cache[0] = ($event) => imageLoadFailed.value = true)
970
+ }, null, 40, _hoisted_5$28))])]),
971
+ createElementVNode("div", _hoisted_6$23, [createVNode(unref(RouterView))])
972
+ ]);
878
973
  };
879
974
  }
880
975
  });
881
- var Auth_default = _sfc_main$53;
976
+ var Auth_default = _sfc_main$52;
882
977
 
883
978
  //#endregion
884
979
  //#region src/layouts/Default.vue
885
- const _hoisted_1$48 = { class: "m-4" };
886
- const _sfc_main$52 = /* @__PURE__ */ defineComponent({
980
+ const _hoisted_1$47 = { class: "m-4" };
981
+ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
887
982
  __name: "Default",
888
983
  setup(__props) {
889
984
  return (_ctx, _cache) => {
890
- return openBlock(), createElementBlock("div", _hoisted_1$48, [createVNode(AppLink_default, {
985
+ return openBlock(), createElementBlock("div", _hoisted_1$47, [createVNode(AppLink_default, {
891
986
  to: "/auth/login",
892
987
  "aria-current": "page",
893
988
  "aria-label": "Homepage",
@@ -899,19 +994,19 @@ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
899
994
  };
900
995
  }
901
996
  });
902
- var Default_default = _sfc_main$52;
997
+ var Default_default = _sfc_main$51;
903
998
 
904
999
  //#endregion
905
1000
  //#region src/layouts/InApp.vue
906
- const _hoisted_1$47 = { class: "drawer drawer-end" };
907
- const _hoisted_2$43 = { class: "drawer h-[calc(100vh_)]" };
1001
+ const _hoisted_1$46 = { class: "drawer drawer-end" };
1002
+ const _hoisted_2$42 = { class: "drawer h-[calc(100vh_)]" };
908
1003
  const _hoisted_3$39 = { class: "drawer-content flex flex-col" };
909
1004
  const _hoisted_4$35 = {
910
1005
  key: 0,
911
1006
  class: "z-20"
912
1007
  };
913
1008
  const _hoisted_5$27 = { class: "flex-1 px-3 sm:px-4 md:px-6 pb-4" };
914
- const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1009
+ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
915
1010
  __name: "InApp",
916
1011
  props: {
917
1012
  logoSrc: {},
@@ -974,10 +1069,10 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
974
1069
  return route.meta.currentTab || "";
975
1070
  });
976
1071
  return (_ctx, _cache) => {
977
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Right sidebar drawer "), createElementVNode("div", _hoisted_1$47, [
1072
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Right sidebar drawer "), createElementVNode("div", _hoisted_1$46, [
978
1073
  createVNode(RightSidebar_default),
979
1074
  createCommentVNode(" Left sidebar drawer "),
980
- createElementVNode("div", _hoisted_2$43, [
1075
+ createElementVNode("div", _hoisted_2$42, [
981
1076
  _cache[0] || (_cache[0] = createElementVNode("input", {
982
1077
  id: "drawer",
983
1078
  type: "checkbox",
@@ -990,6 +1085,7 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
990
1085
  breadcrumbs: currentBreadcrumbs.value,
991
1086
  logoSrc: __props.navbarLogoSrc
992
1087
  }, null, 8, ["breadcrumbs", "logoSrc"]),
1088
+ createVNode(UnverifiedEmailBanner_default),
993
1089
  createCommentVNode(" Unified navigation with AppHeader (only shown when needed) "),
994
1090
  shouldShowAppHeader.value ? (openBlock(), createElementBlock("div", _hoisted_4$35, [createVNode(AppHeader_default, {
995
1091
  tabs: currentSectionTabs.value,
@@ -1009,14 +1105,14 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1009
1105
  };
1010
1106
  }
1011
1107
  });
1012
- var InApp_default = _sfc_main$51;
1108
+ var InApp_default = _sfc_main$50;
1013
1109
 
1014
1110
  //#endregion
1015
1111
  //#region src/components/ui/FieldDisplay.vue
1016
- const _hoisted_1$46 = { class: "label" };
1017
- const _hoisted_2$42 = { class: "label-text font-medium" };
1112
+ const _hoisted_1$45 = { class: "label" };
1113
+ const _hoisted_2$41 = { class: "label-text font-medium" };
1018
1114
  const _hoisted_3$38 = { class: "text-base-content" };
1019
- const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1115
+ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1020
1116
  __name: "FieldDisplay",
1021
1117
  props: {
1022
1118
  label: {},
@@ -1025,33 +1121,33 @@ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1025
1121
  },
1026
1122
  setup(__props) {
1027
1123
  return (_ctx, _cache) => {
1028
- return openBlock(), createElementBlock("div", { class: normalizeClass(["form-control", { "md:col-span-2": __props.fullWidth }]) }, [createElementVNode("label", _hoisted_1$46, [createElementVNode("span", _hoisted_2$42, toDisplayString(__props.label), 1)]), createElementVNode("div", _hoisted_3$38, toDisplayString(__props.value ?? "-"), 1)], 2);
1124
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["form-control", { "md:col-span-2": __props.fullWidth }]) }, [createElementVNode("label", _hoisted_1$45, [createElementVNode("span", _hoisted_2$41, toDisplayString(__props.label), 1)]), createElementVNode("div", _hoisted_3$38, toDisplayString(__props.value ?? "-"), 1)], 2);
1029
1125
  };
1030
1126
  }
1031
1127
  });
1032
- var FieldDisplay_default = _sfc_main$50;
1128
+ var FieldDisplay_default = _sfc_main$49;
1033
1129
 
1034
1130
  //#endregion
1035
1131
  //#region src/components/ui/FieldGroup.vue
1036
- const _hoisted_1$45 = { class: "card bg-base-100 shadow-sm" };
1037
- const _hoisted_2$41 = { class: "card-body" };
1132
+ const _hoisted_1$44 = { class: "card bg-base-100 shadow-sm" };
1133
+ const _hoisted_2$40 = { class: "card-body" };
1038
1134
  const _hoisted_3$37 = { class: "card-title text-lg mb-4" };
1039
1135
  const _hoisted_4$34 = { class: "grid grid-cols-1 md:grid-cols-2 gap-4" };
1040
- const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1136
+ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1041
1137
  __name: "FieldGroup",
1042
1138
  props: { title: {} },
1043
1139
  setup(__props) {
1044
1140
  return (_ctx, _cache) => {
1045
- return openBlock(), createElementBlock("div", _hoisted_1$45, [createElementVNode("div", _hoisted_2$41, [createElementVNode("h2", _hoisted_3$37, toDisplayString(__props.title), 1), createElementVNode("div", _hoisted_4$34, [renderSlot(_ctx.$slots, "default")])])]);
1141
+ return openBlock(), createElementBlock("div", _hoisted_1$44, [createElementVNode("div", _hoisted_2$40, [createElementVNode("h2", _hoisted_3$37, toDisplayString(__props.title), 1), createElementVNode("div", _hoisted_4$34, [renderSlot(_ctx.$slots, "default")])])]);
1046
1142
  };
1047
1143
  }
1048
1144
  });
1049
- var FieldGroup_default = _sfc_main$49;
1145
+ var FieldGroup_default = _sfc_main$48;
1050
1146
 
1051
1147
  //#endregion
1052
1148
  //#region src/components/ui/FileManager.vue
1053
- const _hoisted_1$44 = { class: "w-full px-2 sm:px-0" };
1054
- const _hoisted_2$40 = { class: "mb-4" };
1149
+ const _hoisted_1$43 = { class: "w-full px-2 sm:px-0" };
1150
+ const _hoisted_2$39 = { class: "mb-4" };
1055
1151
  const _hoisted_3$36 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3 mb-3" };
1056
1152
  const _hoisted_4$33 = { class: "text-lg font-medium" };
1057
1153
  const _hoisted_5$26 = { class: "flex gap-2 sm:hidden" };
@@ -1171,7 +1267,7 @@ const _hoisted_68 = { class: "flex items-center gap-2" };
1171
1267
  const _hoisted_69 = { class: "font-medium" };
1172
1268
  const _hoisted_70 = { class: "text-base-content/70" };
1173
1269
  const DEFAULT_MAX_FILE_SIZE = 50 * 1024 * 1024;
1174
- const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1270
+ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
1175
1271
  __name: "FileManager",
1176
1272
  props: {
1177
1273
  recordId: {},
@@ -1543,9 +1639,9 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1543
1639
  return "badge-neutral";
1544
1640
  };
1545
1641
  return (_ctx, _cache) => {
1546
- return openBlock(), createElementBlock("div", _hoisted_1$44, [
1642
+ return openBlock(), createElementBlock("div", _hoisted_1$43, [
1547
1643
  createCommentVNode(" File Manager Header "),
1548
- createElementVNode("div", _hoisted_2$40, [
1644
+ createElementVNode("div", _hoisted_2$39, [
1549
1645
  createCommentVNode(" Mobile: Stacked layout "),
1550
1646
  createElementVNode("div", _hoisted_3$36, [
1551
1647
  createElementVNode("h3", _hoisted_4$33, toDisplayString(config.value.title || "Attachments"), 1),
@@ -1886,12 +1982,12 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1886
1982
  };
1887
1983
  }
1888
1984
  });
1889
- var FileManager_default = _sfc_main$48;
1985
+ var FileManager_default = _sfc_main$47;
1890
1986
 
1891
1987
  //#endregion
1892
1988
  //#region src/components/ui/KeyValueEditor.vue
1893
- const _hoisted_1$43 = { class: "key-value-editor col-span-full" };
1894
- const _hoisted_2$39 = {
1989
+ const _hoisted_1$42 = { class: "key-value-editor col-span-full" };
1990
+ const _hoisted_2$38 = {
1895
1991
  key: 0,
1896
1992
  class: "mb-2"
1897
1993
  };
@@ -1926,7 +2022,7 @@ const _hoisted_13$9 = {
1926
2022
  key: 2,
1927
2023
  class: "text-center py-4 text-base-content/60"
1928
2024
  };
1929
- const _sfc_main$47 = /* @__PURE__ */ defineComponent({
2025
+ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
1930
2026
  __name: "KeyValueEditor",
1931
2027
  props: {
1932
2028
  modelValue: { default: null },
@@ -2005,8 +2101,8 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
2005
2101
  pair[field] = value;
2006
2102
  };
2007
2103
  return (_ctx, _cache) => {
2008
- return openBlock(), createElementBlock("div", _hoisted_1$43, [
2009
- __props.label || __props.helpText ? (openBlock(), createElementBlock("div", _hoisted_2$39, [__props.label ? (openBlock(), createElementBlock("label", _hoisted_3$35, [createElementVNode("span", _hoisted_4$32, toDisplayString(__props.label), 1)])) : createCommentVNode("v-if", true), __props.helpText ? (openBlock(), createElementBlock("p", _hoisted_5$25, toDisplayString(__props.helpText), 1)) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true),
2104
+ return openBlock(), createElementBlock("div", _hoisted_1$42, [
2105
+ __props.label || __props.helpText ? (openBlock(), createElementBlock("div", _hoisted_2$38, [__props.label ? (openBlock(), createElementBlock("label", _hoisted_3$35, [createElementVNode("span", _hoisted_4$32, toDisplayString(__props.label), 1)])) : createCommentVNode("v-if", true), __props.helpText ? (openBlock(), createElementBlock("p", _hoisted_5$25, toDisplayString(__props.helpText), 1)) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true),
2010
2106
  __props.error ? (openBlock(), createElementBlock("div", _hoisted_6$21, toDisplayString(__props.error), 1)) : createCommentVNode("v-if", true),
2011
2107
  createElementVNode("div", _hoisted_7$17, [
2012
2108
  createCommentVNode(" Key-Value Pairs List "),
@@ -2072,20 +2168,20 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
2072
2168
  };
2073
2169
  }
2074
2170
  });
2075
- var KeyValueEditor_default = /* @__PURE__ */ export_helper_default(_sfc_main$47, [["__scopeId", "data-v-010818ef"]]);
2171
+ var KeyValueEditor_default = /* @__PURE__ */ export_helper_default(_sfc_main$46, [["__scopeId", "data-v-010818ef"]]);
2076
2172
 
2077
2173
  //#endregion
2078
2174
  //#region src/components/ui/LoadingErrorStates.vue
2079
- const _hoisted_1$42 = {
2175
+ const _hoisted_1$41 = {
2080
2176
  key: 0,
2081
2177
  class: "text-center py-8"
2082
2178
  };
2083
- const _hoisted_2$38 = { class: "text-base-content/70 mt-2" };
2179
+ const _hoisted_2$37 = { class: "text-base-content/70 mt-2" };
2084
2180
  const _hoisted_3$34 = { class: "text-center py-8" };
2085
2181
  const _hoisted_4$31 = { class: "alert alert-error max-w-md mx-auto" };
2086
2182
  const _hoisted_5$24 = { class: "font-bold" };
2087
2183
  const _hoisted_6$20 = { class: "text-sm" };
2088
- const _sfc_main$46 = /* @__PURE__ */ defineComponent({
2184
+ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
2089
2185
  __name: "LoadingErrorStates",
2090
2186
  props: {
2091
2187
  isLoading: { type: Boolean },
@@ -2105,7 +2201,7 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
2105
2201
  emit("retry");
2106
2202
  }
2107
2203
  return (_ctx, _cache) => {
2108
- return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Loading State "), __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$42, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[0] || (_cache[0] = createElementVNode("div", { class: "flex justify-center" }, [createElementVNode("span", { class: "loading loading-spinner loading-lg" })], -1)), createElementVNode("p", _hoisted_2$38, toDisplayString(config.value.loadingText || "Loading..."), 1)])])) : __props.error ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), createElementVNode("div", _hoisted_3$34, [renderSlot(_ctx.$slots, "error", {
2204
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" Loading State "), __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$41, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[0] || (_cache[0] = createElementVNode("div", { class: "flex justify-center" }, [createElementVNode("span", { class: "loading loading-spinner loading-lg" })], -1)), createElementVNode("p", _hoisted_2$37, toDisplayString(config.value.loadingText || "Loading..."), 1)])])) : __props.error ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), createElementVNode("div", _hoisted_3$34, [renderSlot(_ctx.$slots, "error", {
2109
2205
  error: __props.error,
2110
2206
  retry: handleRetry
2111
2207
  }, () => [createElementVNode("div", _hoisted_4$31, [_cache[1] || (_cache[1] = createElementVNode("svg", {
@@ -2130,15 +2226,15 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
2130
2226
  };
2131
2227
  }
2132
2228
  });
2133
- var LoadingErrorStates_default = _sfc_main$46;
2229
+ var LoadingErrorStates_default = _sfc_main$45;
2134
2230
 
2135
2231
  //#endregion
2136
2232
  //#region src/components/ui/RecordChangesSummary.vue
2137
- const _hoisted_1$41 = {
2233
+ const _hoisted_1$40 = {
2138
2234
  key: 0,
2139
2235
  class: "card bg-base-100 shadow-sm mb-4"
2140
2236
  };
2141
- const _hoisted_2$37 = { class: "card-body p-3 sm:p-5" };
2237
+ const _hoisted_2$36 = { class: "card-body p-3 sm:p-5" };
2142
2238
  const _hoisted_3$33 = { class: "flex justify-between items-center" };
2143
2239
  const _hoisted_4$30 = { class: "card-title text-base sm:text-lg" };
2144
2240
  const _hoisted_5$23 = { key: 0 };
@@ -2157,7 +2253,7 @@ const _hoisted_17$6 = {
2157
2253
  key: 1,
2158
2254
  class: "mt-2 text-sm text-base-content/70"
2159
2255
  };
2160
- const _sfc_main$45 = /* @__PURE__ */ defineComponent({
2256
+ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
2161
2257
  __name: "RecordChangesSummary",
2162
2258
  props: {
2163
2259
  changedFields: {},
@@ -2196,7 +2292,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
2196
2292
  return defaultValueFormatter(value);
2197
2293
  }
2198
2294
  return (_ctx, _cache) => {
2199
- return __props.changedFields.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$41, [createElementVNode("div", _hoisted_2$37, [createElementVNode("div", _hoisted_3$33, [createElementVNode("h2", _hoisted_4$30, toDisplayString(config.value.title || "Changes in This Version"), 1), createElementVNode("button", {
2295
+ return __props.changedFields.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$40, [createElementVNode("div", _hoisted_2$36, [createElementVNode("div", _hoisted_3$33, [createElementVNode("h2", _hoisted_4$30, toDisplayString(config.value.title || "Changes in This Version"), 1), createElementVNode("button", {
2200
2296
  onClick: _cache[0] || (_cache[0] = ($event) => showChanges.value = !showChanges.value),
2201
2297
  class: "btn btn-sm btn-info"
2202
2298
  }, toDisplayString(showChanges.value ? config.value.hideText || "Hide Changes" : config.value.showText || "Show Changes"), 1)]), showChanges.value ? (openBlock(), createElementBlock("div", _hoisted_5$23, [
@@ -2223,12 +2319,12 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
2223
2319
  };
2224
2320
  }
2225
2321
  });
2226
- var RecordChangesSummary_default = _sfc_main$45;
2322
+ var RecordChangesSummary_default = _sfc_main$44;
2227
2323
 
2228
2324
  //#endregion
2229
2325
  //#region src/components/ui/RecordVersionList.vue
2230
- const _hoisted_1$40 = { class: "space-y-4" };
2231
- const _hoisted_2$36 = {
2326
+ const _hoisted_1$39 = { class: "space-y-4" };
2327
+ const _hoisted_2$35 = {
2232
2328
  key: 0,
2233
2329
  class: "space-y-4"
2234
2330
  };
@@ -2256,7 +2352,7 @@ const _hoisted_16$6 = {
2256
2352
  class: "text-center py-4"
2257
2353
  };
2258
2354
  const _hoisted_17$5 = ["disabled"];
2259
- const _sfc_main$44 = /* @__PURE__ */ defineComponent({
2355
+ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
2260
2356
  __name: "RecordVersionList",
2261
2357
  props: {
2262
2358
  versions: {},
@@ -2325,7 +2421,7 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
2325
2421
  }[operation] || "badge-neutral";
2326
2422
  }
2327
2423
  return (_ctx, _cache) => {
2328
- return openBlock(), createElementBlock("div", _hoisted_1$40, [createCommentVNode(" Loading State "), __props.loading ? (openBlock(), createElementBlock("div", _hoisted_2$36, [(openBlock(), createElementBlock(Fragment, null, renderList(3, (i) => {
2424
+ return openBlock(), createElementBlock("div", _hoisted_1$39, [createCommentVNode(" Loading State "), __props.loading ? (openBlock(), createElementBlock("div", _hoisted_2$35, [(openBlock(), createElementBlock(Fragment, null, renderList(3, (i) => {
2329
2425
  return createElementVNode("div", {
2330
2426
  key: i,
2331
2427
  class: "card bg-base-100 shadow-xs animate-pulse"
@@ -2384,12 +2480,12 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
2384
2480
  };
2385
2481
  }
2386
2482
  });
2387
- var RecordVersionList_default = _sfc_main$44;
2483
+ var RecordVersionList_default = _sfc_main$43;
2388
2484
 
2389
2485
  //#endregion
2390
2486
  //#region src/components/ui/RecordVersionViewer.vue
2391
- const _hoisted_1$39 = { class: "sticky top-0 z-10 bg-base-100 shadow-sm" };
2392
- const _hoisted_2$35 = { class: "flex justify-between items-center p-4 border-b" };
2487
+ const _hoisted_1$38 = { class: "sticky top-0 z-10 bg-base-100 shadow-sm" };
2488
+ const _hoisted_2$34 = { class: "flex justify-between items-center p-4 border-b" };
2393
2489
  const _hoisted_3$31 = { class: "text-lg font-semibold" };
2394
2490
  const _hoisted_4$28 = {
2395
2491
  key: 0,
@@ -2425,7 +2521,7 @@ const _hoisted_19$4 = { class: "space-y-4" };
2425
2521
  const _hoisted_20$4 = { class: "p-4 bg-base-100 rounded-lg shadow-sm" };
2426
2522
  const _hoisted_21$3 = { class: "font-semibold mb-2" };
2427
2523
  const _hoisted_22$3 = { class: "text-xs bg-base-200 p-3 rounded overflow-auto max-h-96" };
2428
- const _sfc_main$43 = /* @__PURE__ */ defineComponent({
2524
+ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
2429
2525
  __name: "RecordVersionViewer",
2430
2526
  props: {
2431
2527
  version: {},
@@ -2479,11 +2575,11 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
2479
2575
  return (_ctx, _cache) => {
2480
2576
  return openBlock(), createElementBlock("div", null, [
2481
2577
  createCommentVNode(" Version Header - sticky on mobile "),
2482
- createElementVNode("div", _hoisted_1$39, [renderSlot(_ctx.$slots, "header", {
2578
+ createElementVNode("div", _hoisted_1$38, [renderSlot(_ctx.$slots, "header", {
2483
2579
  version: __props.version,
2484
2580
  isLoading: __props.isLoading,
2485
2581
  isRestoring: __props.isRestoring
2486
- }, () => [createCommentVNode(" Default header "), createElementVNode("div", _hoisted_2$35, [createElementVNode("div", null, [createElementVNode("h1", _hoisted_3$31, toDisplayString(config.value.title || `View ${config.value.recordDisplayName || "Record"} Version`), 1), __props.version ? (openBlock(), createElementBlock("div", _hoisted_4$28, toDisplayString(formatVersionInfo(__props.version)), 1)) : createCommentVNode("v-if", true)]), createElementVNode("div", _hoisted_5$21, [
2582
+ }, () => [createCommentVNode(" Default header "), createElementVNode("div", _hoisted_2$34, [createElementVNode("div", null, [createElementVNode("h1", _hoisted_3$31, toDisplayString(config.value.title || `View ${config.value.recordDisplayName || "Record"} Version`), 1), __props.version ? (openBlock(), createElementBlock("div", _hoisted_4$28, toDisplayString(formatVersionInfo(__props.version)), 1)) : createCommentVNode("v-if", true)]), createElementVNode("div", _hoisted_5$21, [
2487
2583
  createCommentVNode(" Back button "),
2488
2584
  config.value.onBack ? (openBlock(), createElementBlock("button", {
2489
2585
  key: 0,
@@ -2558,23 +2654,23 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
2558
2654
  };
2559
2655
  }
2560
2656
  });
2561
- var RecordVersionViewer_default = _sfc_main$43;
2657
+ var RecordVersionViewer_default = _sfc_main$42;
2562
2658
 
2563
2659
  //#endregion
2564
2660
  //#region src/components/ui/SummarySection.vue
2565
- const _hoisted_1$38 = { class: "bg-base-100 p-2 md:p-4 rounded-box overflow-hidden" };
2566
- const _hoisted_2$34 = { class: "text-lg font-bold mb-2" };
2661
+ const _hoisted_1$37 = { class: "bg-base-100 p-2 md:p-4 rounded-box overflow-hidden" };
2662
+ const _hoisted_2$33 = { class: "text-lg font-bold mb-2" };
2567
2663
  const _hoisted_3$30 = { class: "grid grid-auto-rows auto-rows-auto gap-x-4 gap-y-1" };
2568
- const _sfc_main$42 = /* @__PURE__ */ defineComponent({
2664
+ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
2569
2665
  __name: "SummarySection",
2570
2666
  props: { title: {} },
2571
2667
  setup(__props) {
2572
2668
  return (_ctx, _cache) => {
2573
- return openBlock(), createElementBlock("div", _hoisted_1$38, [createElementVNode("h2", _hoisted_2$34, toDisplayString(__props.title), 1), createElementVNode("div", _hoisted_3$30, [renderSlot(_ctx.$slots, "default")])]);
2669
+ return openBlock(), createElementBlock("div", _hoisted_1$37, [createElementVNode("h2", _hoisted_2$33, toDisplayString(__props.title), 1), createElementVNode("div", _hoisted_3$30, [renderSlot(_ctx.$slots, "default")])]);
2574
2670
  };
2575
2671
  }
2576
2672
  });
2577
- var SummarySection_default = _sfc_main$42;
2673
+ var SummarySection_default = _sfc_main$41;
2578
2674
 
2579
2675
  //#endregion
2580
2676
  //#region src/composables/useUserLookup.ts
@@ -3055,7 +3151,7 @@ const userRoutes = [{
3055
3151
  {
3056
3152
  path: "appearance",
3057
3153
  name: "Appearance",
3058
- component: () => import("./Appearance-C3WguxT-.js"),
3154
+ component: () => import("./Appearance-CohgRf-_.js"),
3059
3155
  meta: {
3060
3156
  title: "Appearance",
3061
3157
  description: "Appearance page for Category 5 App"
@@ -3064,7 +3160,7 @@ const userRoutes = [{
3064
3160
  {
3065
3161
  path: "profile",
3066
3162
  name: "Profile",
3067
- component: () => import("./UserProfilePage-Q68NAGQQ.js"),
3163
+ component: () => import("./UserProfilePage-D52_Q5yf.js"),
3068
3164
  meta: {
3069
3165
  title: "Profile",
3070
3166
  description: "Profile page for Category 5 App"
@@ -3073,7 +3169,7 @@ const userRoutes = [{
3073
3169
  {
3074
3170
  path: "password",
3075
3171
  name: "Password",
3076
- component: () => import("./ChangePasswordPage-Dm5vW0nl.js"),
3172
+ component: () => import("./ChangePasswordPage-DqnWhaUa.js"),
3077
3173
  meta: {
3078
3174
  title: "Password",
3079
3175
  description: "Password page for Category 5 App"
@@ -3157,7 +3253,7 @@ const teamMemberRoutes = [
3157
3253
  {
3158
3254
  path: teamMemberPaths.list.path,
3159
3255
  name: teamMemberPaths.list.name,
3160
- component: () => import("./TeamMemberList-BwqpVaNc.js"),
3256
+ component: () => import("./TeamMemberList-CEV6-g3t.js"),
3161
3257
  beforeEnter: [userAuthenticated],
3162
3258
  meta: {
3163
3259
  title: "Team Members",
@@ -3167,7 +3263,7 @@ const teamMemberRoutes = [
3167
3263
  {
3168
3264
  path: teamMemberPaths.create.path,
3169
3265
  name: teamMemberPaths.create.name,
3170
- component: () => import("./CreateTeamMemberForm-CcdQys0C.js"),
3266
+ component: () => import("./CreateTeamMemberForm-DR0krDAy.js"),
3171
3267
  beforeEnter: [userAuthenticated],
3172
3268
  meta: {
3173
3269
  title: "Create Team Member",
@@ -3176,7 +3272,7 @@ const teamMemberRoutes = [
3176
3272
  },
3177
3273
  {
3178
3274
  path: teamMemberPaths.view.path,
3179
- component: () => import("./TeamMemberParent-DIxwJ6EP.js"),
3275
+ component: () => import("./TeamMemberParent-D-MnEdRq.js"),
3180
3276
  beforeEnter: [userAuthenticated],
3181
3277
  meta: { sectionTabs: [{
3182
3278
  id: "view",
@@ -3190,7 +3286,7 @@ const teamMemberRoutes = [
3190
3286
  children: [{
3191
3287
  path: "",
3192
3288
  name: teamMemberPaths.view.name,
3193
- component: () => import("./ViewTeamMember-DKBKSsAc.js"),
3289
+ component: () => import("./ViewTeamMember-sJb79wUy.js"),
3194
3290
  meta: {
3195
3291
  title: "View Team Member",
3196
3292
  description: "View team member details",
@@ -3199,7 +3295,7 @@ const teamMemberRoutes = [
3199
3295
  }, {
3200
3296
  path: teamMemberPaths.edit.path,
3201
3297
  name: teamMemberPaths.edit.name,
3202
- component: () => import("./EditTeamMemberForm-B8-pI6Xm.js"),
3298
+ component: () => import("./EditTeamMemberForm-8CNRrEIT.js"),
3203
3299
  meta: {
3204
3300
  title: "Edit Team Member",
3205
3301
  description: "Edit team member details",
@@ -3263,7 +3359,7 @@ const teamRoutes = [{
3263
3359
  {
3264
3360
  path: teamPaths.list.path,
3265
3361
  name: teamPaths.list.name,
3266
- component: () => import("./TeamList-BOXFY4cO.js"),
3362
+ component: () => import("./TeamList-DrMqaMvI.js"),
3267
3363
  meta: {
3268
3364
  title: "Teams",
3269
3365
  description: "Manage teams",
@@ -3281,7 +3377,7 @@ const teamRoutes = [{
3281
3377
  {
3282
3378
  path: teamPaths.create.path,
3283
3379
  name: teamPaths.create.name,
3284
- component: () => import("./CreateTeamForm-Cm8DOOXF.js"),
3380
+ component: () => import("./CreateTeamForm-DH0k3ra-.js"),
3285
3381
  meta: {
3286
3382
  title: "Create Team",
3287
3383
  description: "Create new team",
@@ -3296,7 +3392,7 @@ const teamRoutes = [{
3296
3392
  },
3297
3393
  {
3298
3394
  path: teamPaths.view.path,
3299
- component: () => import("./TeamParent-pEhBNWqh.js"),
3395
+ component: () => import("./TeamParent-Dw6Njuup.js"),
3300
3396
  meta: { sectionTabs: [
3301
3397
  {
3302
3398
  id: "view",
@@ -3333,7 +3429,7 @@ const teamRoutes = [{
3333
3429
  {
3334
3430
  path: "",
3335
3431
  name: teamPaths.view.name,
3336
- component: () => import("./ViewTeam-Cexcjy9c.js"),
3432
+ component: () => import("./ViewTeam-D9PDDpY6.js"),
3337
3433
  meta: {
3338
3434
  title: "View Team",
3339
3435
  description: "View team details",
@@ -3343,7 +3439,7 @@ const teamRoutes = [{
3343
3439
  {
3344
3440
  path: teamPaths.edit.path,
3345
3441
  name: teamPaths.edit.name,
3346
- component: () => import("./EditTeamForm-DzEAqBhc.js"),
3442
+ component: () => import("./EditTeamForm-COtlNY2k.js"),
3347
3443
  meta: {
3348
3444
  title: "Edit Team",
3349
3445
  description: "Edit team details",
@@ -3353,7 +3449,7 @@ const teamRoutes = [{
3353
3449
  {
3354
3450
  path: teamPaths.notes.path,
3355
3451
  name: teamPaths.notes.name,
3356
- component: () => import("./TeamNotesTab-Crp-afAe.js"),
3452
+ component: () => import("./TeamNotesTab-BlmZQfCR.js"),
3357
3453
  meta: {
3358
3454
  title: "Team Notes",
3359
3455
  description: "View and manage notes",
@@ -3363,7 +3459,7 @@ const teamRoutes = [{
3363
3459
  {
3364
3460
  path: teamPaths.attachments.path,
3365
3461
  name: teamPaths.attachments.name,
3366
- component: () => import("./TeamAttachmentsTab-VUrIDPW6.js"),
3462
+ component: () => import("./TeamAttachmentsTab-B6_qHPKJ.js"),
3367
3463
  meta: {
3368
3464
  title: "Team Attachments",
3369
3465
  description: "View and manage attachments",
@@ -3373,7 +3469,7 @@ const teamRoutes = [{
3373
3469
  {
3374
3470
  path: teamPaths.history.path,
3375
3471
  name: teamPaths.history.name,
3376
- component: () => import("./TeamHistoryTab-siesF93u.js"),
3472
+ component: () => import("./TeamHistoryTab-HXc3zqhQ.js"),
3377
3473
  meta: {
3378
3474
  title: "Team History",
3379
3475
  description: "View audit trail and changes",
@@ -3383,7 +3479,7 @@ const teamRoutes = [{
3383
3479
  {
3384
3480
  path: teamPaths.members.path,
3385
3481
  name: teamPaths.members.name,
3386
- component: () => import("./TeamMembersTab-DTJxmb-M.js"),
3482
+ component: () => import("./TeamMembersTab-CpE9BaCi.js"),
3387
3483
  meta: {
3388
3484
  title: "Team Members",
3389
3485
  description: "View and manage team members",
@@ -3398,11 +3494,11 @@ const teamRoutes = [{
3398
3494
 
3399
3495
  //#endregion
3400
3496
  //#region src/slices/team/CreateTeamForm.vue
3401
- const _hoisted_1$37 = {
3497
+ const _hoisted_1$36 = {
3402
3498
  key: 0,
3403
3499
  class: "flex flex-col items-center justify-center p-8"
3404
3500
  };
3405
- const _hoisted_2$33 = {
3501
+ const _hoisted_2$32 = {
3406
3502
  key: 1,
3407
3503
  class: "flex flex-col items-center justify-center p-8"
3408
3504
  };
@@ -3412,7 +3508,7 @@ const _hoisted_4$27 = {
3412
3508
  class: "alert alert-error mb-4"
3413
3509
  };
3414
3510
  const _hoisted_5$20 = { class: "flex justify-center mt-6" };
3415
- const _sfc_main$41 = /* @__PURE__ */ defineComponent({
3511
+ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
3416
3512
  __name: "CreateTeamForm",
3417
3513
  setup(__props) {
3418
3514
  const router = useRouter();
@@ -3443,7 +3539,7 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
3443
3539
  form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
3444
3540
  };
3445
3541
  return (_ctx, _cache) => {
3446
- return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$37, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$33, [createElementVNode("p", _hoisted_3$29, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
3542
+ return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$36, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$32, [createElementVNode("p", _hoisted_3$29, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
3447
3543
  key: 2,
3448
3544
  onHandleSubmit: handleSubmit,
3449
3545
  onSuccess: handleSuccess,
@@ -3525,15 +3621,15 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
3525
3621
  };
3526
3622
  }
3527
3623
  });
3528
- var CreateTeamForm_default = _sfc_main$41;
3624
+ var CreateTeamForm_default = _sfc_main$40;
3529
3625
 
3530
3626
  //#endregion
3531
3627
  //#region src/slices/team/EditTeamForm.vue
3532
- const _hoisted_1$36 = {
3628
+ const _hoisted_1$35 = {
3533
3629
  key: 0,
3534
3630
  class: "flex justify-center items-center p-8"
3535
3631
  };
3536
- const _hoisted_2$32 = {
3632
+ const _hoisted_2$31 = {
3537
3633
  key: 1,
3538
3634
  class: "alert alert-error mb-4"
3539
3635
  };
@@ -3542,7 +3638,7 @@ const _hoisted_3$28 = {
3542
3638
  class: "alert alert-error mb-4"
3543
3639
  };
3544
3640
  const _hoisted_4$26 = { class: "flex justify-center mt-6" };
3545
- const _sfc_main$40 = /* @__PURE__ */ defineComponent({
3641
+ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
3546
3642
  __name: "EditTeamForm",
3547
3643
  props: {
3548
3644
  team: {},
@@ -3585,7 +3681,7 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
3585
3681
  form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
3586
3682
  };
3587
3683
  return (_ctx, _cache) => {
3588
- return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$36, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$32, [_cache[1] || (_cache[1] = createElementVNode("svg", {
3684
+ return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$35, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$31, [_cache[1] || (_cache[1] = createElementVNode("svg", {
3589
3685
  xmlns: "http://www.w3.org/2000/svg",
3590
3686
  class: "stroke-current shrink-0 h-6 w-6",
3591
3687
  fill: "none",
@@ -3677,11 +3773,11 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
3677
3773
  };
3678
3774
  }
3679
3775
  });
3680
- var EditTeamForm_default = _sfc_main$40;
3776
+ var EditTeamForm_default = _sfc_main$39;
3681
3777
 
3682
3778
  //#endregion
3683
3779
  //#region src/slices/team/components/TeamAttachments.vue
3684
- const _sfc_main$39 = /* @__PURE__ */ defineComponent({
3780
+ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
3685
3781
  __name: "TeamAttachments",
3686
3782
  setup(__props) {
3687
3783
  const teamId = useRoute().params.id;
@@ -3695,11 +3791,11 @@ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
3695
3791
  };
3696
3792
  }
3697
3793
  });
3698
- var TeamAttachments_default = _sfc_main$39;
3794
+ var TeamAttachments_default = _sfc_main$38;
3699
3795
 
3700
3796
  //#endregion
3701
3797
  //#region src/slices/team/TeamAttachmentsTab.vue
3702
- const _sfc_main$38 = /* @__PURE__ */ defineComponent({
3798
+ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
3703
3799
  __name: "TeamAttachmentsTab",
3704
3800
  setup(__props) {
3705
3801
  return (_ctx, _cache) => {
@@ -3707,7 +3803,7 @@ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
3707
3803
  };
3708
3804
  }
3709
3805
  });
3710
- var TeamAttachmentsTab_default = _sfc_main$38;
3806
+ var TeamAttachmentsTab_default = _sfc_main$37;
3711
3807
 
3712
3808
  //#endregion
3713
3809
  //#region src/slices/team/teamFiltersMetadata.ts
@@ -3748,8 +3844,8 @@ const teamRowSchemaWithMetadata = withMetadata(TeamReadSchema, "teamRow", {});
3748
3844
 
3749
3845
  //#endregion
3750
3846
  //#region src/slices/team/TeamList.vue
3751
- const _hoisted_1$35 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
3752
- const _sfc_main$37 = /* @__PURE__ */ defineComponent({
3847
+ const _hoisted_1$34 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
3848
+ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
3753
3849
  __name: "TeamList",
3754
3850
  setup(__props) {
3755
3851
  const currentPaginationToken = ref();
@@ -3832,7 +3928,7 @@ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
3832
3928
  });
3833
3929
  return (_ctx, _cache) => {
3834
3930
  const _component_router_link = resolveComponent("router-link");
3835
- return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$35, [_cache[1] || (_cache[1] = createElementVNode("h1", { class: "text-xl sm:text-2xl font-bold" }, "Teams", -1)), createVNode(_component_router_link, {
3931
+ return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$34, [_cache[1] || (_cache[1] = createElementVNode("h1", { class: "text-xl sm:text-2xl font-bold" }, "Teams", -1)), createVNode(_component_router_link, {
3836
3932
  to: { name: unref(teamPaths).create.name },
3837
3933
  class: "btn btn-primary btn-sm sm:btn-md"
3838
3934
  }, {
@@ -3867,19 +3963,19 @@ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
3867
3963
  };
3868
3964
  }
3869
3965
  });
3870
- var TeamList_default = _sfc_main$37;
3966
+ var TeamList_default = _sfc_main$36;
3871
3967
 
3872
3968
  //#endregion
3873
3969
  //#region src/slices/team/TeamParent.vue
3874
- const _hoisted_1$34 = {
3970
+ const _hoisted_1$33 = {
3875
3971
  key: 0,
3876
3972
  class: "flex justify-center items-center p-8"
3877
3973
  };
3878
- const _hoisted_2$31 = {
3974
+ const _hoisted_2$30 = {
3879
3975
  key: 1,
3880
3976
  class: "alert alert-error mb-4"
3881
3977
  };
3882
- const _sfc_main$36 = /* @__PURE__ */ defineComponent({
3978
+ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
3883
3979
  __name: "TeamParent",
3884
3980
  setup(__props) {
3885
3981
  const route = useRoute();
@@ -3919,7 +4015,7 @@ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
3919
4015
  }, true);
3920
4016
  return (_ctx, _cache) => {
3921
4017
  const _component_RouterView = resolveComponent("RouterView");
3922
- return unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_1$34, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_2$31, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4018
+ return unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_1$33, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_2$30, [_cache[1] || (_cache[1] = createElementVNode("svg", {
3923
4019
  xmlns: "http://www.w3.org/2000/svg",
3924
4020
  class: "stroke-current shrink-0 h-6 w-6",
3925
4021
  fill: "none",
@@ -3942,15 +4038,15 @@ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
3942
4038
  };
3943
4039
  }
3944
4040
  });
3945
- var TeamParent_default = _sfc_main$36;
4041
+ var TeamParent_default = _sfc_main$35;
3946
4042
 
3947
4043
  //#endregion
3948
4044
  //#region src/slices/team/ViewTeam.vue
3949
- const _hoisted_1$33 = {
4045
+ const _hoisted_1$32 = {
3950
4046
  key: 0,
3951
4047
  class: "flex justify-center items-center p-8"
3952
4048
  };
3953
- const _hoisted_2$30 = {
4049
+ const _hoisted_2$29 = {
3954
4050
  key: 1,
3955
4051
  class: "alert alert-error mb-4"
3956
4052
  };
@@ -4056,7 +4152,7 @@ const _hoisted_46 = {
4056
4152
  class: "text-xs"
4057
4153
  };
4058
4154
  const _hoisted_47 = { class: "flex flex-col sm:flex-row gap-3 justify-center mt-6" };
4059
- const _sfc_main$35 = /* @__PURE__ */ defineComponent({
4155
+ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
4060
4156
  __name: "ViewTeam",
4061
4157
  props: {
4062
4158
  team: {},
@@ -4069,7 +4165,7 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
4069
4165
  const teamData = computed(() => props.team);
4070
4166
  return (_ctx, _cache) => {
4071
4167
  const _component_router_link = resolveComponent("router-link");
4072
- return __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$33, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$30, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4168
+ return __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$32, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$29, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4073
4169
  xmlns: "http://www.w3.org/2000/svg",
4074
4170
  class: "stroke-current shrink-0 h-6 w-6",
4075
4171
  fill: "none",
@@ -4154,15 +4250,15 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
4154
4250
  };
4155
4251
  }
4156
4252
  });
4157
- var ViewTeam_default = _sfc_main$35;
4253
+ var ViewTeam_default = _sfc_main$34;
4158
4254
 
4159
4255
  //#endregion
4160
4256
  //#region src/slices/team/team_member/CreateTeamMemberForm.vue
4161
- const _hoisted_1$32 = {
4257
+ const _hoisted_1$31 = {
4162
4258
  key: 0,
4163
4259
  class: "flex flex-col items-center justify-center p-8"
4164
4260
  };
4165
- const _hoisted_2$29 = {
4261
+ const _hoisted_2$28 = {
4166
4262
  key: 1,
4167
4263
  class: "flex flex-col items-center justify-center p-8"
4168
4264
  };
@@ -4172,7 +4268,7 @@ const _hoisted_4$24 = {
4172
4268
  class: "alert alert-error mb-4"
4173
4269
  };
4174
4270
  const _hoisted_5$18 = { class: "flex justify-center mt-6" };
4175
- const _sfc_main$34 = /* @__PURE__ */ defineComponent({
4271
+ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
4176
4272
  __name: "CreateTeamMemberForm",
4177
4273
  setup(__props) {
4178
4274
  const router = useRouter();
@@ -4221,7 +4317,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
4221
4317
  form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
4222
4318
  };
4223
4319
  return (_ctx, _cache) => {
4224
- return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$32, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$29, [createElementVNode("p", _hoisted_3$26, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
4320
+ return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$31, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$28, [createElementVNode("p", _hoisted_3$26, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
4225
4321
  key: 2,
4226
4322
  onHandleSubmit: handleSubmit,
4227
4323
  onSuccess: handleSuccess,
@@ -4282,7 +4378,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
4282
4378
  };
4283
4379
  }
4284
4380
  });
4285
- var CreateTeamMemberForm_default = _sfc_main$34;
4381
+ var CreateTeamMemberForm_default = _sfc_main$33;
4286
4382
 
4287
4383
  //#endregion
4288
4384
  //#region src/slices/team/team_member/teamMemberFiltersMetadata.ts
@@ -4323,8 +4419,8 @@ const teamMemberRowSchemaWithMetadata = withMetadata(TeamMemberReadSchema, "team
4323
4419
 
4324
4420
  //#endregion
4325
4421
  //#region src/slices/team/team_member/TeamMemberList.vue
4326
- const _hoisted_1$31 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
4327
- const _sfc_main$33 = /* @__PURE__ */ defineComponent({
4422
+ const _hoisted_1$30 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
4423
+ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
4328
4424
  __name: "TeamMemberList",
4329
4425
  setup(__props) {
4330
4426
  const team_id = useRoute().params.id;
@@ -4421,7 +4517,7 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
4421
4517
  });
4422
4518
  return (_ctx, _cache) => {
4423
4519
  const _component_router_link = resolveComponent("router-link");
4424
- return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$31, [_cache[1] || (_cache[1] = createElementVNode("h1", { class: "text-xl sm:text-2xl font-bold" }, "Team Members", -1)), createVNode(_component_router_link, {
4520
+ return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$30, [_cache[1] || (_cache[1] = createElementVNode("h1", { class: "text-xl sm:text-2xl font-bold" }, "Team Members", -1)), createVNode(_component_router_link, {
4425
4521
  to: {
4426
4522
  name: unref(teamMemberPaths).create.name,
4427
4523
  params: { id: unref(team_id) }
@@ -4466,19 +4562,19 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
4466
4562
  };
4467
4563
  }
4468
4564
  });
4469
- var TeamMemberList_default = _sfc_main$33;
4565
+ var TeamMemberList_default = _sfc_main$32;
4470
4566
 
4471
4567
  //#endregion
4472
4568
  //#region src/slices/team/team_member/TeamMemberParent.vue
4473
- const _hoisted_1$30 = {
4569
+ const _hoisted_1$29 = {
4474
4570
  key: 0,
4475
4571
  class: "flex justify-center items-center p-8"
4476
4572
  };
4477
- const _hoisted_2$28 = {
4573
+ const _hoisted_2$27 = {
4478
4574
  key: 1,
4479
4575
  class: "alert alert-error mb-4"
4480
4576
  };
4481
- const _sfc_main$32 = /* @__PURE__ */ defineComponent({
4577
+ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
4482
4578
  __name: "TeamMemberParent",
4483
4579
  setup(__props) {
4484
4580
  const route = useRoute();
@@ -4517,7 +4613,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
4517
4613
  provide("refreshTeamMember", refreshTeamMember);
4518
4614
  return (_ctx, _cache) => {
4519
4615
  const _component_RouterView = resolveComponent("RouterView");
4520
- return unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_1$30, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_2$28, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4616
+ return unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_1$29, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_2$27, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4521
4617
  xmlns: "http://www.w3.org/2000/svg",
4522
4618
  class: "stroke-current shrink-0 h-6 w-6",
4523
4619
  fill: "none",
@@ -4540,15 +4636,15 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
4540
4636
  };
4541
4637
  }
4542
4638
  });
4543
- var TeamMemberParent_default = _sfc_main$32;
4639
+ var TeamMemberParent_default = _sfc_main$31;
4544
4640
 
4545
4641
  //#endregion
4546
4642
  //#region src/slices/team/team_member/ViewTeamMember.vue
4547
- const _hoisted_1$29 = {
4643
+ const _hoisted_1$28 = {
4548
4644
  key: 0,
4549
4645
  class: "flex justify-center items-center p-8"
4550
4646
  };
4551
- const _hoisted_2$27 = {
4647
+ const _hoisted_2$26 = {
4552
4648
  key: 1,
4553
4649
  class: "alert alert-error mb-4"
4554
4650
  };
@@ -4612,7 +4708,7 @@ const _hoisted_28$1 = {
4612
4708
  class: "text-xs"
4613
4709
  };
4614
4710
  const _hoisted_29$1 = { class: "flex flex-col sm:flex-row gap-3 justify-center mt-6" };
4615
- const _sfc_main$31 = /* @__PURE__ */ defineComponent({
4711
+ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
4616
4712
  __name: "ViewTeamMember",
4617
4713
  props: {
4618
4714
  teamMember: {},
@@ -4627,7 +4723,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
4627
4723
  const teamMemberData = computed(() => props.teamMember);
4628
4724
  return (_ctx, _cache) => {
4629
4725
  const _component_router_link = resolveComponent("router-link");
4630
- return __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$29, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$27, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4726
+ return __props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$28, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$26, [_cache[1] || (_cache[1] = createElementVNode("svg", {
4631
4727
  xmlns: "http://www.w3.org/2000/svg",
4632
4728
  class: "stroke-current shrink-0 h-6 w-6",
4633
4729
  fill: "none",
@@ -4699,7 +4795,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
4699
4795
  };
4700
4796
  }
4701
4797
  });
4702
- var ViewTeamMember_default = _sfc_main$31;
4798
+ var ViewTeamMember_default = _sfc_main$30;
4703
4799
 
4704
4800
  //#endregion
4705
4801
  //#region src/slices/saved_filter/lastUsedPresetGuard.ts
@@ -4909,7 +5005,7 @@ function useSavedFilters(config) {
4909
5005
  const savedFilterRoutes = [{
4910
5006
  path: "/saved-filters",
4911
5007
  name: "SavedFilters",
4912
- component: () => import("./SavedFiltersPage-rG33pF5X.js"),
5008
+ component: () => import("./SavedFiltersPage-PfwukNXV.js"),
4913
5009
  beforeEnter: [userAuthenticated],
4914
5010
  meta: {
4915
5011
  title: "Saved Filters",
@@ -4928,15 +5024,15 @@ const savedFilterRoutes = [{
4928
5024
 
4929
5025
  //#endregion
4930
5026
  //#region src/slices/saved_filter/SaveFilterModal.vue
4931
- const _hoisted_1$28 = { class: "form-control" };
4932
- const _hoisted_2$26 = {
5027
+ const _hoisted_1$27 = { class: "form-control" };
5028
+ const _hoisted_2$25 = {
4933
5029
  key: 0,
4934
5030
  class: "label"
4935
5031
  };
4936
5032
  const _hoisted_3$24 = { class: "label-text-alt text-error" };
4937
5033
  const _hoisted_4$22 = { class: "flex justify-end gap-2" };
4938
5034
  const _hoisted_5$16 = ["disabled"];
4939
- const _sfc_main$30 = /* @__PURE__ */ defineComponent({
5035
+ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
4940
5036
  __name: "SaveFilterModal",
4941
5037
  props: {
4942
5038
  isOpen: { type: Boolean },
@@ -4979,7 +5075,7 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
4979
5075
  default: withCtx(() => [createElementVNode("form", {
4980
5076
  onSubmit: withModifiers(handleSubmit, ["prevent"]),
4981
5077
  class: "space-y-4"
4982
- }, [createElementVNode("div", _hoisted_1$28, [
5078
+ }, [createElementVNode("div", _hoisted_1$27, [
4983
5079
  _cache[1] || (_cache[1] = createElementVNode("label", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Preset name")], -1)),
4984
5080
  withDirectives(createElementVNode("input", {
4985
5081
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => name.value = $event),
@@ -4988,7 +5084,7 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
4988
5084
  class: "input input-bordered w-full",
4989
5085
  maxlength: "100"
4990
5086
  }, null, 512), [[vModelText, name.value]]),
4991
- error.value ? (openBlock(), createElementBlock("label", _hoisted_2$26, [createElementVNode("span", _hoisted_3$24, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
5087
+ error.value ? (openBlock(), createElementBlock("label", _hoisted_2$25, [createElementVNode("span", _hoisted_3$24, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
4992
5088
  ]), createElementVNode("div", _hoisted_4$22, [createElementVNode("button", {
4993
5089
  type: "button",
4994
5090
  class: "btn btn-ghost",
@@ -5003,12 +5099,12 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
5003
5099
  };
5004
5100
  }
5005
5101
  });
5006
- var SaveFilterModal_default = _sfc_main$30;
5102
+ var SaveFilterModal_default = _sfc_main$29;
5007
5103
 
5008
5104
  //#endregion
5009
5105
  //#region src/slices/saved_filter/ManagePresetsModal.vue
5010
- const _hoisted_1$27 = { class: "space-y-4" };
5011
- const _hoisted_2$25 = {
5106
+ const _hoisted_1$26 = { class: "space-y-4" };
5107
+ const _hoisted_2$24 = {
5012
5108
  key: 0,
5013
5109
  class: "text-base-content/70 text-sm"
5014
5110
  };
@@ -5028,7 +5124,7 @@ const _hoisted_9$10 = { class: "text-base-content/60 text-xs font-normal ml-1" }
5028
5124
  const _hoisted_10$7 = { class: "flex gap-1 shrink-0" };
5029
5125
  const _hoisted_11$6 = ["onClick"];
5030
5126
  const _hoisted_12$5 = ["disabled", "onClick"];
5031
- const _sfc_main$29 = /* @__PURE__ */ defineComponent({
5127
+ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
5032
5128
  __name: "ManagePresetsModal",
5033
5129
  props: {
5034
5130
  isOpen: { type: Boolean },
@@ -5074,7 +5170,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
5074
5170
  title: "Manage Filter Presets",
5075
5171
  onClose: close
5076
5172
  }, {
5077
- default: withCtx(() => [createElementVNode("div", _hoisted_1$27, [__props.presets.length === 0 && !__props.loading ? (openBlock(), createElementBlock("p", _hoisted_2$25, " No saved presets yet. Set filters, then use \"Save current filters\" in the Presets menu. ")) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_3$23, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "loading loading-spinner loading-md" }, null, -1)])])) : (openBlock(), createElementBlock("ul", _hoisted_4$21, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
5173
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$26, [__props.presets.length === 0 && !__props.loading ? (openBlock(), createElementBlock("p", _hoisted_2$24, " No saved presets yet. Set filters, then use \"Save current filters\" in the Presets menu. ")) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_3$23, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "loading loading-spinner loading-md" }, null, -1)])])) : (openBlock(), createElementBlock("ul", _hoisted_4$21, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
5078
5174
  return openBlock(), createElementBlock("li", {
5079
5175
  key: preset.id,
5080
5176
  class: "flex items-center gap-2 p-2 rounded-lg bg-base-200"
@@ -5144,12 +5240,12 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
5144
5240
  };
5145
5241
  }
5146
5242
  });
5147
- var ManagePresetsModal_default = _sfc_main$29;
5243
+ var ManagePresetsModal_default = _sfc_main$28;
5148
5244
 
5149
5245
  //#endregion
5150
5246
  //#region src/slices/saved_filter/PresetsModal.vue
5151
- const _hoisted_1$26 = { class: "space-y-4" };
5152
- const _hoisted_2$24 = { key: 0 };
5247
+ const _hoisted_1$25 = { class: "space-y-4" };
5248
+ const _hoisted_2$23 = { key: 0 };
5153
5249
  const _hoisted_3$22 = { class: "space-y-2" };
5154
5250
  const _hoisted_4$20 = ["onKeydown"];
5155
5251
  const _hoisted_5$14 = ["disabled", "onClick"];
@@ -5181,7 +5277,7 @@ const _hoisted_20$1 = {
5181
5277
  key: 0,
5182
5278
  class: "text-base-content/60 text-xs"
5183
5279
  };
5184
- const _sfc_main$28 = /* @__PURE__ */ defineComponent({
5280
+ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
5185
5281
  __name: "PresetsModal",
5186
5282
  props: {
5187
5283
  isOpen: { type: Boolean },
@@ -5278,9 +5374,9 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
5278
5374
  title: "Filter Presets",
5279
5375
  onClose: close
5280
5376
  }, {
5281
- default: withCtx(() => [createElementVNode("div", _hoisted_1$26, [
5377
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$25, [
5282
5378
  createCommentVNode(" Preset list: apply (click name), rename, delete "),
5283
- __props.presets.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$24, [_cache[5] || (_cache[5] = createElementVNode("p", { class: "text-xs font-medium text-base-content/60 uppercase tracking-wide mb-2" }, " Apply preset ", -1)), createElementVNode("ul", _hoisted_3$22, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
5379
+ __props.presets.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$23, [_cache[5] || (_cache[5] = createElementVNode("p", { class: "text-xs font-medium text-base-content/60 uppercase tracking-wide mb-2" }, " Apply preset ", -1)), createElementVNode("ul", _hoisted_3$22, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
5284
5380
  return openBlock(), createElementBlock("li", {
5285
5381
  key: preset.id,
5286
5382
  class: "flex items-center gap-2 p-2 rounded-lg bg-base-200"
@@ -5424,18 +5520,18 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
5424
5520
  };
5425
5521
  }
5426
5522
  });
5427
- var PresetsModal_default = _sfc_main$28;
5523
+ var PresetsModal_default = _sfc_main$27;
5428
5524
 
5429
5525
  //#endregion
5430
5526
  //#region src/slices/saved_filter/SavedFilterPresets.vue
5431
- const _hoisted_1$25 = { class: "flex items-center gap-2 flex-wrap" };
5432
- const _hoisted_2$23 = {
5527
+ const _hoisted_1$24 = { class: "flex items-center gap-2 flex-wrap" };
5528
+ const _hoisted_2$22 = {
5433
5529
  key: 0,
5434
5530
  class: "badge badge-primary badge-lg gap-1 pr-1"
5435
5531
  };
5436
5532
  const _hoisted_3$21 = { class: "truncate max-w-[8rem] sm:max-w-[12rem]" };
5437
5533
  const _hoisted_4$19 = ["disabled", "title"];
5438
- const _sfc_main$27 = /* @__PURE__ */ defineComponent({
5534
+ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
5439
5535
  __name: "SavedFilterPresets",
5440
5536
  props: {
5441
5537
  presets: {},
@@ -5476,9 +5572,9 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
5476
5572
  await pinnedPresets.refetchPinned?.();
5477
5573
  }
5478
5574
  return (_ctx, _cache) => {
5479
- return openBlock(), createElementBlock("div", _hoisted_1$25, [
5575
+ return openBlock(), createElementBlock("div", _hoisted_1$24, [
5480
5576
  createCommentVNode(" Active preset chip: shows when a preset is applied, with clear (×) "),
5481
- props.activePreset ? (openBlock(), createElementBlock("div", _hoisted_2$23, [createElementVNode("span", _hoisted_3$21, toDisplayString(props.activePreset.name), 1), createElementVNode("button", {
5577
+ props.activePreset ? (openBlock(), createElementBlock("div", _hoisted_2$22, [createElementVNode("span", _hoisted_3$21, toDisplayString(props.activePreset.name), 1), createElementVNode("button", {
5482
5578
  type: "button",
5483
5579
  class: "btn btn-ghost btn-xs btn-circle",
5484
5580
  "aria-label": "Clear preset",
@@ -5569,7 +5665,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
5569
5665
  };
5570
5666
  }
5571
5667
  });
5572
- var SavedFilterPresets_default = _sfc_main$27;
5668
+ var SavedFilterPresets_default = _sfc_main$26;
5573
5669
 
5574
5670
  //#endregion
5575
5671
  //#region src/slices/support_ticket/customer/customerSupportTicketRoutes.ts
@@ -5626,7 +5722,7 @@ const customerSupportTicketRoutes = [{
5626
5722
  {
5627
5723
  path: customerSupportPaths.customer_list.path,
5628
5724
  name: customerSupportPaths.customer_list.name,
5629
- component: () => import("./CustomerSupportTicketList-Cfe8gqiX.js"),
5725
+ component: () => import("./CustomerSupportTicketList-BdCyjYTK.js"),
5630
5726
  beforeEnter: (to) => customerListPresetGuard(to),
5631
5727
  meta: {
5632
5728
  title: "Tickets",
@@ -5645,7 +5741,7 @@ const customerSupportTicketRoutes = [{
5645
5741
  {
5646
5742
  path: customerSupportPaths.customer_create.path,
5647
5743
  name: customerSupportPaths.customer_create.name,
5648
- component: () => import("./CustomerCreateSupportTicketForm-Dv0ZMYrw.js"),
5744
+ component: () => import("./CustomerCreateSupportTicketForm-DROOc8QU.js"),
5649
5745
  meta: {
5650
5746
  title: "Create Support Ticket",
5651
5747
  description: "Create new support ticket",
@@ -5661,7 +5757,7 @@ const customerSupportTicketRoutes = [{
5661
5757
  {
5662
5758
  path: customerSupportPaths.customer_create_success.path,
5663
5759
  name: customerSupportPaths.customer_create_success.name,
5664
- component: () => import("./CustomerSupportTicketSuccess-DnnRkxsI.js"),
5760
+ component: () => import("./CustomerSupportTicketSuccess-BiccWyEb.js"),
5665
5761
  meta: {
5666
5762
  title: "Support Ticket Submitted",
5667
5763
  description: "Support ticket submitted successfully",
@@ -5683,7 +5779,7 @@ const customerSupportTicketRoutes = [{
5683
5779
  },
5684
5780
  {
5685
5781
  path: customerSupportPaths.customer_view.path,
5686
- component: () => import("./CustomerSupportTicketParent-BnmTFigo.js"),
5782
+ component: () => import("./CustomerSupportTicketParent-Ex-sumQ_.js"),
5687
5783
  meta: {
5688
5784
  title: "View Support Ticket",
5689
5785
  description: "View support ticket details"
@@ -5691,7 +5787,7 @@ const customerSupportTicketRoutes = [{
5691
5787
  children: [{
5692
5788
  path: "",
5693
5789
  name: customerSupportPaths.customer_view.name,
5694
- component: () => import("./CustomerSupportTicketDetailPage-ryM1_h1-.js"),
5790
+ component: () => import("./CustomerSupportTicketDetailPage-CPnNMJRz.js"),
5695
5791
  meta: {
5696
5792
  title: "View Support Ticket",
5697
5793
  description: "View support ticket details"
@@ -5768,7 +5864,7 @@ const staffSupportTicketRoutes = [{
5768
5864
  {
5769
5865
  path: staffSupportPaths.staff_list.path,
5770
5866
  name: staffSupportPaths.staff_list.name,
5771
- component: () => import("./StaffSupportTicketList-DPIu3W50.js"),
5867
+ component: () => import("./StaffSupportTicketList-B3HBQJ9r.js"),
5772
5868
  beforeEnter: (to) => staffListPresetGuard(to),
5773
5869
  meta: {
5774
5870
  title: "Manage Support",
@@ -5782,7 +5878,7 @@ const staffSupportTicketRoutes = [{
5782
5878
  {
5783
5879
  path: staffSupportPaths.staff_create.path,
5784
5880
  name: staffSupportPaths.staff_create.name,
5785
- component: () => import("./StaffCreateSupportTicketForm-CIDdUNcs.js"),
5881
+ component: () => import("./StaffCreateSupportTicketForm-Cs3puA0j.js"),
5786
5882
  meta: {
5787
5883
  title: "Create Support Ticket",
5788
5884
  description: "Create new support ticket item",
@@ -5798,7 +5894,7 @@ const staffSupportTicketRoutes = [{
5798
5894
  {
5799
5895
  path: staffSupportPaths.staff_create_success.path,
5800
5896
  name: staffSupportPaths.staff_create_success.name,
5801
- component: () => import("./StaffSupportTicketSuccess-8lYa8_Sm.js"),
5897
+ component: () => import("./StaffSupportTicketSuccess-CegCdk-v.js"),
5802
5898
  meta: {
5803
5899
  title: "Support Ticket Created",
5804
5900
  description: "Support ticket created successfully",
@@ -5820,7 +5916,7 @@ const staffSupportTicketRoutes = [{
5820
5916
  },
5821
5917
  {
5822
5918
  path: staffSupportPaths.staff_edit.path,
5823
- component: () => import("./StaffSupportTicketParent-Dp1G85wc.js"),
5919
+ component: () => import("./StaffSupportTicketParent-BiyZAW5w.js"),
5824
5920
  meta: {
5825
5921
  title: "View Support Ticket",
5826
5922
  description: "View support ticket details"
@@ -5828,7 +5924,7 @@ const staffSupportTicketRoutes = [{
5828
5924
  children: [{
5829
5925
  path: "",
5830
5926
  name: staffSupportPaths.staff_edit.name,
5831
- component: () => import("./StaffSupportTicketDetailPage-_ZOQgWv0.js"),
5927
+ component: () => import("./StaffSupportTicketDetailPage-DDkJcKVC.js"),
5832
5928
  meta: {
5833
5929
  title: "View Support Ticket",
5834
5930
  description: "View support ticket details"
@@ -5840,8 +5936,8 @@ const staffSupportTicketRoutes = [{
5840
5936
 
5841
5937
  //#endregion
5842
5938
  //#region src/slices/support_ticket/customer/components/SupportTicketTimeline.vue
5843
- const _hoisted_1$24 = { class: "mt-8" };
5844
- const _hoisted_2$22 = { class: "relative" };
5939
+ const _hoisted_1$23 = { class: "mt-8" };
5940
+ const _hoisted_2$21 = { class: "relative" };
5845
5941
  const _hoisted_3$20 = { class: "space-y-6 relative" };
5846
5942
  const _hoisted_4$18 = { class: "flex items-start group" };
5847
5943
  const _hoisted_5$13 = { class: "ml-4" };
@@ -5883,12 +5979,12 @@ const _hoisted_15$1 = {
5883
5979
  class: "flex items-start group"
5884
5980
  };
5885
5981
  const _hoisted_16$1 = { class: "ml-4" };
5886
- const _sfc_main$26 = /* @__PURE__ */ defineComponent({
5982
+ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
5887
5983
  __name: "SupportTicketTimeline",
5888
5984
  props: { support_ticket: {} },
5889
5985
  setup(__props) {
5890
5986
  return (_ctx, _cache) => {
5891
- return openBlock(), createElementBlock("div", _hoisted_1$24, [_cache[8] || (_cache[8] = createElementVNode("h3", { class: "text-lg font-semibold text-base-content mb-4" }, "SupportTicket Progress", -1)), createElementVNode("div", _hoisted_2$22, [
5987
+ return openBlock(), createElementBlock("div", _hoisted_1$23, [_cache[8] || (_cache[8] = createElementVNode("h3", { class: "text-lg font-semibold text-base-content mb-4" }, "SupportTicket Progress", -1)), createElementVNode("div", _hoisted_2$21, [
5892
5988
  createCommentVNode(" Timeline line "),
5893
5989
  _cache[7] || (_cache[7] = createElementVNode("div", { class: "absolute left-4 top-0 bottom-0 w-0.5 bg-base-300" }, null, -1)),
5894
5990
  createCommentVNode(" Timeline items "),
@@ -6026,7 +6122,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
6026
6122
  };
6027
6123
  }
6028
6124
  });
6029
- var SupportTicketTimeline_default = _sfc_main$26;
6125
+ var SupportTicketTimeline_default = _sfc_main$25;
6030
6126
 
6031
6127
  //#endregion
6032
6128
  //#region src/slices/support_ticket/customer/customerSupportTicketMetadata.ts
@@ -6055,11 +6151,11 @@ const customerSupportTicketUpdateSchemaWithMetadata = withMetadata(CustomerSuppo
6055
6151
 
6056
6152
  //#endregion
6057
6153
  //#region src/slices/support_ticket/customer/CustomerCreateSupportTicketForm.vue
6058
- const _hoisted_1$23 = {
6154
+ const _hoisted_1$22 = {
6059
6155
  key: 0,
6060
6156
  class: "flex flex-col items-center justify-center p-8"
6061
6157
  };
6062
- const _hoisted_2$21 = {
6158
+ const _hoisted_2$20 = {
6063
6159
  key: 1,
6064
6160
  class: "flex flex-col items-center justify-center p-8"
6065
6161
  };
@@ -6070,7 +6166,7 @@ const _hoisted_5$12 = {
6070
6166
  class: "alert alert-error mb-4"
6071
6167
  };
6072
6168
  const _hoisted_6$11 = { class: "flex justify-center mt-6" };
6073
- const _sfc_main$25 = /* @__PURE__ */ defineComponent({
6169
+ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
6074
6170
  __name: "CustomerCreateSupportTicketForm",
6075
6171
  setup(__props) {
6076
6172
  const router = useRouter();
@@ -6113,7 +6209,7 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
6113
6209
  form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
6114
6210
  };
6115
6211
  return (_ctx, _cache) => {
6116
- return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$23, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$21, [createElementVNode("p", _hoisted_3$19, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
6212
+ return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$22, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$20, [createElementVNode("p", _hoisted_3$19, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
6117
6213
  key: 2,
6118
6214
  onBeforeValidate: beforeValidate,
6119
6215
  onHandleSubmit: handleSubmit,
@@ -6172,12 +6268,12 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
6172
6268
  };
6173
6269
  }
6174
6270
  });
6175
- var CustomerCreateSupportTicketForm_default = _sfc_main$25;
6271
+ var CustomerCreateSupportTicketForm_default = _sfc_main$24;
6176
6272
 
6177
6273
  //#endregion
6178
6274
  //#region src/slices/support_ticket/shared/SupportTicketStatusBadge.vue
6179
- const _hoisted_1$22 = ["aria-label"];
6180
- const _sfc_main$24 = /* @__PURE__ */ defineComponent({
6275
+ const _hoisted_1$21 = ["aria-label"];
6276
+ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
6181
6277
  __name: "SupportTicketStatusBadge",
6182
6278
  props: {
6183
6279
  status: {},
@@ -6255,11 +6351,11 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
6255
6351
  class: normalizeClass(badgeClasses.value),
6256
6352
  "aria-label": ariaLabel.value,
6257
6353
  role: "status"
6258
- }, toDisplayString(displayText.value), 11, _hoisted_1$22);
6354
+ }, toDisplayString(displayText.value), 11, _hoisted_1$21);
6259
6355
  };
6260
6356
  }
6261
6357
  });
6262
- var SupportTicketStatusBadge_default = _sfc_main$24;
6358
+ var SupportTicketStatusBadge_default = _sfc_main$23;
6263
6359
 
6264
6360
  //#endregion
6265
6361
  //#region src/slices/support_ticket/customer/customerSupportTicketRowSchema.ts
@@ -6271,11 +6367,11 @@ const customerSupportTicketRowSchemaWithMetadata = withMetadata(CustomerSupportT
6271
6367
 
6272
6368
  //#endregion
6273
6369
  //#region src/slices/support_ticket/customer/CustomerSupportTicketList.vue
6274
- const _hoisted_1$21 = { class: "mt-2" };
6275
- const _hoisted_2$20 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
6370
+ const _hoisted_1$20 = { class: "mt-2" };
6371
+ const _hoisted_2$19 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
6276
6372
  const _hoisted_3$18 = { class: "flex items-center gap-2" };
6277
6373
  const _hoisted_4$16 = { class: "flex gap-2" };
6278
- const _sfc_main$23 = /* @__PURE__ */ defineComponent({
6374
+ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
6279
6375
  __name: "CustomerSupportTicketList",
6280
6376
  setup(__props) {
6281
6377
  const route = useRoute();
@@ -6416,7 +6512,7 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
6416
6512
  });
6417
6513
  return (_ctx, _cache) => {
6418
6514
  const _component_router_link = resolveComponent("router-link");
6419
- return openBlock(), createElementBlock("div", _hoisted_1$21, [createElementVNode("div", _hoisted_2$20, [createElementVNode("div", _hoisted_3$18, [createVNode(unref(SavedFilterPresets_default), {
6515
+ return openBlock(), createElementBlock("div", _hoisted_1$20, [createElementVNode("div", _hoisted_2$19, [createElementVNode("div", _hoisted_3$18, [createVNode(unref(SavedFilterPresets_default), {
6420
6516
  presets: unref(savedFilters).presets.value,
6421
6517
  "presets-loading": unref(savedFilters).presetsLoading.value,
6422
6518
  creating: unref(savedFilters).creating.value,
@@ -6482,19 +6578,19 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
6482
6578
  };
6483
6579
  }
6484
6580
  });
6485
- var CustomerSupportTicketList_default = _sfc_main$23;
6581
+ var CustomerSupportTicketList_default = _sfc_main$22;
6486
6582
 
6487
6583
  //#endregion
6488
6584
  //#region src/slices/support_ticket/customer/CustomerSupportTicketSuccess.vue
6489
- const _hoisted_1$20 = { class: "flex flex-col items-center justify-center min-h-[60vh] p-8" };
6490
- const _hoisted_2$19 = { class: "text-center max-w-2xl" };
6585
+ const _hoisted_1$19 = { class: "flex flex-col items-center justify-center min-h-[60vh] p-8" };
6586
+ const _hoisted_2$18 = { class: "text-center max-w-2xl" };
6491
6587
  const _hoisted_3$17 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
6492
- const _sfc_main$22 = /* @__PURE__ */ defineComponent({
6588
+ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
6493
6589
  __name: "CustomerSupportTicketSuccess",
6494
6590
  setup(__props) {
6495
6591
  return (_ctx, _cache) => {
6496
6592
  const _component_router_link = resolveComponent("router-link");
6497
- return openBlock(), createElementBlock("div", _hoisted_1$20, [createElementVNode("div", _hoisted_2$19, [
6593
+ return openBlock(), createElementBlock("div", _hoisted_1$19, [createElementVNode("div", _hoisted_2$18, [
6498
6594
  createCommentVNode(" Success Icon "),
6499
6595
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "mb-6" }, [createElementVNode("div", { class: "inline-flex items-center justify-center w-20 h-20 bg-success rounded-full" }, [createElementVNode("svg", {
6500
6596
  class: "w-10 h-10 text-success-content",
@@ -6531,15 +6627,15 @@ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
6531
6627
  };
6532
6628
  }
6533
6629
  });
6534
- var CustomerSupportTicketSuccess_default = _sfc_main$22;
6630
+ var CustomerSupportTicketSuccess_default = _sfc_main$21;
6535
6631
 
6536
6632
  //#endregion
6537
6633
  //#region src/slices/support_ticket/staff/components/CustomerCreditBalance.vue
6538
- const _hoisted_1$19 = {
6634
+ const _hoisted_1$18 = {
6539
6635
  key: 0,
6540
6636
  class: "flex items-center gap-2"
6541
6637
  };
6542
- const _hoisted_2$18 = { class: "space-y-2" };
6638
+ const _hoisted_2$17 = { class: "space-y-2" };
6543
6639
  const _hoisted_3$16 = { class: "grid grid-cols-2 gap-2 text-sm" };
6544
6640
  const _hoisted_4$15 = { class: "font-bold ml-2" };
6545
6641
  const _hoisted_5$11 = { class: "font-bold ml-2" };
@@ -6547,7 +6643,7 @@ const _hoisted_6$10 = {
6547
6643
  key: 0,
6548
6644
  class: "alert alert-warning alert-sm"
6549
6645
  };
6550
- const _sfc_main$21 = /* @__PURE__ */ defineComponent({
6646
+ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
6551
6647
  __name: "CustomerCreditBalance",
6552
6648
  setup(__props) {
6553
6649
  const { data, loading, error } = useQuery((api) => api.customer.getCreditBalance(), { staleTime: 120 * 1e3 });
@@ -6557,7 +6653,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
6557
6653
  return (parseFloat(creditBalance.value.monthly) || 0) + (parseFloat(creditBalance.value.rollover) || 0);
6558
6654
  });
6559
6655
  return (_ctx, _cache) => {
6560
- return openBlock(), createElementBlock("div", null, [createCommentVNode(" Loading State "), unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_1$19, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1), createElementVNode("span", { class: "text-sm" }, "Loading customer balance...", -1)])])) : unref(error) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), _cache[1] || (_cache[1] = createElementVNode("div", { class: "alert alert-error alert-sm" }, [createElementVNode("span", { class: "text-xs" }, "Failed to load customer balance")], -1))], 2112)) : creditBalance.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" Balance Display "), createElementVNode("div", _hoisted_2$18, [
6656
+ return openBlock(), createElementBlock("div", null, [createCommentVNode(" Loading State "), unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_1$18, [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1), createElementVNode("span", { class: "text-sm" }, "Loading customer balance...", -1)])])) : unref(error) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), _cache[1] || (_cache[1] = createElementVNode("div", { class: "alert alert-error alert-sm" }, [createElementVNode("span", { class: "text-xs" }, "Failed to load customer balance")], -1))], 2112)) : creditBalance.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" Balance Display "), createElementVNode("div", _hoisted_2$17, [
6561
6657
  createElementVNode("div", _hoisted_3$16, [createElementVNode("div", null, [_cache[2] || (_cache[2] = createElementVNode("span", { class: "text-base-content/60" }, "Monthly:", -1)), createElementVNode("span", _hoisted_4$15, toDisplayString(unref(formatStaffCreditValue)(creditBalance.value.monthly)), 1)]), createElementVNode("div", null, [_cache[3] || (_cache[3] = createElementVNode("span", { class: "text-base-content/60" }, "Rollover:", -1)), createElementVNode("span", _hoisted_5$11, toDisplayString(unref(formatStaffCreditValue)(creditBalance.value.rollover)), 1)])]),
6562
6658
  createElementVNode("div", { class: normalizeClass(["flex items-center justify-between p-2 rounded", {
6563
6659
  "bg-success/20": totalAvailable.value > 0,
@@ -6582,15 +6678,15 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
6582
6678
  };
6583
6679
  }
6584
6680
  });
6585
- var CustomerCreditBalance_default = _sfc_main$21;
6681
+ var CustomerCreditBalance_default = _sfc_main$20;
6586
6682
 
6587
6683
  //#endregion
6588
6684
  //#region src/slices/support_ticket/staff/components/ApproveRejectActions.vue
6589
- const _hoisted_1$18 = {
6685
+ const _hoisted_1$17 = {
6590
6686
  key: 0,
6591
6687
  class: "alert alert-warning py-2"
6592
6688
  };
6593
- const _hoisted_2$17 = {
6689
+ const _hoisted_2$16 = {
6594
6690
  key: 1,
6595
6691
  class: "space-y-3"
6596
6692
  };
@@ -6651,7 +6747,7 @@ const _hoisted_35 = {
6651
6747
  key: 0,
6652
6748
  class: "loading loading-spinner loading-xs mr-2"
6653
6749
  };
6654
- const _sfc_main$20 = /* @__PURE__ */ defineComponent({
6750
+ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
6655
6751
  __name: "ApproveRejectActions",
6656
6752
  props: { support_ticket: {} },
6657
6753
  emits: ["update"],
@@ -6774,7 +6870,7 @@ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
6774
6870
  props.support_ticket.approval_status === "PENDING" ? (openBlock(), createBlock(ZiniaContainer_default, { key: 0 }, {
6775
6871
  default: withCtx(() => [
6776
6872
  _cache[4] || (_cache[4] = createElementVNode("h3", { class: "card-title text-base sm:text-lg" }, "Approve or Reject", -1)),
6777
- unref(formatStaffCreditValue)(props.support_ticket.credit_value, props.support_ticket.approval_status) === "TBD" ? (openBlock(), createElementBlock("div", _hoisted_1$18, [..._cache[2] || (_cache[2] = [createElementVNode("div", null, [createElementVNode("svg", {
6873
+ unref(formatStaffCreditValue)(props.support_ticket.credit_value, props.support_ticket.approval_status) === "TBD" ? (openBlock(), createElementBlock("div", _hoisted_1$17, [..._cache[2] || (_cache[2] = [createElementVNode("div", null, [createElementVNode("svg", {
6778
6874
  xmlns: "http://www.w3.org/2000/svg",
6779
6875
  class: "stroke-current shrink-0 h-5 w-5",
6780
6876
  fill: "none",
@@ -6784,7 +6880,7 @@ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
6784
6880
  "stroke-linejoin": "round",
6785
6881
  "stroke-width": "2",
6786
6882
  d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
6787
- })]), createElementVNode("span", { class: "text-xs sm:text-sm" }, "You must set an estimate before approving")], -1)])])) : (openBlock(), createElementBlock("div", _hoisted_2$17, [
6883
+ })]), createElementVNode("span", { class: "text-xs sm:text-sm" }, "You must set an estimate before approving")], -1)])])) : (openBlock(), createElementBlock("div", _hoisted_2$16, [
6788
6884
  createElementVNode("div", _hoisted_3$15, [createElementVNode("div", null, [createElementVNode("span", _hoisted_4$14, "Estimate: " + toDisplayString(unref(formatStaffCreditValue)(props.support_ticket.credit_value, props.support_ticket.approval_status)) + " credits", 1)])]),
6789
6885
  createCommentVNode(" Show Customer's Credit Balance "),
6790
6886
  createElementVNode("div", _hoisted_5$10, [_cache[3] || (_cache[3] = createElementVNode("h4", { class: "text-xs sm:text-sm font-medium mb-2" }, "Customer Balance Check", -1)), createVNode(CustomerCreditBalance_default)])
@@ -6881,12 +6977,12 @@ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
6881
6977
  };
6882
6978
  }
6883
6979
  });
6884
- var ApproveRejectActions_default = _sfc_main$20;
6980
+ var ApproveRejectActions_default = _sfc_main$19;
6885
6981
 
6886
6982
  //#endregion
6887
6983
  //#region src/slices/support_ticket/staff/components/CancelInternalTaskWorkflow.vue
6888
- const _hoisted_1$17 = { class: "flex justify-end mt-4" };
6889
- const _hoisted_2$16 = ["disabled"];
6984
+ const _hoisted_1$16 = { class: "flex justify-end mt-4" };
6985
+ const _hoisted_2$15 = ["disabled"];
6890
6986
  const _hoisted_3$14 = {
6891
6987
  key: 0,
6892
6988
  class: "loading loading-spinner loading-sm mr-2"
@@ -6900,7 +6996,7 @@ const _hoisted_6$8 = { class: "modal-box" };
6900
6996
  const _hoisted_7$7 = { class: "font-bold text-lg" };
6901
6997
  const _hoisted_8$7 = { class: "py-4 whitespace-pre-line" };
6902
6998
  const _hoisted_9$6 = { class: "modal-action" };
6903
- const _sfc_main$19 = /* @__PURE__ */ defineComponent({
6999
+ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
6904
7000
  __name: "CancelInternalTaskWorkflow",
6905
7001
  props: { support_ticket: {} },
6906
7002
  emits: ["update"],
@@ -6948,11 +7044,11 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
6948
7044
  createElementVNode("li", null, "Task is marked as terminal state"),
6949
7045
  createElementVNode("li", null, "No credit impact (internal tasks have no credits)")
6950
7046
  ])])], -1)),
6951
- createElementVNode("div", _hoisted_1$17, [createElementVNode("button", {
7047
+ createElementVNode("div", _hoisted_1$16, [createElementVNode("button", {
6952
7048
  class: "btn btn-error w-full sm:w-auto",
6953
7049
  onClick: withModifiers(showCancelModal, ["prevent"]),
6954
7050
  disabled: unref(isCancelling)
6955
- }, [unref(isCancelling) ? (openBlock(), createElementBlock("span", _hoisted_3$14)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isCancelling) ? "Cancelling..." : "Cancel Internal Task"), 1)], 8, _hoisted_2$16)]),
7051
+ }, [unref(isCancelling) ? (openBlock(), createElementBlock("span", _hoisted_3$14)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isCancelling) ? "Cancelling..." : "Cancel Internal Task"), 1)], 8, _hoisted_2$15)]),
6956
7052
  error.value ? (openBlock(), createElementBlock("div", _hoisted_4$13, [createElementVNode("span", _hoisted_5$9, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
6957
7053
  ]),
6958
7054
  _: 1
@@ -6980,19 +7076,19 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
6980
7076
  };
6981
7077
  }
6982
7078
  });
6983
- var CancelInternalTaskWorkflow_default = _sfc_main$19;
7079
+ var CancelInternalTaskWorkflow_default = _sfc_main$18;
6984
7080
 
6985
7081
  //#endregion
6986
7082
  //#region src/slices/support_ticket/staff/components/CompleteSupportTicketForm.vue
6987
- const _hoisted_1$16 = { class: "text-xs sm:text-sm text-base-content/70 mb-4" };
6988
- const _hoisted_2$15 = { class: "font-semibold" };
7083
+ const _hoisted_1$15 = { class: "text-xs sm:text-sm text-base-content/70 mb-4" };
7084
+ const _hoisted_2$14 = { class: "font-semibold" };
6989
7085
  const _hoisted_3$13 = { class: "text-xs sm:text-sm" };
6990
7086
  const _hoisted_4$12 = { class: "grid grid-cols-2 gap-2 sm:gap-4 mt-2" };
6991
7087
  const _hoisted_5$8 = { class: "bg-base-100 p-3 rounded-lg" };
6992
7088
  const _hoisted_6$7 = { class: "text-lg sm:text-xl font-bold text-primary" };
6993
7089
  const _hoisted_7$6 = { class: "bg-base-100 p-3 rounded-lg" };
6994
7090
  const _hoisted_8$6 = { class: "text-xs text-base-content/60" };
6995
- const _sfc_main$18 = /* @__PURE__ */ defineComponent({
7091
+ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
6996
7092
  __name: "CompleteSupportTicketForm",
6997
7093
  props: { support_ticket: {} },
6998
7094
  emits: ["update"],
@@ -7078,9 +7174,9 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
7078
7174
  }, {
7079
7175
  default: withCtx(() => [
7080
7176
  _cache[2] || (_cache[2] = createElementVNode("h3", { class: "card-title text-base sm:text-lg" }, "Complete Support Ticket", -1)),
7081
- createElementVNode("p", _hoisted_1$16, [
7177
+ createElementVNode("p", _hoisted_1$15, [
7082
7178
  _cache[0] || (_cache[0] = createTextVNode(" Customer was charged ", -1)),
7083
- createElementVNode("span", _hoisted_2$15, toDisplayString(unref(formatStaffCreditValue)(props.support_ticket.credit_value, props.support_ticket.approval_status)), 1),
7179
+ createElementVNode("span", _hoisted_2$14, toDisplayString(unref(formatStaffCreditValue)(props.support_ticket.credit_value, props.support_ticket.approval_status)), 1),
7084
7180
  _cache[1] || (_cache[1] = createTextVNode(" credits ", -1))
7085
7181
  ]),
7086
7182
  createCommentVNode(" Delivered Value Field "),
@@ -7115,12 +7211,12 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
7115
7211
  };
7116
7212
  }
7117
7213
  });
7118
- var CompleteSupportTicketForm_default = _sfc_main$18;
7214
+ var CompleteSupportTicketForm_default = _sfc_main$17;
7119
7215
 
7120
7216
  //#endregion
7121
7217
  //#region src/slices/support_ticket/staff/components/ConvertToCustomerWorkflow.vue
7122
- const _hoisted_1$15 = { class: "flex justify-end mt-4" };
7123
- const _hoisted_2$14 = ["disabled"];
7218
+ const _hoisted_1$14 = { class: "flex justify-end mt-4" };
7219
+ const _hoisted_2$13 = ["disabled"];
7124
7220
  const _hoisted_3$12 = {
7125
7221
  key: 0,
7126
7222
  class: "loading loading-spinner loading-sm mr-2"
@@ -7134,7 +7230,7 @@ const _hoisted_6$6 = { class: "modal-box" };
7134
7230
  const _hoisted_7$5 = { class: "font-bold text-lg" };
7135
7231
  const _hoisted_8$5 = { class: "py-4 whitespace-pre-line" };
7136
7232
  const _hoisted_9$5 = { class: "modal-action" };
7137
- const _sfc_main$17 = /* @__PURE__ */ defineComponent({
7233
+ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
7138
7234
  __name: "ConvertToCustomerWorkflow",
7139
7235
  props: { support_ticket: {} },
7140
7236
  emits: ["update"],
@@ -7182,11 +7278,11 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
7182
7278
  createElementVNode("li", null, "Clears dev lifecycle (back to planning)"),
7183
7279
  createElementVNode("li", null, "Staff must set credit estimate before approval")
7184
7280
  ])])], -1)),
7185
- createElementVNode("div", _hoisted_1$15, [createElementVNode("button", {
7281
+ createElementVNode("div", _hoisted_1$14, [createElementVNode("button", {
7186
7282
  class: "btn btn-primary w-full sm:w-auto",
7187
7283
  onClick: withModifiers(showConvertModal, ["prevent"]),
7188
7284
  disabled: unref(isConverting)
7189
- }, [unref(isConverting) ? (openBlock(), createElementBlock("span", _hoisted_3$12)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isConverting) ? "Converting..." : "Convert to Customer SupportTicket"), 1)], 8, _hoisted_2$14)]),
7285
+ }, [unref(isConverting) ? (openBlock(), createElementBlock("span", _hoisted_3$12)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isConverting) ? "Converting..." : "Convert to Customer SupportTicket"), 1)], 8, _hoisted_2$13)]),
7190
7286
  error.value ? (openBlock(), createElementBlock("div", _hoisted_4$11, [createElementVNode("span", _hoisted_5$7, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
7191
7287
  ]),
7192
7288
  _: 1
@@ -7214,12 +7310,12 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
7214
7310
  };
7215
7311
  }
7216
7312
  });
7217
- var ConvertToCustomerWorkflow_default = _sfc_main$17;
7313
+ var ConvertToCustomerWorkflow_default = _sfc_main$16;
7218
7314
 
7219
7315
  //#endregion
7220
7316
  //#region src/slices/support_ticket/staff/components/ConvertToInternalWorkflow.vue
7221
- const _hoisted_1$14 = { class: "flex justify-end mt-4" };
7222
- const _hoisted_2$13 = ["disabled"];
7317
+ const _hoisted_1$13 = { class: "flex justify-end mt-4" };
7318
+ const _hoisted_2$12 = ["disabled"];
7223
7319
  const _hoisted_3$11 = {
7224
7320
  key: 0,
7225
7321
  class: "loading loading-spinner loading-sm mr-2"
@@ -7233,7 +7329,7 @@ const _hoisted_6$5 = { class: "modal-box" };
7233
7329
  const _hoisted_7$4 = { class: "font-bold text-lg" };
7234
7330
  const _hoisted_8$4 = { class: "py-4 whitespace-pre-line" };
7235
7331
  const _hoisted_9$4 = { class: "modal-action" };
7236
- const _sfc_main$16 = /* @__PURE__ */ defineComponent({
7332
+ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
7237
7333
  __name: "ConvertToInternalWorkflow",
7238
7334
  props: { support_ticket: {} },
7239
7335
  emits: ["update"],
@@ -7282,11 +7378,11 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
7282
7378
  createElementVNode("li", null, "Automatically clears any credit estimates (internal tasks = no credits)"),
7283
7379
  createElementVNode("li", null, "Can start development immediately")
7284
7380
  ])])], -1)),
7285
- createElementVNode("div", _hoisted_1$14, [createElementVNode("button", {
7381
+ createElementVNode("div", _hoisted_1$13, [createElementVNode("button", {
7286
7382
  class: "btn btn-primary w-full sm:w-auto",
7287
7383
  onClick: withModifiers(showConvertModal, ["prevent"]),
7288
7384
  disabled: unref(isConverting)
7289
- }, [unref(isConverting) ? (openBlock(), createElementBlock("span", _hoisted_3$11)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isConverting) ? "Converting..." : "Convert to Internal Task"), 1)], 8, _hoisted_2$13)]),
7385
+ }, [unref(isConverting) ? (openBlock(), createElementBlock("span", _hoisted_3$11)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isConverting) ? "Converting..." : "Convert to Internal Task"), 1)], 8, _hoisted_2$12)]),
7290
7386
  error.value ? (openBlock(), createElementBlock("div", _hoisted_4$10, [createElementVNode("span", _hoisted_5$6, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
7291
7387
  ]),
7292
7388
  _: 1
@@ -7314,12 +7410,12 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
7314
7410
  };
7315
7411
  }
7316
7412
  });
7317
- var ConvertToInternalWorkflow_default = _sfc_main$16;
7413
+ var ConvertToInternalWorkflow_default = _sfc_main$15;
7318
7414
 
7319
7415
  //#endregion
7320
7416
  //#region src/slices/support_ticket/staff/components/ReactivateInternalTaskWorkflow.vue
7321
- const _hoisted_1$13 = { class: "alert alert-info py-2" };
7322
- const _hoisted_2$12 = { class: "flex flex-col gap-2" };
7417
+ const _hoisted_1$12 = { class: "alert alert-info py-2" };
7418
+ const _hoisted_2$11 = { class: "flex flex-col gap-2" };
7323
7419
  const _hoisted_3$10 = { class: "text-xs sm:text-sm space-y-1 ml-4 list-disc" };
7324
7420
  const _hoisted_4$9 = { key: 0 };
7325
7421
  const _hoisted_5$5 = { key: 1 };
@@ -7338,7 +7434,7 @@ const _hoisted_11$2 = { class: "modal-box" };
7338
7434
  const _hoisted_12$1 = { class: "font-bold text-lg" };
7339
7435
  const _hoisted_13 = { class: "py-4 whitespace-pre-line" };
7340
7436
  const _hoisted_14 = { class: "modal-action" };
7341
- const _sfc_main$15 = /* @__PURE__ */ defineComponent({
7437
+ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
7342
7438
  __name: "ReactivateInternalTaskWorkflow",
7343
7439
  props: { support_ticket: {} },
7344
7440
  emits: ["update"],
@@ -7382,7 +7478,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
7382
7478
  props.support_ticket.approval_status === "INTERNAL" && (props.support_ticket.dev_lifecycle === "CANCELLED" || props.support_ticket.dev_lifecycle === "DEPLOYED") ? (openBlock(), createBlock(ZiniaContainer_default, { key: 0 }, {
7383
7479
  default: withCtx(() => [
7384
7480
  _cache[5] || (_cache[5] = createElementVNode("h3", { class: "card-title text-base sm:text-lg" }, "Reopen Internal Task", -1)),
7385
- createElementVNode("div", _hoisted_1$13, [createElementVNode("div", _hoisted_2$12, [_cache[4] || (_cache[4] = createElementVNode("span", { class: "font-semibold text-sm" }, "What happens when you reopen:", -1)), createElementVNode("ul", _hoisted_3$10, [
7481
+ createElementVNode("div", _hoisted_1$12, [createElementVNode("div", _hoisted_2$11, [_cache[4] || (_cache[4] = createElementVNode("span", { class: "font-semibold text-sm" }, "What happens when you reopen:", -1)), createElementVNode("ul", _hoisted_3$10, [
7386
7482
  props.support_ticket.dev_lifecycle === "CANCELLED" ? (openBlock(), createElementBlock("li", _hoisted_4$9, " Sets dev lifecycle to BACKLOG (fresh start) ")) : (openBlock(), createElementBlock("li", _hoisted_5$5, "Sets dev lifecycle to PO_APPROVAL (ready for review/fixes)")),
7387
7483
  _cache[1] || (_cache[1] = createElementVNode("li", null, "Clears completion timestamp", -1)),
7388
7484
  _cache[2] || (_cache[2] = createElementVNode("li", null, "Task becomes active again", -1)),
@@ -7420,7 +7516,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
7420
7516
  };
7421
7517
  }
7422
7518
  });
7423
- var ReactivateInternalTaskWorkflow_default = _sfc_main$15;
7519
+ var ReactivateInternalTaskWorkflow_default = _sfc_main$14;
7424
7520
 
7425
7521
  //#endregion
7426
7522
  //#region src/slices/support_ticket/staff/StaffSupportTicketMetadata.ts
@@ -7488,11 +7584,11 @@ const adminSupportTicketUpdateSchemaWithMetadata = withMetadata(StaffSupportTick
7488
7584
 
7489
7585
  //#endregion
7490
7586
  //#region src/slices/support_ticket/staff/StaffCreateSupportTicketForm.vue
7491
- const _hoisted_1$12 = {
7587
+ const _hoisted_1$11 = {
7492
7588
  key: 0,
7493
7589
  class: "flex flex-col items-center justify-center p-8"
7494
7590
  };
7495
- const _hoisted_2$11 = {
7591
+ const _hoisted_2$10 = {
7496
7592
  key: 1,
7497
7593
  class: "flex flex-col items-center justify-center p-8"
7498
7594
  };
@@ -7503,7 +7599,7 @@ const _hoisted_5$4 = {
7503
7599
  class: "alert alert-error mb-4"
7504
7600
  };
7505
7601
  const _hoisted_6$3 = { class: "flex justify-center mt-6" };
7506
- const _sfc_main$14 = /* @__PURE__ */ defineComponent({
7602
+ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
7507
7603
  __name: "StaffCreateSupportTicketForm",
7508
7604
  setup(__props) {
7509
7605
  const router = useRouter();
@@ -7578,7 +7674,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
7578
7674
  form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
7579
7675
  };
7580
7676
  return (_ctx, _cache) => {
7581
- return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$12, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$11, [createElementVNode("p", _hoisted_3$9, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
7677
+ return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1$11, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2$10, [createElementVNode("p", _hoisted_3$9, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
7582
7678
  key: 2,
7583
7679
  onBeforeValidate: beforeValidate,
7584
7680
  onHandleSubmit: handleSubmit,
@@ -7660,7 +7756,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
7660
7756
  };
7661
7757
  }
7662
7758
  });
7663
- var StaffCreateSupportTicketForm_default = _sfc_main$14;
7759
+ var StaffCreateSupportTicketForm_default = _sfc_main$13;
7664
7760
 
7665
7761
  //#endregion
7666
7762
  //#region src/slices/support_ticket/staff/StaffSupportTicketRowSchema.ts
@@ -7672,8 +7768,8 @@ const adminSupportTicketRowSchemaWithMetadata = withMetadata(StaffSupportTicketR
7672
7768
 
7673
7769
  //#endregion
7674
7770
  //#region src/slices/support_ticket/staff/StaffSupportTicketList.vue
7675
- const _hoisted_1$11 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
7676
- const _hoisted_2$10 = { class: "flex items-center gap-2" };
7771
+ const _hoisted_1$10 = { class: "flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4 mb-4" };
7772
+ const _hoisted_2$9 = { class: "flex items-center gap-2" };
7677
7773
  const _hoisted_3$8 = { class: "flex flex-col sm:flex-row gap-2" };
7678
7774
  const _hoisted_4$7 = [
7679
7775
  "value",
@@ -7681,7 +7777,7 @@ const _hoisted_4$7 = [
7681
7777
  "onChange"
7682
7778
  ];
7683
7779
  const _hoisted_5$3 = ["value"];
7684
- const _sfc_main$13 = /* @__PURE__ */ defineComponent({
7780
+ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
7685
7781
  __name: "StaffSupportTicketList",
7686
7782
  setup(__props) {
7687
7783
  const route = useRoute();
@@ -7860,7 +7956,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
7860
7956
  });
7861
7957
  return (_ctx, _cache) => {
7862
7958
  const _component_router_link = resolveComponent("router-link");
7863
- return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$11, [createElementVNode("div", _hoisted_2$10, [createVNode(unref(SavedFilterPresets_default), {
7959
+ return openBlock(), createElementBlock("div", null, [createElementVNode("div", _hoisted_1$10, [createElementVNode("div", _hoisted_2$9, [createVNode(unref(SavedFilterPresets_default), {
7864
7960
  presets: unref(savedFilters).presets.value,
7865
7961
  "presets-loading": unref(savedFilters).presetsLoading.value,
7866
7962
  creating: unref(savedFilters).creating.value,
@@ -7947,19 +8043,19 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
7947
8043
  };
7948
8044
  }
7949
8045
  });
7950
- var StaffSupportTicketList_default = _sfc_main$13;
8046
+ var StaffSupportTicketList_default = _sfc_main$12;
7951
8047
 
7952
8048
  //#endregion
7953
8049
  //#region src/slices/support_ticket/staff/StaffSupportTicketSuccess.vue
7954
- const _hoisted_1$10 = { class: "flex flex-col items-center justify-center min-h-[60vh] p-8" };
7955
- const _hoisted_2$9 = { class: "text-center max-w-2xl" };
8050
+ const _hoisted_1$9 = { class: "flex flex-col items-center justify-center min-h-[60vh] p-8" };
8051
+ const _hoisted_2$8 = { class: "text-center max-w-2xl" };
7956
8052
  const _hoisted_3$7 = { class: "flex flex-col sm:flex-row gap-4 justify-center" };
7957
- const _sfc_main$12 = /* @__PURE__ */ defineComponent({
8053
+ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
7958
8054
  __name: "StaffSupportTicketSuccess",
7959
8055
  setup(__props) {
7960
8056
  return (_ctx, _cache) => {
7961
8057
  const _component_router_link = resolveComponent("router-link");
7962
- return openBlock(), createElementBlock("div", _hoisted_1$10, [createElementVNode("div", _hoisted_2$9, [
8058
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [createElementVNode("div", _hoisted_2$8, [
7963
8059
  createCommentVNode(" Success Icon "),
7964
8060
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "mb-6" }, [createElementVNode("div", { class: "inline-flex items-center justify-center w-20 h-20 bg-success rounded-full" }, [createElementVNode("svg", {
7965
8061
  class: "w-10 h-10 text-success-content",
@@ -7996,15 +8092,15 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
7996
8092
  };
7997
8093
  }
7998
8094
  });
7999
- var StaffSupportTicketSuccess_default = _sfc_main$12;
8095
+ var StaffSupportTicketSuccess_default = _sfc_main$11;
8000
8096
 
8001
8097
  //#endregion
8002
8098
  //#region src/slices/support_ticket/shared/CreditBalanceWidget.vue
8003
- const _hoisted_1$9 = {
8099
+ const _hoisted_1$8 = {
8004
8100
  key: 0,
8005
8101
  class: "flex items-center gap-2"
8006
8102
  };
8007
- const _hoisted_2$8 = { class: "flex items-center gap-2" };
8103
+ const _hoisted_2$7 = { class: "flex items-center gap-2" };
8008
8104
  const _hoisted_3$6 = { class: "font-bold" };
8009
8105
  const _hoisted_4$6 = { class: "space-y-3" };
8010
8106
  const _hoisted_5$2 = {
@@ -8024,7 +8120,7 @@ const _hoisted_12 = {
8024
8120
  key: 2,
8025
8121
  class: "pt-2"
8026
8122
  };
8027
- const _sfc_main$11 = /* @__PURE__ */ defineComponent({
8123
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
8028
8124
  __name: "CreditBalanceWidget",
8029
8125
  props: {
8030
8126
  variant: { default: "full" },
@@ -8051,7 +8147,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
8051
8147
  });
8052
8148
  return (_ctx, _cache) => {
8053
8149
  const _component_router_link = resolveComponent("router-link");
8054
- return openBlock(), createElementBlock("div", { class: normalizeClass(["credit-balance-widget", __props.variant === "compact" ? "compact" : ""]) }, [createCommentVNode(" Loading State "), unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_1$9, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1), createElementVNode("span", { class: "text-sm" }, "Loading credits...", -1)])])) : unref(error) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), _cache[2] || (_cache[2] = createElementVNode("div", { class: "alert alert-error" }, [createElementVNode("span", { class: "text-sm" }, "Failed to load credit balance")], -1))], 2112)) : __props.variant === "compact" && creditBalance.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" Compact Variant (Badge) "), createElementVNode("div", _hoisted_2$8, [createElementVNode("div", { class: normalizeClass(["badge badge-lg gap-2", {
8150
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["credit-balance-widget", __props.variant === "compact" ? "compact" : ""]) }, [createCommentVNode(" Loading State "), unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_1$8, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "loading loading-spinner loading-sm" }, null, -1), createElementVNode("span", { class: "text-sm" }, "Loading credits...", -1)])])) : unref(error) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Error State "), _cache[2] || (_cache[2] = createElementVNode("div", { class: "alert alert-error" }, [createElementVNode("span", { class: "text-sm" }, "Failed to load credit balance")], -1))], 2112)) : __props.variant === "compact" && creditBalance.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" Compact Variant (Badge) "), createElementVNode("div", _hoisted_2$7, [createElementVNode("div", { class: normalizeClass(["badge badge-lg gap-2", {
8055
8151
  "badge-success": totalAvailable.value > 0,
8056
8152
  "badge-warning": totalAvailable.value === 0
8057
8153
  }]) }, [_cache[3] || (_cache[3] = createElementVNode("svg", {
@@ -8106,11 +8202,11 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
8106
8202
  };
8107
8203
  }
8108
8204
  });
8109
- var CreditBalanceWidget_default = /* @__PURE__ */ export_helper_default(_sfc_main$11, [["__scopeId", "data-v-703dc3c5"]]);
8205
+ var CreditBalanceWidget_default = /* @__PURE__ */ export_helper_default(_sfc_main$10, [["__scopeId", "data-v-703dc3c5"]]);
8110
8206
 
8111
8207
  //#endregion
8112
8208
  //#region src/slices/support_ticket/shared/SupportTicketAttachments.vue
8113
- const _sfc_main$10 = /* @__PURE__ */ defineComponent({
8209
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8114
8210
  __name: "SupportTicketAttachments",
8115
8211
  setup(__props) {
8116
8212
  const supportTicketId = useRoute().params.id;
@@ -8124,7 +8220,7 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
8124
8220
  };
8125
8221
  }
8126
8222
  });
8127
- var SupportTicketAttachments_default = _sfc_main$10;
8223
+ var SupportTicketAttachments_default = _sfc_main$9;
8128
8224
 
8129
8225
  //#endregion
8130
8226
  //#region src/slices/support_ticket/staff/staffSupportTicketFiltersMetadata.ts
@@ -8345,6 +8441,26 @@ const authPaths = {
8345
8441
  path: "logout",
8346
8442
  full_path: "/auth/logout",
8347
8443
  name: "Logout"
8444
+ },
8445
+ mfa_setup: {
8446
+ path: "mfa/setup",
8447
+ full_path: "/auth/mfa/setup",
8448
+ name: "MFA Setup"
8449
+ },
8450
+ mfa_verify: {
8451
+ path: "mfa/verify",
8452
+ full_path: "/auth/mfa/verify",
8453
+ name: "MFA Verify"
8454
+ },
8455
+ verify_email: {
8456
+ path: "verify-email",
8457
+ full_path: "/auth/verify-email",
8458
+ name: "Verify Email"
8459
+ },
8460
+ verify_email_required: {
8461
+ path: "verify-email-required",
8462
+ full_path: "/auth/verify-email-required",
8463
+ name: "Verify Email Required"
8348
8464
  }
8349
8465
  };
8350
8466
  const { allowUserSignup } = useEnv();
@@ -8352,7 +8468,7 @@ const baseRoutes = [
8352
8468
  {
8353
8469
  path: authPaths.login.path,
8354
8470
  name: authPaths.login.name,
8355
- component: () => import("./LoginForm--br4Il85.js"),
8471
+ component: () => import("./LoginForm-INwjqMmZ.js"),
8356
8472
  meta: {
8357
8473
  title: "Login",
8358
8474
  description: "Login page for Category 5 App"
@@ -8362,7 +8478,7 @@ const baseRoutes = [
8362
8478
  {
8363
8479
  path: authPaths.forgot_password.path,
8364
8480
  name: authPaths.forgot_password.name,
8365
- component: () => import("./ForgotPassword-CjWv2V7p.js"),
8481
+ component: () => import("./ForgotPassword-DTqvZE3S.js"),
8366
8482
  meta: {
8367
8483
  title: "Forgot Password",
8368
8484
  description: "Forgot Password page for Category 5 App"
@@ -8372,7 +8488,7 @@ const baseRoutes = [
8372
8488
  {
8373
8489
  path: authPaths.reset_password.path,
8374
8490
  name: authPaths.reset_password.name,
8375
- component: () => import("./ResetPassword-COmnbNlg.js"),
8491
+ component: () => import("./ResetPassword-rtEJreLv.js"),
8376
8492
  meta: {
8377
8493
  title: "Reset Password",
8378
8494
  description: "Reset Password page for Category 5 App"
@@ -8382,17 +8498,53 @@ const baseRoutes = [
8382
8498
  {
8383
8499
  path: authPaths.logout.path,
8384
8500
  name: authPaths.logout.name,
8385
- component: () => import("./Logout-DHT-5Qz3.js"),
8501
+ component: () => import("./Logout-KA5WB93_.js"),
8386
8502
  meta: {
8387
8503
  title: "Logout",
8388
8504
  description: "Logout page for Category 5 App"
8389
8505
  }
8506
+ },
8507
+ {
8508
+ path: authPaths.mfa_setup.path,
8509
+ name: authPaths.mfa_setup.name,
8510
+ component: () => import("./MfaSetup-B3-QSuKe.js"),
8511
+ meta: {
8512
+ title: "Set Up Two-Factor Authentication",
8513
+ description: "Enable MFA for your account"
8514
+ }
8515
+ },
8516
+ {
8517
+ path: authPaths.mfa_verify.path,
8518
+ name: authPaths.mfa_verify.name,
8519
+ component: () => import("./MfaVerify-5DOMPhdq.js"),
8520
+ meta: {
8521
+ title: "Verify Two-Factor Authentication",
8522
+ description: "Enter your MFA code to complete sign in"
8523
+ }
8524
+ },
8525
+ {
8526
+ path: authPaths.verify_email.path,
8527
+ name: authPaths.verify_email.name,
8528
+ component: () => import("./VerifyEmail-CG1BHGSh.js"),
8529
+ meta: {
8530
+ title: "Verify Email",
8531
+ description: "Verify your email address"
8532
+ }
8533
+ },
8534
+ {
8535
+ path: authPaths.verify_email_required.path,
8536
+ name: authPaths.verify_email_required.name,
8537
+ component: () => import("./VerifyEmailRequired-C35bkaXZ.js"),
8538
+ meta: {
8539
+ title: "Verify Email",
8540
+ description: "Check your email to verify your account"
8541
+ }
8390
8542
  }
8391
8543
  ];
8392
8544
  if (allowUserSignup) baseRoutes.splice(1, 0, {
8393
8545
  path: authPaths.register.path,
8394
8546
  name: authPaths.register.name,
8395
- component: () => import("./Signup-VZa7U-Ur.js"),
8547
+ component: () => import("./Signup-DWFxpoGA.js"),
8396
8548
  meta: {
8397
8549
  title: "Register",
8398
8550
  description: "Register page for Category 5 App"
@@ -8401,85 +8553,6 @@ if (allowUserSignup) baseRoutes.splice(1, 0, {
8401
8553
  });
8402
8554
  const authRoutes = baseRoutes;
8403
8555
 
8404
- //#endregion
8405
- //#region src/slices/auth/features/reset_password/reset_password_schema.ts
8406
- const resetPasswordSchemaWithMetadata = withMetadata(resetPasswordInputSchema, "resetPasswordSchema", {
8407
- "passwords.password": {
8408
- inputType: "password",
8409
- placeholder: "••••••••",
8410
- helpText: "Must be at least 8 characters",
8411
- autocomplete: "new-password",
8412
- className: "login-field"
8413
- },
8414
- "passwords.password_confirm": {
8415
- inputType: "password",
8416
- placeholder: "••••••••",
8417
- helpText: "Must be at least 8 characters",
8418
- autocomplete: "new-password",
8419
- className: "login-field"
8420
- }
8421
- });
8422
-
8423
- //#endregion
8424
- //#region src/slices/auth/features/reset_password/ResetPassword.vue
8425
- const _hoisted_1$8 = { class: "max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container" };
8426
- const _hoisted_2$7 = { class: "text-center mt-2" };
8427
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8428
- __name: "ResetPassword",
8429
- setup(__props) {
8430
- const router = useRouter();
8431
- const token = useRoute().params.token;
8432
- const { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(resetPasswordSchemaWithMetadata, {
8433
- storeName: "reset-password-form",
8434
- persistToLocalStorage: false,
8435
- renderStyle: "daisy_ui"
8436
- });
8437
- const { mutate: resetPasswordMutate } = useMutation((api, input) => api.passwordReset.resetPassword(input), { skipAuthCheck: true });
8438
- const handleSubmit = async (data) => {
8439
- const result = await resetPasswordMutate({
8440
- ...data,
8441
- token
8442
- });
8443
- if (!result?.ok) throw new Error("Reset password failed");
8444
- return result;
8445
- };
8446
- const handleSuccess = async (_data) => {
8447
- form.reset();
8448
- await router.push(authPaths.login.full_path);
8449
- toast.success("Password reset successful!");
8450
- };
8451
- const handleError = (error) => {
8452
- console.log("Reset password failed", error);
8453
- toast.error(error.message || "Reset password failed");
8454
- };
8455
- return (_ctx, _cache) => {
8456
- return openBlock(), createElementBlock("div", _hoisted_1$8, [_cache[2] || (_cache[2] = createElementVNode("h1", { class: "text-2xl font-bold mb-6 text-center" }, "Reset Password", -1)), createVNode(unref(ZiniaForm), {
8457
- onHandleSubmit: handleSubmit,
8458
- onSuccess: handleSuccess,
8459
- onError: handleError
8460
- }, {
8461
- default: withCtx(() => [
8462
- createVNode(unref(zinia).PasswordsPasswordField),
8463
- createVNode(unref(zinia).PasswordsPasswordConfirmField),
8464
- createVNode(unref(ZiniaSubmitButton), {
8465
- submitText: "Reset Password",
8466
- submittingText: "Resetting Password..."
8467
- }),
8468
- createElementVNode("div", _hoisted_2$7, [createElementVNode("p", null, [_cache[1] || (_cache[1] = createTextVNode(" Already have an account? ", -1)), createVNode(AppLink_default, {
8469
- class: "link-accent link",
8470
- to: "/auth/login"
8471
- }, {
8472
- default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode("Login", -1)])]),
8473
- _: 1
8474
- })])])
8475
- ]),
8476
- _: 1
8477
- })]);
8478
- };
8479
- }
8480
- });
8481
- var ResetPassword_default = _sfc_main$9;
8482
-
8483
8556
  //#endregion
8484
8557
  //#region src/slices/auth/features/login/SocialLoginButtons.vue
8485
8558
  const _hoisted_1$7 = { class: "social-login-buttons space-y-3" };
@@ -8547,7 +8620,7 @@ const adminRoutes = [{
8547
8620
  {
8548
8621
  path: "create-user",
8549
8622
  name: "CreateUser",
8550
- component: () => import("./CreateUserPage-WjYDkwpb.js"),
8623
+ component: () => import("./CreateUserPage-cduuWl9g.js"),
8551
8624
  meta: {
8552
8625
  title: "Create User",
8553
8626
  description: "Create User page for Category 5 App",
@@ -8560,7 +8633,7 @@ const adminRoutes = [{
8560
8633
  {
8561
8634
  path: "support-staff",
8562
8635
  name: "SupportStaff",
8563
- component: () => import("./SupportStaffPage-nd0HowtH.js"),
8636
+ component: () => import("./SupportStaffPage-DwILSSas.js"),
8564
8637
  meta: {
8565
8638
  title: "Support Staff",
8566
8639
  description: "Manage users who can triage support tickets",
@@ -8573,7 +8646,7 @@ const adminRoutes = [{
8573
8646
  {
8574
8647
  path: "users",
8575
8648
  name: "UserManagement",
8576
- component: () => import("./UserListPage-D68AjrjM.js"),
8649
+ component: () => import("./UserListPage-BZp9fGeT.js"),
8577
8650
  meta: {
8578
8651
  title: "User Management",
8579
8652
  description: "View and manage all users",
@@ -8586,7 +8659,7 @@ const adminRoutes = [{
8586
8659
  {
8587
8660
  path: "users/:id/edit",
8588
8661
  name: "EditUser",
8589
- component: () => import("./EditUserPage-BG-Fkx_c.js"),
8662
+ component: () => import("./EditUserPage-BgMNOa8G.js"),
8590
8663
  meta: {
8591
8664
  title: "Edit User",
8592
8665
  description: "Edit user role",
@@ -8609,7 +8682,7 @@ const adminRoutes = [{
8609
8682
  {
8610
8683
  path: "credit-management",
8611
8684
  name: "CreditManagement",
8612
- component: () => import("./CreditManagement-DGLhDOO5.js"),
8685
+ component: () => import("./CreditManagement-BGqIkJf8.js"),
8613
8686
  meta: {
8614
8687
  title: "Credit Management",
8615
8688
  description: "Manage customer credits and allocations",
@@ -8622,7 +8695,7 @@ const adminRoutes = [{
8622
8695
  {
8623
8696
  path: "support-ticket-maintenance",
8624
8697
  name: "SupportTicketMaintenance",
8625
- component: () => import("./SupportTicketMaintenancePage-rcJ7EfDj.js"),
8698
+ component: () => import("./SupportTicketMaintenancePage-CpK1esq2.js"),
8626
8699
  meta: {
8627
8700
  title: "Support Ticket Maintenance",
8628
8701
  description: "Admin utilities for fixing support ticket data",
@@ -8650,7 +8723,7 @@ const creditRoutes = [{
8650
8723
  children: [{
8651
8724
  path: creditPaths.credit_balance.path,
8652
8725
  name: creditPaths.credit_balance.name,
8653
- component: () => import("./CreditBalanceDashboard-RLAnIiVN.js"),
8726
+ component: () => import("./CreditBalanceDashboard-Bh6G7DdM.js"),
8654
8727
  meta: {
8655
8728
  title: "Credit Balance",
8656
8729
  description: "View your current credit balance and history.",
@@ -9255,5 +9328,5 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9255
9328
  var CreditManagement_default = _sfc_main;
9256
9329
 
9257
9330
  //#endregion
9258
- export { savedFilterRoutes as $, Sidebar_default as $t, adminSupportTicketUpdateSchemaWithMetadata as A, staffOnly as At, customerSupportTicketRowSchemaWithMetadata as B, SummarySection_default as Bt, SupportTicketAttachments_default as C, userRoutes as Ct, adminSupportTicketRowSchemaWithMetadata as D, createSuperAdminOnlyGuard as Dt, StaffSupportTicketList_default as E, createStaffOnlyGuard as Et, CancelInternalTaskWorkflow_default as F, buildQueryWithFilters as Ft, SupportTicketTimeline_default as G, KeyValueEditor_default as Gt, CustomerCreateSupportTicketForm_default as H, RecordVersionList_default as Ht, ApproveRejectActions_default as I, deserializeFiltersFromQueryParams as It, customerSupportPaths as J, FieldDisplay_default as Jt, staffSupportPaths as K, FileManager_default as Kt, CustomerCreditBalance_default as L, extractFiltersFromQuery as Lt, ConvertToInternalWorkflow_default as M, userIsSuperAdmin as Mt, ConvertToCustomerWorkflow_default as N, userAlreadyLoggedIn as Nt, StaffCreateSupportTicketForm_default as O, createUserAuthorizedGuard as Ot, CompleteSupportTicketForm_default as P, timezones as Pt, SaveFilterModal_default as Q, Admin_default as Qt, CustomerSupportTicketSuccess_default as R, serializeFiltersToQueryParams as Rt, adminSupportTicketFiltersSchemaWithMetadata as S, teamUpdateSchemaWithMetadata as St, StaffSupportTicketSuccess_default as T, createLeadOrStaffOnlyGuard as Tt, customerSupportTicketCreateSchemaWithMetadata as U, RecordChangesSummary_default as Ut, SupportTicketStatusBadge_default as V, RecordVersionViewer_default as Vt, customerSupportTicketUpdateSchemaWithMetadata as W, LoadingErrorStates_default as Wt, SavedFilterPresets_default as X, Default_default as Xt, customerSupportTicketRoutes as Y, InApp_default as Yt, ManagePresetsModal_default as Z, Auth_default as Zt, resetPasswordSchemaWithMetadata as _, teamPaths as _t, addCreditsSchemaWithMetadata as a, RightSidebar_default as an, TeamMemberList_default as at, useSupportTicketStatus as b, teamMemberRoutes as bt, CreditTransactionHistory_default as c, LoginButton_default as cn, CreateTeamMemberForm_default as ct, CreditBalanceOverview_default as d, AppHeader_default as dn, TeamList_default as dt, PINNED_PRESETS_KEY as en, useSavedFilters as et, creditPaths as f, AppTabNavigation_default as fn, teamRowSchemaWithMetadata as ft, ResetPassword_default as g, CreateTeamForm_default as gt, SocialLoginButtons_default as h, EditTeamForm_default as ht, AddCredits_default as i, useBuildTag as in, TeamMemberParent_default as it, ReactivateInternalTaskWorkflow_default as j, userAuthenticated as jt, adminSupportTicketCreateSchemaWithMetadata as k, leadOrStaffOnly as kt, CreditTransactionTypeBadge_default as l, InputModal_default as ln, ViewTeam_default as lt, adminRoutes as m, TeamAttachmentsTab_default as mt, SetMonthlyAllocation_default as n, usePinnedPresets as nn, getLastUsedPresetRedirect as nt, setMonthlyAllocationSchemaWithMetadata as o, NotFound_default as on, teamMemberRowSchemaWithMetadata as ot, creditRoutes as p, DragoncoreVue as pn, teamFiltersSchemaWithMetadata as pt, staffSupportTicketRoutes as q, FieldGroup_default as qt, ResetMonthlyBalance_default as r, MS as rn, ViewTeamMember_default as rt, CreditBalanceDashboard_default as s, Navbar_default as sn, teamMemberFiltersSchemaWithMetadata as st, CreditManagement_default as t, useInjectedPinnedPresets as tn, createLastUsedPresetGuard as tt, creditTransactionRowSchemaWithMetadata as u, BaseModal_default as un, TeamParent_default as ut, authPaths as v, teamRoutes as vt, CreditBalanceWidget_default as w, createAuthenticatedGuard as wt, useSupportTicketPermissions as x, teamCreateSchemaWithMetadata as xt, authRoutes as y, teamMemberPaths as yt, CustomerSupportTicketList_default as z, useUserLookup as zt };
9259
- //# sourceMappingURL=src-BUN-mdXa.js.map
9331
+ export { createLastUsedPresetGuard as $, Sidebar_default as $t, ConvertToInternalWorkflow_default as A, userIsSuperAdmin as At, CustomerCreateSupportTicketForm_default as B, RecordVersionList_default as Bt, StaffSupportTicketSuccess_default as C, createLeadOrStaffOnlyGuard as Ct, adminSupportTicketCreateSchemaWithMetadata as D, leadOrStaffOnly as Dt, StaffCreateSupportTicketForm_default as E, createUserAuthorizedGuard as Et, CustomerCreditBalance_default as F, extractFiltersFromQuery as Ft, staffSupportTicketRoutes as G, FieldGroup_default as Gt, customerSupportTicketUpdateSchemaWithMetadata as H, LoadingErrorStates_default as Ht, CustomerSupportTicketSuccess_default as I, serializeFiltersToQueryParams as It, SavedFilterPresets_default as J, Default_default as Jt, customerSupportPaths as K, FieldDisplay_default as Kt, CustomerSupportTicketList_default as L, useUserLookup as Lt, CompleteSupportTicketForm_default as M, timezones as Mt, CancelInternalTaskWorkflow_default as N, buildQueryWithFilters as Nt, adminSupportTicketUpdateSchemaWithMetadata as O, staffOnly as Ot, ApproveRejectActions_default as P, deserializeFiltersFromQueryParams as Pt, useSavedFilters as Q, useEmailVerificationGuard as Qt, customerSupportTicketRowSchemaWithMetadata as R, SummarySection_default as Rt, CreditBalanceWidget_default as S, createAuthenticatedGuard as St, adminSupportTicketRowSchemaWithMetadata as T, createSuperAdminOnlyGuard as Tt, SupportTicketTimeline_default as U, KeyValueEditor_default as Ut, customerSupportTicketCreateSchemaWithMetadata as V, RecordChangesSummary_default as Vt, staffSupportPaths as W, FileManager_default as Wt, SaveFilterModal_default as X, Admin_default as Xt, ManagePresetsModal_default as Y, Auth_default as Yt, savedFilterRoutes as Z, UnverifiedEmailBanner_default as Zt, authRoutes as _, teamMemberPaths as _t, addCreditsSchemaWithMetadata as a, RightSidebar_default as an, teamMemberFiltersSchemaWithMetadata as at, adminSupportTicketFiltersSchemaWithMetadata as b, teamUpdateSchemaWithMetadata as bt, CreditTransactionHistory_default as c, LoginButton_default as cn, TeamParent_default as ct, CreditBalanceOverview_default as d, AppHeader_default as dn, teamFiltersSchemaWithMetadata as dt, PINNED_PRESETS_KEY as en, getLastUsedPresetRedirect as et, creditPaths as f, AppTabNavigation_default as fn, TeamAttachmentsTab_default as ft, authPaths as g, teamRoutes as gt, SocialLoginButtons_default as h, teamPaths as ht, AddCredits_default as i, useBuildTag as in, teamMemberRowSchemaWithMetadata as it, ConvertToCustomerWorkflow_default as j, userAlreadyLoggedIn as jt, ReactivateInternalTaskWorkflow_default as k, userAuthenticated as kt, CreditTransactionTypeBadge_default as l, InputModal_default as ln, TeamList_default as lt, adminRoutes as m, CreateTeamForm_default as mt, SetMonthlyAllocation_default as n, usePinnedPresets as nn, TeamMemberParent_default as nt, setMonthlyAllocationSchemaWithMetadata as o, NotFound_default as on, CreateTeamMemberForm_default as ot, creditRoutes as p, DragoncoreVue as pn, EditTeamForm_default as pt, customerSupportTicketRoutes as q, InApp_default as qt, ResetMonthlyBalance_default as r, MS as rn, TeamMemberList_default as rt, CreditBalanceDashboard_default as s, Navbar_default as sn, ViewTeam_default as st, CreditManagement_default as t, useInjectedPinnedPresets as tn, ViewTeamMember_default as tt, creditTransactionRowSchemaWithMetadata as u, BaseModal_default as un, teamRowSchemaWithMetadata as ut, useSupportTicketStatus as v, teamMemberRoutes as vt, StaffSupportTicketList_default as w, createStaffOnlyGuard as wt, SupportTicketAttachments_default as x, userRoutes as xt, useSupportTicketPermissions as y, teamCreateSchemaWithMetadata as yt, SupportTicketStatusBadge_default as z, RecordVersionViewer_default as zt };
9332
+ //# sourceMappingURL=src-DYBi81fS.js.map