@dragonmastery/dragoncore-vue 0.0.1

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 (138) hide show
  1. package/LICENSE +75 -0
  2. package/dist/AppLink-CHMMrSFI.js +54 -0
  3. package/dist/AppLink-CHMMrSFI.js.map +1 -0
  4. package/dist/Appearance-BfPdKMXw.js +70 -0
  5. package/dist/Appearance-BfPdKMXw.js.map +1 -0
  6. package/dist/Appearance-C3WguxT-.js +3 -0
  7. package/dist/ChangePasswordPage-Btu5lf-r.js +86 -0
  8. package/dist/ChangePasswordPage-Btu5lf-r.js.map +1 -0
  9. package/dist/ChangePasswordPage-mBBuQMkT.js +6 -0
  10. package/dist/CreateTeamForm-n2ut93vM.js +43 -0
  11. package/dist/CreateTeamMemberForm-CcH3AxNL.js +43 -0
  12. package/dist/CreateUserPage-CDrGuW9B.js +6 -0
  13. package/dist/CreateUserPage-Cmx8xjjv.js +76 -0
  14. package/dist/CreateUserPage-Cmx8xjjv.js.map +1 -0
  15. package/dist/CreditBalanceDashboard-DLz0ioP3.js +43 -0
  16. package/dist/CreditManagement-D3q5S-qc.js +43 -0
  17. package/dist/CustomerCreateSupportTicketForm-Ci7QYkG-.js +43 -0
  18. package/dist/CustomerEditSupportTicketForm-Dd5ZB74k.js +159 -0
  19. package/dist/CustomerEditSupportTicketForm-Dd5ZB74k.js.map +1 -0
  20. package/dist/CustomerEditSupportTicketForm-lLchVjnw.js +9 -0
  21. package/dist/CustomerSupportTicketAttachmentsTab-gBrVO97t.js +43 -0
  22. package/dist/CustomerSupportTicketCustomerNotesTab-D0jhzbOY.js +8 -0
  23. package/dist/CustomerSupportTicketCustomerNotesTab-D1aa9It7.js +23 -0
  24. package/dist/CustomerSupportTicketCustomerNotesTab-D1aa9It7.js.map +1 -0
  25. package/dist/CustomerSupportTicketHistoryTab-BNTf8EZq.js +6 -0
  26. package/dist/CustomerSupportTicketHistoryTab-CFYN_Sa4.js +17 -0
  27. package/dist/CustomerSupportTicketHistoryTab-CFYN_Sa4.js.map +1 -0
  28. package/dist/CustomerSupportTicketList-BkOzFxMP.js +6 -0
  29. package/dist/CustomerSupportTicketList-C2nUPawb.js +166 -0
  30. package/dist/CustomerSupportTicketList-C2nUPawb.js.map +1 -0
  31. package/dist/CustomerSupportTicketParent-2mONd9kL.js +66 -0
  32. package/dist/CustomerSupportTicketParent-2mONd9kL.js.map +1 -0
  33. package/dist/CustomerSupportTicketParent-N8ko1yFE.js +7 -0
  34. package/dist/CustomerSupportTicketSuccess-w_-9NXT4.js +43 -0
  35. package/dist/CustomerViewSupportTicket-CVwNH0lS.js +11 -0
  36. package/dist/CustomerViewSupportTicket-tZkxragu.js +363 -0
  37. package/dist/CustomerViewSupportTicket-tZkxragu.js.map +1 -0
  38. package/dist/EditTeamForm-BioqiTWE.js +43 -0
  39. package/dist/EditTeamMemberForm-DCq0Gsn_.js +7 -0
  40. package/dist/EditTeamMemberForm-ru4WgLz-.js +169 -0
  41. package/dist/EditTeamMemberForm-ru4WgLz-.js.map +1 -0
  42. package/dist/EditUserPage-BxJ5QvIM.js +112 -0
  43. package/dist/EditUserPage-BxJ5QvIM.js.map +1 -0
  44. package/dist/EditUserPage-XOBuxUxd.js +7 -0
  45. package/dist/FieldsetSection-CsHN38_o.js +27 -0
  46. package/dist/FieldsetSection-CsHN38_o.js.map +1 -0
  47. package/dist/ForgotPassword-CpqvcSFg.js +7 -0
  48. package/dist/ForgotPassword-CqhenzUG.js +73 -0
  49. package/dist/ForgotPassword-CqhenzUG.js.map +1 -0
  50. package/dist/InlineAttachments-I39rOvip.js +1351 -0
  51. package/dist/InlineAttachments-I39rOvip.js.map +1 -0
  52. package/dist/LoginForm-AM0qkfbU.js +7 -0
  53. package/dist/LoginForm-_PZ51Uwe.js +116 -0
  54. package/dist/LoginForm-_PZ51Uwe.js.map +1 -0
  55. package/dist/Logout-BMjiqHnS.js +38 -0
  56. package/dist/Logout-BMjiqHnS.js.map +1 -0
  57. package/dist/Logout-BfiBjlaH.js +6 -0
  58. package/dist/NoteList-C0hRPNMO.js +497 -0
  59. package/dist/NoteList-C0hRPNMO.js.map +1 -0
  60. package/dist/NotificationEmailsPage-BjRqtW95.js +141 -0
  61. package/dist/NotificationEmailsPage-BjRqtW95.js.map +1 -0
  62. package/dist/NotificationEmailsPage-bx-9rg3x.js +7 -0
  63. package/dist/ResetPassword-BQLkR9TZ.js +43 -0
  64. package/dist/Signup-CnCcQlB8.js +7 -0
  65. package/dist/Signup-c2-_yMOM.js +106 -0
  66. package/dist/Signup-c2-_yMOM.js.map +1 -0
  67. package/dist/StaffCreateSupportTicketForm-ChVFDJdA.js +43 -0
  68. package/dist/StaffEditSupportTicketForm-DY1Zkf5k.js +9 -0
  69. package/dist/StaffEditSupportTicketForm-DuUKuIGg.js +263 -0
  70. package/dist/StaffEditSupportTicketForm-DuUKuIGg.js.map +1 -0
  71. package/dist/StaffSupportTicketAttachmentsTab-DpDXsHXP.js +43 -0
  72. package/dist/StaffSupportTicketCustomerNotesTab-CusqQV2-.js +23 -0
  73. package/dist/StaffSupportTicketCustomerNotesTab-CusqQV2-.js.map +1 -0
  74. package/dist/StaffSupportTicketCustomerNotesTab-rbJHJ0_V.js +8 -0
  75. package/dist/StaffSupportTicketHistoryTab-D24myEm3.js +17 -0
  76. package/dist/StaffSupportTicketHistoryTab-D24myEm3.js.map +1 -0
  77. package/dist/StaffSupportTicketHistoryTab-nmVma5vp.js +6 -0
  78. package/dist/StaffSupportTicketInternalNotesTab-D8HM--dp.js +23 -0
  79. package/dist/StaffSupportTicketInternalNotesTab-D8HM--dp.js.map +1 -0
  80. package/dist/StaffSupportTicketInternalNotesTab-DihYd5XI.js +8 -0
  81. package/dist/StaffSupportTicketList-DelptSmK.js +43 -0
  82. package/dist/StaffSupportTicketParent-BCrj3ckV.js +7 -0
  83. package/dist/StaffSupportTicketParent-Cx1buQZw.js +66 -0
  84. package/dist/StaffSupportTicketParent-Cx1buQZw.js.map +1 -0
  85. package/dist/StaffSupportTicketSuccess-BYxtY5wZ.js +43 -0
  86. package/dist/StaffSupportTicketWorkflowTab-BrDDBeK9.js +9 -0
  87. package/dist/StaffSupportTicketWorkflowTab-DmVTPzxS.js +1234 -0
  88. package/dist/StaffSupportTicketWorkflowTab-DmVTPzxS.js.map +1 -0
  89. package/dist/SupportTicketHistoryTab-CLMopA7a.js +220 -0
  90. package/dist/SupportTicketHistoryTab-CLMopA7a.js.map +1 -0
  91. package/dist/SupportTicketStatusBadge-YdZzjvkh.js +163 -0
  92. package/dist/SupportTicketStatusBadge-YdZzjvkh.js.map +1 -0
  93. package/dist/TeamAttachmentsTab-BxUpTWYh.js +43 -0
  94. package/dist/TeamHistoryTab-CUCT9MRG.js +5 -0
  95. package/dist/TeamHistoryTab-gB3H2KZv.js +219 -0
  96. package/dist/TeamHistoryTab-gB3H2KZv.js.map +1 -0
  97. package/dist/TeamList-By6pzWm5.js +43 -0
  98. package/dist/TeamMemberList-CYV9fWEb.js +43 -0
  99. package/dist/TeamMemberParent-CVvGqpxD.js +43 -0
  100. package/dist/TeamMembersTab-4gmnP9sD.js +21 -0
  101. package/dist/TeamMembersTab-4gmnP9sD.js.map +1 -0
  102. package/dist/TeamMembersTab-CpE9BaCi.js +3 -0
  103. package/dist/TeamNotesTab-pfXTDhg6.js +23 -0
  104. package/dist/TeamNotesTab-pfXTDhg6.js.map +1 -0
  105. package/dist/TeamNotesTab-u4cDC67X.js +8 -0
  106. package/dist/TeamParent-BxT1KubK.js +43 -0
  107. package/dist/UserListPage-DsQdH2Sm.js +4 -0
  108. package/dist/UserListPage-WU56KiWj.js +153 -0
  109. package/dist/UserListPage-WU56KiWj.js.map +1 -0
  110. package/dist/UserProfilePage-B73JhjUu.js +7 -0
  111. package/dist/UserProfilePage-BtLUY1kt.js +125 -0
  112. package/dist/UserProfilePage-BtLUY1kt.js.map +1 -0
  113. package/dist/ViewTeam-DzX-obEl.js +43 -0
  114. package/dist/ViewTeamMember-PF6S_4Pb.js +43 -0
  115. package/dist/ZiniaContainer-C7c7Vwkh.js +18 -0
  116. package/dist/ZiniaContainer-C7c7Vwkh.js.map +1 -0
  117. package/dist/convertToLocalDateTime-D4IoNvRj.js +111 -0
  118. package/dist/convertToLocalDateTime-D4IoNvRj.js.map +1 -0
  119. package/dist/creditValueFormatter-DftEzu8d.js +128 -0
  120. package/dist/creditValueFormatter-DftEzu8d.js.map +1 -0
  121. package/dist/displayIdFormatter-Dz900Awr.js +13 -0
  122. package/dist/displayIdFormatter-Dz900Awr.js.map +1 -0
  123. package/dist/index.d.ts +6068 -0
  124. package/dist/index.js +45 -0
  125. package/dist/src-o5fMIo5_.js +6649 -0
  126. package/dist/src-o5fMIo5_.js.map +1 -0
  127. package/dist/useBreadcrumbs-DmgSucoe.js +41 -0
  128. package/dist/useBreadcrumbs-DmgSucoe.js.map +1 -0
  129. package/dist/useMutation-CFwe7H9j.js +50 -0
  130. package/dist/useMutation-CFwe7H9j.js.map +1 -0
  131. package/dist/useQuery-p7oJO7OD.js +107 -0
  132. package/dist/useQuery-p7oJO7OD.js.map +1 -0
  133. package/dist/useQueryCache-ByayvZgZ.js +254 -0
  134. package/dist/useQueryCache-ByayvZgZ.js.map +1 -0
  135. package/dist/useRpcAuth-BLlRSHy8.js +722 -0
  136. package/dist/useRpcAuth-BLlRSHy8.js.map +1 -0
  137. package/package.json +62 -0
  138. package/src/daisyui.css +63 -0
@@ -0,0 +1,163 @@
1
+ import { computed, createElementBlock, defineComponent, normalizeClass, openBlock, toDisplayString } from "vue";
2
+
3
+ //#region src/slices/support_ticket/components/SupportTicketPriorityBadge.vue
4
+ const _hoisted_1$1 = ["aria-label"];
5
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6
+ __name: "SupportTicketPriorityBadge",
7
+ props: {
8
+ priority: {},
9
+ size: { default: "md" },
10
+ variant: { default: "default" }
11
+ },
12
+ setup(__props) {
13
+ /**
14
+ * SupportTicketPriorityBadge - A reusable Vue component for displaying support ticket priority
15
+ * as color-coded badges with consistent DaisyUI styling and accessibility features.
16
+ *
17
+ * @example
18
+ * <SupportTicketPriorityBadge :priority="'HIGH'" size="md" />
19
+ * <SupportTicketPriorityBadge :priority="'CRITICAL'" size="sm" variant="outline" />
20
+ */
21
+ const props = __props;
22
+ /**
23
+ * Configuration for each priority badge
24
+ */
25
+ const priorityConfig = {
26
+ LOW: {
27
+ color: "badge-neutral",
28
+ text: "Low",
29
+ ariaLabel: "Priority: Low priority"
30
+ },
31
+ MEDIUM: {
32
+ color: "badge-neutral",
33
+ text: "Medium",
34
+ ariaLabel: "Priority: Medium priority"
35
+ },
36
+ HIGH: {
37
+ color: "badge-neutral",
38
+ text: "High",
39
+ ariaLabel: "Priority: High priority"
40
+ },
41
+ CRITICAL: {
42
+ color: "badge-neutral",
43
+ text: "Critical",
44
+ ariaLabel: "Priority: Critical priority"
45
+ }
46
+ };
47
+ const getPriorityConfig = (priority) => {
48
+ const config$1 = priorityConfig[priority];
49
+ if (!config$1) return {
50
+ color: "badge-neutral",
51
+ text: priority || "Unknown",
52
+ ariaLabel: `Priority: ${priority || "Unknown priority"}`
53
+ };
54
+ return config$1;
55
+ };
56
+ const config = computed(() => getPriorityConfig(props.priority));
57
+ const badgeClasses = computed(() => {
58
+ const baseClasses = ["badge", "text-xs"];
59
+ baseClasses.push(config.value.color);
60
+ if (props.size === "sm") baseClasses.push("badge-sm", "text-xs");
61
+ else if (props.size === "lg") baseClasses.push("badge-lg", "text-sm");
62
+ else baseClasses.push("text-xs", "sm:text-sm");
63
+ if (props.variant === "outline") baseClasses.push("badge-outline");
64
+ return baseClasses.join(" ");
65
+ });
66
+ const displayText = computed(() => config.value.text);
67
+ const ariaLabel = computed(() => config.value.ariaLabel);
68
+ return (_ctx, _cache) => {
69
+ return openBlock(), createElementBlock("div", {
70
+ class: normalizeClass(badgeClasses.value),
71
+ "aria-label": ariaLabel.value,
72
+ role: "status"
73
+ }, toDisplayString(displayText.value), 11, _hoisted_1$1);
74
+ };
75
+ }
76
+ });
77
+ var SupportTicketPriorityBadge_default = _sfc_main$1;
78
+
79
+ //#endregion
80
+ //#region src/slices/support_ticket/components/SupportTicketStatusBadge.vue
81
+ const _hoisted_1 = ["aria-label"];
82
+ const _sfc_main = /* @__PURE__ */ defineComponent({
83
+ __name: "SupportTicketStatusBadge",
84
+ props: {
85
+ status: {},
86
+ size: { default: "md" },
87
+ variant: { default: "default" }
88
+ },
89
+ setup(__props) {
90
+ /**
91
+ * SupportTicketStatusBadge - A reusable Vue component for displaying support ticket status
92
+ * as color-coded badges with consistent DaisyUI styling and accessibility features.
93
+ *
94
+ * @example
95
+ * <SupportTicketStatusBadge :status="'PENDING'" size="md" />
96
+ * <SupportTicketStatusBadge :status="'COMPLETED'" size="sm" variant="outline" />
97
+ */
98
+ const props = __props;
99
+ /**
100
+ * Configuration for each status badge
101
+ */
102
+ const statusConfig = {
103
+ PENDING: {
104
+ color: "badge-warning",
105
+ text: "Pending",
106
+ ariaLabel: "Status: Pending review by support team"
107
+ },
108
+ FOLLOWUP: {
109
+ color: "badge-info",
110
+ text: "To Do",
111
+ ariaLabel: "Status: Approved and ready to begin work"
112
+ },
113
+ IN_PROGRESS: {
114
+ color: "badge-secondary",
115
+ text: "Active",
116
+ ariaLabel: "Status: Currently being worked on"
117
+ },
118
+ COMPLETED: {
119
+ color: "badge-success",
120
+ text: "Done",
121
+ ariaLabel: "Status: Successfully completed"
122
+ },
123
+ CANCELLED: {
124
+ color: "badge-error",
125
+ text: "Cancelled",
126
+ ariaLabel: "Status: Cancelled or rejected"
127
+ }
128
+ };
129
+ const getStatusConfig = (status) => {
130
+ const config$1 = statusConfig[status];
131
+ if (!config$1) return {
132
+ color: "badge-neutral",
133
+ text: status || "Unknown",
134
+ ariaLabel: `Status: ${status || "Unknown status"}`
135
+ };
136
+ return config$1;
137
+ };
138
+ const config = computed(() => getStatusConfig(props.status));
139
+ const badgeClasses = computed(() => {
140
+ const baseClasses = ["badge", "text-xs"];
141
+ baseClasses.push(config.value.color);
142
+ if (props.size === "sm") baseClasses.push("badge-sm", "text-xs");
143
+ else if (props.size === "lg") baseClasses.push("badge-lg", "text-sm");
144
+ else baseClasses.push("text-xs", "sm:text-sm");
145
+ if (props.variant === "outline") baseClasses.push("badge-outline");
146
+ return baseClasses.join(" ");
147
+ });
148
+ const displayText = computed(() => config.value.text);
149
+ const ariaLabel = computed(() => config.value.ariaLabel);
150
+ return (_ctx, _cache) => {
151
+ return openBlock(), createElementBlock("div", {
152
+ class: normalizeClass(badgeClasses.value),
153
+ "aria-label": ariaLabel.value,
154
+ role: "status"
155
+ }, toDisplayString(displayText.value), 11, _hoisted_1);
156
+ };
157
+ }
158
+ });
159
+ var SupportTicketStatusBadge_default = _sfc_main;
160
+
161
+ //#endregion
162
+ export { SupportTicketPriorityBadge_default as n, SupportTicketStatusBadge_default as t };
163
+ //# sourceMappingURL=SupportTicketStatusBadge-YdZzjvkh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportTicketStatusBadge-YdZzjvkh.js","names":["priorityConfig: Record<SupportTicketPriority, PriorityBadgeConfig>","statusConfig: Record<SupportTicketStatus, StatusBadgeConfig>"],"sources":["../src/slices/support_ticket/components/SupportTicketPriorityBadge.vue","../src/slices/support_ticket/components/SupportTicketStatusBadge.vue"],"sourcesContent":["<template>\n <div :class=\"badgeClasses\" :aria-label=\"ariaLabel\" role=\"status\">\n {{ displayText }}\n </div>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * SupportTicketPriorityBadge - A reusable Vue component for displaying support ticket priority\n * as color-coded badges with consistent DaisyUI styling and accessibility features.\n *\n * @example\n * <SupportTicketPriorityBadge :priority=\"'HIGH'\" size=\"md\" />\n * <SupportTicketPriorityBadge :priority=\"'CRITICAL'\" size=\"sm\" variant=\"outline\" />\n */\nimport type { SupportTicketPriority } from '@dragonmastery/dragoncore-shared';\nimport { computed } from 'vue';\n\n/**\n * Props for the SupportTicketPriorityBadge component\n */\ninterface Props {\n /** The support ticket priority to display */\n priority: SupportTicketPriority;\n /** Size of the badge - defaults to 'md' */\n size?: 'sm' | 'md' | 'lg';\n /** Visual variant of the badge - defaults to 'default' */\n variant?: 'default' | 'outline';\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n size: 'md',\n variant: 'default',\n});\n\n/**\n * Configuration for each priority badge\n */\ninterface PriorityBadgeConfig {\n /** DaisyUI badge color class */\n color: string;\n /** Display text for the badge */\n text: string;\n /** Accessibility label for screen readers */\n ariaLabel: string;\n}\n\nconst priorityConfig: Record<SupportTicketPriority, PriorityBadgeConfig> = {\n LOW: {\n color: 'badge-neutral',\n text: 'Low',\n ariaLabel: 'Priority: Low priority',\n },\n MEDIUM: {\n color: 'badge-neutral',\n text: 'Medium',\n ariaLabel: 'Priority: Medium priority',\n },\n HIGH: {\n color: 'badge-neutral',\n text: 'High',\n ariaLabel: 'Priority: High priority',\n },\n CRITICAL: {\n color: 'badge-neutral',\n text: 'Critical',\n ariaLabel: 'Priority: Critical priority',\n },\n};\n\nconst getPriorityConfig = (priority: SupportTicketPriority): PriorityBadgeConfig => {\n const config = priorityConfig[priority];\n if (!config) {\n return {\n color: 'badge-neutral',\n text: priority || 'Unknown',\n ariaLabel: `Priority: ${priority || 'Unknown priority'}`,\n };\n }\n return config;\n};\n\nconst config = computed(() => getPriorityConfig(props.priority));\n\nconst badgeClasses = computed(() => {\n const baseClasses = ['badge', 'text-xs'];\n\n // Add color class\n baseClasses.push(config.value.color);\n\n // Add size class with responsive text sizing\n if (props.size === 'sm') {\n baseClasses.push('badge-sm', 'text-xs');\n } else if (props.size === 'lg') {\n baseClasses.push('badge-lg', 'text-sm');\n } else {\n // md size - responsive text\n baseClasses.push('text-xs', 'sm:text-sm');\n }\n\n // Add variant class\n if (props.variant === 'outline') {\n baseClasses.push('badge-outline');\n }\n\n return baseClasses.join(' ');\n});\n\nconst displayText = computed(() => config.value.text);\nconst ariaLabel = computed(() => config.value.ariaLabel);\n</script>\n","<template>\n <div :class=\"badgeClasses\" :aria-label=\"ariaLabel\" role=\"status\">\n {{ displayText }}\n </div>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * SupportTicketStatusBadge - A reusable Vue component for displaying support ticket status\n * as color-coded badges with consistent DaisyUI styling and accessibility features.\n *\n * @example\n * <SupportTicketStatusBadge :status=\"'PENDING'\" size=\"md\" />\n * <SupportTicketStatusBadge :status=\"'COMPLETED'\" size=\"sm\" variant=\"outline\" />\n */\nimport type { SupportTicketStatus } from '@dragonmastery/dragoncore-shared';\nimport { computed } from 'vue';\n\n/**\n * Props for the SupportTicketStatusBadge component\n */\ninterface Props {\n /** The support ticket status to display */\n status: SupportTicketStatus;\n /** Size of the badge - defaults to 'md' */\n size?: 'sm' | 'md' | 'lg';\n /** Visual variant of the badge - defaults to 'default' */\n variant?: 'default' | 'outline';\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n size: 'md',\n variant: 'default',\n});\n\n/**\n * Configuration for each status badge\n */\ninterface StatusBadgeConfig {\n /** DaisyUI badge color class */\n color: string;\n /** Display text for the badge */\n text: string;\n /** Accessibility label for screen readers */\n ariaLabel: string;\n}\n\nconst statusConfig: Record<SupportTicketStatus, StatusBadgeConfig> = {\n PENDING: {\n color: 'badge-warning',\n text: 'Pending',\n ariaLabel: 'Status: Pending review by support team',\n },\n FOLLOWUP: {\n color: 'badge-info',\n text: 'To Do',\n ariaLabel: 'Status: Approved and ready to begin work',\n },\n IN_PROGRESS: {\n color: 'badge-secondary',\n text: 'Active',\n ariaLabel: 'Status: Currently being worked on',\n },\n COMPLETED: {\n color: 'badge-success',\n text: 'Done',\n ariaLabel: 'Status: Successfully completed',\n },\n CANCELLED: {\n color: 'badge-error',\n text: 'Cancelled',\n ariaLabel: 'Status: Cancelled or rejected',\n },\n};\n\nconst getStatusConfig = (status: SupportTicketStatus): StatusBadgeConfig => {\n const config = statusConfig[status];\n if (!config) {\n return {\n color: 'badge-neutral',\n text: status || 'Unknown',\n ariaLabel: `Status: ${status || 'Unknown status'}`,\n };\n }\n return config;\n};\n\nconst config = computed(() => getStatusConfig(props.status));\n\nconst badgeClasses = computed(() => {\n const baseClasses = ['badge', 'text-xs'];\n\n // Add color class\n baseClasses.push(config.value.color);\n\n // Add size class with responsive text sizing\n if (props.size === 'sm') {\n baseClasses.push('badge-sm', 'text-xs');\n } else if (props.size === 'lg') {\n baseClasses.push('badge-lg', 'text-sm');\n } else {\n // md size - responsive text\n baseClasses.push('text-xs', 'sm:text-sm');\n }\n\n // Add variant class\n if (props.variant === 'outline') {\n baseClasses.push('badge-outline');\n }\n\n return baseClasses.join(' ');\n});\n\nconst displayText = computed(() => config.value.text);\nconst ariaLabel = computed(() => config.value.ariaLabel);\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EA8BA,MAAM,QAAQ;;;;EAiBd,MAAMA,iBAAqE;GACzE,KAAK;IACH,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,QAAQ;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,MAAM;IACJ,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,UAAU;IACR,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACF;EAED,MAAM,qBAAqB,aAAyD;GAClF,MAAM,WAAS,eAAe;AAC9B,OAAI,CAAC,SACH,QAAO;IACL,OAAO;IACP,MAAM,YAAY;IAClB,WAAW,aAAa,YAAY;IACrC;AAEH,UAAO;;EAGT,MAAM,SAAS,eAAe,kBAAkB,MAAM,SAAS,CAAC;EAEhE,MAAM,eAAe,eAAe;GAClC,MAAM,cAAc,CAAC,SAAS,UAAU;AAGxC,eAAY,KAAK,OAAO,MAAM,MAAM;AAGpC,OAAI,MAAM,SAAS,KACjB,aAAY,KAAK,YAAY,UAAU;YAC9B,MAAM,SAAS,KACxB,aAAY,KAAK,YAAY,UAAU;OAGvC,aAAY,KAAK,WAAW,aAAa;AAI3C,OAAI,MAAM,YAAY,UACpB,aAAY,KAAK,gBAAgB;AAGnC,UAAO,YAAY,KAAK,IAAI;IAC5B;EAEF,MAAM,cAAc,eAAe,OAAO,MAAM,KAAK;EACrD,MAAM,YAAY,eAAe,OAAO,MAAM,UAAU;;uBA5GtD,mBAEM,OAAA;IAFA,OAAK,eAAE,aAAA,MAAY;IAAG,cAAY,UAAA;IAAW,MAAK;sBACnD,YAAA,MAAW,EAAA,IAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;EC4BlB,MAAM,QAAQ;;;;EAiBd,MAAMC,eAA+D;GACnE,SAAS;IACP,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,UAAU;IACR,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,aAAa;IACX,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,WAAW;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,WAAW;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACF;EAED,MAAM,mBAAmB,WAAmD;GAC1E,MAAM,WAAS,aAAa;AAC5B,OAAI,CAAC,SACH,QAAO;IACL,OAAO;IACP,MAAM,UAAU;IAChB,WAAW,WAAW,UAAU;IACjC;AAEH,UAAO;;EAGT,MAAM,SAAS,eAAe,gBAAgB,MAAM,OAAO,CAAC;EAE5D,MAAM,eAAe,eAAe;GAClC,MAAM,cAAc,CAAC,SAAS,UAAU;AAGxC,eAAY,KAAK,OAAO,MAAM,MAAM;AAGpC,OAAI,MAAM,SAAS,KACjB,aAAY,KAAK,YAAY,UAAU;YAC9B,MAAM,SAAS,KACxB,aAAY,KAAK,YAAY,UAAU;OAGvC,aAAY,KAAK,WAAW,aAAa;AAI3C,OAAI,MAAM,YAAY,UACpB,aAAY,KAAK,gBAAgB;AAGnC,UAAO,YAAY,KAAK,IAAI;IAC5B;EAEF,MAAM,cAAc,eAAe,OAAO,MAAM,KAAK;EACrD,MAAM,YAAY,eAAe,OAAO,MAAM,UAAU;;uBAjHtD,mBAEM,OAAA;IAFA,OAAK,eAAE,aAAA,MAAY;IAAG,cAAY,UAAA;IAAW,MAAK;sBACnD,YAAA,MAAW,EAAA,IAAA,WAAA"}
@@ -0,0 +1,43 @@
1
+ import "./useRpcAuth-BLlRSHy8.js";
2
+ import "./useQueryCache-ByayvZgZ.js";
3
+ import "./useMutation-CFwe7H9j.js";
4
+ import "./useQuery-p7oJO7OD.js";
5
+ import { J as TeamAttachmentsTab_default } from "./src-o5fMIo5_.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./InlineAttachments-I39rOvip.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-BfPdKMXw.js";
10
+ import "./useBreadcrumbs-DmgSucoe.js";
11
+ import "./FieldsetSection-CsHN38_o.js";
12
+ import "./ZiniaContainer-C7c7Vwkh.js";
13
+ import "./NoteList-C0hRPNMO.js";
14
+ import "./UserProfilePage-BtLUY1kt.js";
15
+ import "./ChangePasswordPage-Btu5lf-r.js";
16
+ import "./TeamHistoryTab-gB3H2KZv.js";
17
+ import "./TeamNotesTab-pfXTDhg6.js";
18
+ import "./EditTeamMemberForm-ru4WgLz-.js";
19
+ import "./SupportTicketStatusBadge-YdZzjvkh.js";
20
+ import "./creditValueFormatter-DftEzu8d.js";
21
+ import "./CustomerSupportTicketList-C2nUPawb.js";
22
+ import "./CustomerEditSupportTicketForm-Dd5ZB74k.js";
23
+ import "./CustomerViewSupportTicket-tZkxragu.js";
24
+ import "./CustomerSupportTicketParent-2mONd9kL.js";
25
+ import "./CustomerSupportTicketCustomerNotesTab-D1aa9It7.js";
26
+ import "./SupportTicketHistoryTab-CLMopA7a.js";
27
+ import "./CustomerSupportTicketHistoryTab-CFYN_Sa4.js";
28
+ import "./StaffSupportTicketWorkflowTab-DmVTPzxS.js";
29
+ import "./StaffEditSupportTicketForm-DuUKuIGg.js";
30
+ import "./StaffSupportTicketParent-Cx1buQZw.js";
31
+ import "./StaffSupportTicketCustomerNotesTab-CusqQV2-.js";
32
+ import "./StaffSupportTicketInternalNotesTab-D8HM--dp.js";
33
+ import "./StaffSupportTicketHistoryTab-D24myEm3.js";
34
+ import "./LoginForm-_PZ51Uwe.js";
35
+ import "./Signup-c2-_yMOM.js";
36
+ import "./ForgotPassword-CqhenzUG.js";
37
+ import "./Logout-BMjiqHnS.js";
38
+ import "./UserListPage-WU56KiWj.js";
39
+ import "./CreateUserPage-Cmx8xjjv.js";
40
+ import "./NotificationEmailsPage-BjRqtW95.js";
41
+ import "./EditUserPage-BxJ5QvIM.js";
42
+
43
+ export { TeamAttachmentsTab_default as default };
@@ -0,0 +1,5 @@
1
+ import "./useRpcAuth-BLlRSHy8.js";
2
+ import "./ZiniaContainer-C7c7Vwkh.js";
3
+ import { t as TeamHistoryTab_default } from "./TeamHistoryTab-gB3H2KZv.js";
4
+
5
+ export { TeamHistoryTab_default as default };
@@ -0,0 +1,219 @@
1
+ import { r as executeWithAuth, s as getRefreshTokenHandler } from "./useRpcAuth-BLlRSHy8.js";
2
+ import { t as ZiniaContainer_default } from "./ZiniaContainer-C7c7Vwkh.js";
3
+ import { t as formatSystemTimestamp } from "./convertToLocalDateTime-D4IoNvRj.js";
4
+ import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, renderList, toDisplayString, unref, withCtx } from "vue";
5
+ import { useRoute } from "vue-router";
6
+ import { recordVersionSchema } from "@dragonmastery/dragoncore-shared";
7
+ import { useCursorDataTable, withMetadata } from "@dragonmastery/zinia-forms-core";
8
+
9
+ //#region src/slices/team/recordVersionRowSchema.ts
10
+ const recordVersionRowSchemaWithMetadata = withMetadata(recordVersionSchema, "recordVersionRowSchema", {});
11
+
12
+ //#endregion
13
+ //#region src/slices/team/components/TeamHistoryTab.vue
14
+ const _hoisted_1 = { class: "mt-2" };
15
+ const _hoisted_2 = { class: "space-y-3" };
16
+ const _hoisted_3 = { class: "flex flex-col sm:flex-row sm:items-center gap-2" };
17
+ const _hoisted_4 = { class: "flex items-center gap-2" };
18
+ const _hoisted_5 = { class: "flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2 text-xs" };
19
+ const _hoisted_6 = { class: "text-base-content/70" };
20
+ const _hoisted_7 = { class: "text-base-content/60" };
21
+ const _hoisted_8 = ["onClick"];
22
+ const _hoisted_9 = {
23
+ key: 0,
24
+ class: "mt-3"
25
+ };
26
+ const _hoisted_10 = { key: 0 };
27
+ const _hoisted_11 = { class: "bg-base-200 rounded-lg p-3 text-sm" };
28
+ const _hoisted_12 = { class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2" };
29
+ const _hoisted_13 = { class: "text-xs font-medium text-base-content/70 mb-1" };
30
+ const _hoisted_14 = { class: "text-xs font-mono text-base-content" };
31
+ const _hoisted_15 = {
32
+ key: 0,
33
+ class: "text-base-content/50 italic"
34
+ };
35
+ const _hoisted_16 = { key: 1 };
36
+ const _hoisted_17 = { key: 1 };
37
+ const _hoisted_18 = { class: "space-y-2" };
38
+ const _hoisted_19 = { class: "flex items-center justify-between mb-1" };
39
+ const _hoisted_20 = { class: "font-medium text-xs text-base-content" };
40
+ const _hoisted_21 = { class: "grid grid-cols-1 md:grid-cols-2 gap-2" };
41
+ const _hoisted_22 = { class: "bg-error/10 border border-error/20 rounded p-1 text-xs" };
42
+ const _hoisted_23 = {
43
+ key: 0,
44
+ class: "text-base-content/50 italic"
45
+ };
46
+ const _hoisted_24 = {
47
+ key: 1,
48
+ class: "font-mono"
49
+ };
50
+ const _hoisted_25 = { class: "bg-success/10 border border-success/20 rounded p-1 text-xs" };
51
+ const _hoisted_26 = {
52
+ key: 0,
53
+ class: "text-base-content/50 italic"
54
+ };
55
+ const _hoisted_27 = {
56
+ key: 1,
57
+ class: "font-mono"
58
+ };
59
+ const _hoisted_28 = { key: 2 };
60
+ const _hoisted_29 = { class: "bg-error/10 rounded p-2 text-xs font-mono" };
61
+ const _hoisted_30 = { class: "whitespace-pre-wrap" };
62
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
63
+ __name: "TeamHistoryTab",
64
+ setup(__props) {
65
+ const team_id = useRoute().params.id;
66
+ const expandedItems = ref(/* @__PURE__ */ new Set());
67
+ const { ZiniaDataTable } = useCursorDataTable(recordVersionRowSchemaWithMetadata, {
68
+ fetchData: async ({ cursor, pageSize, sort, filters }) => {
69
+ const input = {
70
+ record_id: team_id,
71
+ record_type: "team",
72
+ filters: {
73
+ first: pageSize,
74
+ ...cursor ? { after: cursor } : {},
75
+ sortBy: sort?.field || "recorded_at",
76
+ sortDirection: sort?.direction || "desc",
77
+ ...filters
78
+ }
79
+ };
80
+ const result = await executeWithAuth(async (api) => {
81
+ return await api.recordVersions.listRecordVersionsPaginated(input.record_id, input.record_type, input.filters);
82
+ }, { refreshTokenHandler: getRefreshTokenHandler() });
83
+ return {
84
+ data: result.items || [],
85
+ hasNextPage: result.pageInfo?.hasNextPage ?? false,
86
+ hasPreviousPage: result.pageInfo?.hasPreviousPage ?? false,
87
+ prevPageCursor: result.pageInfo?.prevPageCursor ?? void 0,
88
+ nextPageCursor: result.pageInfo?.nextPageCursor ?? void 0
89
+ };
90
+ },
91
+ columns: { operation: {
92
+ label: "",
93
+ field: "operation"
94
+ } },
95
+ pagination: { pageSize: 25 }
96
+ });
97
+ const toggleDetails = (itemId) => {
98
+ if (expandedItems.value.has(itemId)) expandedItems.value.delete(itemId);
99
+ else expandedItems.value.add(itemId);
100
+ };
101
+ const formatOperation = (operation) => {
102
+ switch (operation) {
103
+ case "insert": return "Created";
104
+ case "update": return "Updated";
105
+ case "delete": return "Deleted";
106
+ default: return operation;
107
+ }
108
+ };
109
+ const formatRecordData = (recordData) => {
110
+ if (!recordData) return "No data";
111
+ try {
112
+ return JSON.stringify(JSON.parse(recordData), null, 2);
113
+ } catch {
114
+ return recordData;
115
+ }
116
+ };
117
+ function getCreatedFields(record) {
118
+ if (!record) return [];
119
+ try {
120
+ const createdData = JSON.parse(record);
121
+ const fields = [];
122
+ for (const [name, value] of Object.entries(createdData)) fields.push({
123
+ name,
124
+ value
125
+ });
126
+ return fields;
127
+ } catch (error) {
128
+ console.error("Error parsing record data:", error);
129
+ return [];
130
+ }
131
+ }
132
+ function getChangedFields(record, oldRecord) {
133
+ if (!record || !oldRecord) return [];
134
+ try {
135
+ const changedFields = JSON.parse(record);
136
+ const oldData = JSON.parse(oldRecord);
137
+ const changes = [];
138
+ for (const [field, newValue] of Object.entries(changedFields)) {
139
+ const oldValue = oldData[field];
140
+ changes.push({
141
+ field,
142
+ oldValue,
143
+ newValue
144
+ });
145
+ }
146
+ return changes;
147
+ } catch (error) {
148
+ console.error("Error parsing record data:", error);
149
+ return [];
150
+ }
151
+ }
152
+ function formatFieldName(fieldName) {
153
+ return fieldName.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
154
+ }
155
+ function formatFieldValue(fieldName, value) {
156
+ if (value === null || value === void 0) return "No value";
157
+ if (fieldName.includes("_at") || fieldName.includes("At")) try {
158
+ return formatSystemTimestamp(value);
159
+ } catch {
160
+ return String(value);
161
+ }
162
+ if (typeof value === "boolean") return value ? "Yes" : "No";
163
+ if (fieldName.includes("status") || fieldName.includes("Status")) return String(value).replace(/_/g, " ").toUpperCase();
164
+ return String(value);
165
+ }
166
+ return (_ctx, _cache) => {
167
+ return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(ZiniaContainer_default, null, {
168
+ default: withCtx(() => [createVNode(unref(ZiniaDataTable), null, {
169
+ "cell-operation": withCtx(({ row }) => [createElementVNode("div", _hoisted_2, [
170
+ createCommentVNode(" Operation Badge "),
171
+ createElementVNode("div", _hoisted_3, [createElementVNode("div", _hoisted_4, [createElementVNode("span", { class: normalizeClass(["badge badge-xs", {
172
+ "badge-success": row.operation === "insert",
173
+ "badge-warning": row.operation === "update",
174
+ "badge-error": row.operation === "delete"
175
+ }]) }, toDisplayString(formatOperation(row.operation)), 3)]), createElementVNode("div", _hoisted_5, [
176
+ createElementVNode("span", _hoisted_6, toDisplayString(unref(formatSystemTimestamp)(row.recorded_at)), 1),
177
+ createElementVNode("span", _hoisted_7, " by " + toDisplayString(row.auth_username || "Unknown"), 1),
178
+ createElementVNode("button", {
179
+ class: "btn btn-primary btn-xs",
180
+ onClick: ($event) => toggleDetails(row.id)
181
+ }, toDisplayString(expandedItems.value.has(row.id) ? "Hide Details" : "View Details"), 9, _hoisted_8)
182
+ ])]),
183
+ createCommentVNode(" Details based on operation type "),
184
+ expandedItems.value.has(row.id) ? (openBlock(), createElementBlock("div", _hoisted_9, [row.operation === "insert" ? (openBlock(), createElementBlock("div", _hoisted_10, [_cache[0] || (_cache[0] = createElementVNode("h4", { class: "font-medium text-sm text-base-content/80 mb-2" }, "Created Record", -1)), createElementVNode("div", _hoisted_11, [createElementVNode("div", _hoisted_12, [(openBlock(true), createElementBlock(Fragment, null, renderList(getCreatedFields(row.record), (field) => {
185
+ return openBlock(), createElementBlock("div", {
186
+ key: field.name,
187
+ class: "flex flex-col"
188
+ }, [createElementVNode("span", _hoisted_13, toDisplayString(formatFieldName(field.name)), 1), createElementVNode("span", _hoisted_14, [field.value === null || field.value === void 0 ? (openBlock(), createElementBlock("span", _hoisted_15, "No value")) : (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(formatFieldValue(field.name, field.value)), 1))])]);
189
+ }), 128))])])])) : row.operation === "update" ? (openBlock(), createElementBlock("div", _hoisted_17, [_cache[4] || (_cache[4] = createElementVNode("h4", { class: "font-medium text-sm text-base-content/80 mb-2" }, "Changes Made", -1)), createElementVNode("div", _hoisted_18, [(openBlock(true), createElementBlock(Fragment, null, renderList(getChangedFields(row.record, row.old_record), (change) => {
190
+ return openBlock(), createElementBlock("div", {
191
+ key: change.field,
192
+ class: "border border-base-300 rounded p-2 bg-base-50"
193
+ }, [createElementVNode("div", _hoisted_19, [createElementVNode("h5", _hoisted_20, toDisplayString(formatFieldName(change.field)), 1), _cache[1] || (_cache[1] = createElementVNode("span", { class: "badge badge-xs badge-warning" }, "Updated", -1))]), createElementVNode("div", _hoisted_21, [createElementVNode("div", null, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "text-xs font-medium text-base-content/70 mb-1" }, " Previous ", -1)), createElementVNode("div", _hoisted_22, [change.oldValue === null ? (openBlock(), createElementBlock("span", _hoisted_23, "No value")) : (openBlock(), createElementBlock("span", _hoisted_24, toDisplayString(formatFieldValue(change.field, change.oldValue)), 1))])]), createElementVNode("div", null, [_cache[3] || (_cache[3] = createElementVNode("div", { class: "text-xs font-medium text-base-content/70 mb-1" }, "New", -1)), createElementVNode("div", _hoisted_25, [change.newValue === null ? (openBlock(), createElementBlock("span", _hoisted_26, "No value")) : (openBlock(), createElementBlock("span", _hoisted_27, toDisplayString(formatFieldValue(change.field, change.newValue)), 1))])])])]);
194
+ }), 128))])])) : row.operation === "delete" ? (openBlock(), createElementBlock("div", _hoisted_28, [_cache[5] || (_cache[5] = createElementVNode("h4", { class: "font-medium text-sm text-base-content/80 mb-2" }, "Deleted Record", -1)), createElementVNode("div", _hoisted_29, [createElementVNode("pre", _hoisted_30, toDisplayString(formatRecordData(row.old_record)), 1)])])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)
195
+ ])]),
196
+ _: 1
197
+ })]),
198
+ _: 1
199
+ })]);
200
+ };
201
+ }
202
+ });
203
+ var TeamHistoryTab_default$1 = _sfc_main$1;
204
+
205
+ //#endregion
206
+ //#region src/slices/team/TeamHistoryTab.vue
207
+ const _sfc_main = /* @__PURE__ */ defineComponent({
208
+ __name: "TeamHistoryTab",
209
+ setup(__props) {
210
+ return (_ctx, _cache) => {
211
+ return openBlock(), createBlock(TeamHistoryTab_default$1);
212
+ };
213
+ }
214
+ });
215
+ var TeamHistoryTab_default = _sfc_main;
216
+
217
+ //#endregion
218
+ export { recordVersionRowSchemaWithMetadata as n, TeamHistoryTab_default as t };
219
+ //# sourceMappingURL=TeamHistoryTab-gB3H2KZv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamHistoryTab-gB3H2KZv.js","names":["fields: Array<{ name: string; value: any }>","changes: Array<{ field: string; oldValue: any; newValue: any }>"],"sources":["../src/slices/team/recordVersionRowSchema.ts","../src/slices/team/components/TeamHistoryTab.vue","../src/slices/team/TeamHistoryTab.vue"],"sourcesContent":["import { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { recordVersionSchema } from '@dragonmastery/dragoncore-shared';\nimport { z } from 'zod';\n\nexport const recordVersionRowSchemaWithMetadata = withMetadata(\n recordVersionSchema,\n 'recordVersionRowSchema',\n {},\n);\n\nexport type RecordVersionRow = z.infer<typeof recordVersionSchema>;\n","<template>\n <div class=\"mt-2\">\n <ZiniaContainer>\n <ZiniaDataTable>\n <!-- Custom cell templates -->\n <template #cell-operation=\"{ row }\">\n <div class=\"space-y-3\">\n <!-- Operation Badge -->\n <div class=\"flex flex-col sm:flex-row sm:items-center gap-2\">\n <div class=\"flex items-center gap-2\">\n <span\n class=\"badge badge-xs\"\n :class=\"{\n 'badge-success': row.operation === 'insert',\n 'badge-warning': row.operation === 'update',\n 'badge-error': row.operation === 'delete',\n }\"\n >\n {{ formatOperation(row.operation) }}\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2 text-xs\">\n <span class=\"text-base-content/70\">\n {{ formatSystemTimestamp(row.recorded_at) }}\n </span>\n <span class=\"text-base-content/60\">\n by {{ row.auth_username || 'Unknown' }}\n </span>\n <button class=\"btn btn-primary btn-xs\" @click=\"toggleDetails(row.id)\">\n {{ expandedItems.has(row.id) ? 'Hide Details' : 'View Details' }}\n </button>\n </div>\n </div>\n\n <!-- Details based on operation type -->\n <div v-if=\"expandedItems.has(row.id)\" class=\"mt-3\">\n <div v-if=\"row.operation === 'insert'\">\n <h4 class=\"font-medium text-sm text-base-content/80 mb-2\">Created Record</h4>\n <div class=\"bg-base-200 rounded-lg p-3 text-sm\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2\">\n <div\n v-for=\"field in getCreatedFields(row.record)\"\n :key=\"field.name\"\n class=\"flex flex-col\"\n >\n <span class=\"text-xs font-medium text-base-content/70 mb-1\">\n {{ formatFieldName(field.name) }}\n </span>\n <span class=\"text-xs font-mono text-base-content\">\n <span\n v-if=\"field.value === null || field.value === undefined\"\n class=\"text-base-content/50 italic\"\n >No value</span\n >\n <span v-else>{{ formatFieldValue(field.name, field.value) }}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div v-else-if=\"row.operation === 'update'\">\n <h4 class=\"font-medium text-sm text-base-content/80 mb-2\">Changes Made</h4>\n <div class=\"space-y-2\">\n <div\n v-for=\"change in getChangedFields(row.record, row.old_record)\"\n :key=\"change.field\"\n class=\"border border-base-300 rounded p-2 bg-base-50\"\n >\n <div class=\"flex items-center justify-between mb-1\">\n <h5 class=\"font-medium text-xs text-base-content\">\n {{ formatFieldName(change.field) }}\n </h5>\n <span class=\"badge badge-xs badge-warning\">Updated</span>\n </div>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-2\">\n <div>\n <div class=\"text-xs font-medium text-base-content/70 mb-1\">\n Previous\n </div>\n <div class=\"bg-error/10 border border-error/20 rounded p-1 text-xs\">\n <span\n v-if=\"change.oldValue === null\"\n class=\"text-base-content/50 italic\"\n >No value</span\n >\n <span v-else class=\"font-mono\">{{\n formatFieldValue(change.field, change.oldValue)\n }}</span>\n </div>\n </div>\n <div>\n <div class=\"text-xs font-medium text-base-content/70 mb-1\">New</div>\n <div\n class=\"bg-success/10 border border-success/20 rounded p-1 text-xs\"\n >\n <span\n v-if=\"change.newValue === null\"\n class=\"text-base-content/50 italic\"\n >No value</span\n >\n <span v-else class=\"font-mono\">{{\n formatFieldValue(change.field, change.newValue)\n }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div v-else-if=\"row.operation === 'delete'\">\n <h4 class=\"font-medium text-sm text-base-content/80 mb-2\">Deleted Record</h4>\n <div class=\"bg-error/10 rounded p-2 text-xs font-mono\">\n <pre class=\"whitespace-pre-wrap\">{{ formatRecordData(row.old_record) }}</pre>\n </div>\n </div>\n </div>\n </div>\n </template>\n </ZiniaDataTable>\n </ZiniaContainer>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useCursorDataTable } from '@dragonmastery/zinia-forms-core';\nimport { ref } from 'vue';\nimport { useRoute } from 'vue-router';\nimport ZiniaContainer from '../../../components/ui/ZiniaContainer.vue';\nimport { executeWithAuth } from '../../../composables/useRpcAuth';\nimport { getRefreshTokenHandler } from '../../../utils/EnhancedRefreshTokenHandler';\nimport { formatSystemTimestamp } from '../../../utils/convertToLocalDateTime';\nimport { recordVersionRowSchemaWithMetadata } from '../recordVersionRowSchema';\n\n// Get team ID from route\nconst route = useRoute();\nconst team_id = route.params.id as string;\n\n// Expanded items state\nconst expandedItems = ref(new Set<string>());\n\n// Data table configuration\nconst { ZiniaDataTable } = useCursorDataTable(recordVersionRowSchemaWithMetadata, {\n fetchData: async ({ cursor, pageSize, sort, filters }) => {\n // Build query variables for breadcrumb pagination\n const input = {\n record_id: team_id,\n record_type: 'team' as const,\n filters: {\n first: pageSize,\n ...(cursor ? { after: cursor } : {}),\n sortBy: sort?.field || 'recorded_at',\n sortDirection: (sort?.direction || 'desc') as 'asc' | 'desc',\n ...filters,\n },\n };\n\n // Call RPC endpoint\n const result = await executeWithAuth(\n async (api) => {\n return await api.recordVersions.listRecordVersionsPaginated(\n input.record_id,\n input.record_type,\n input.filters,\n );\n },\n { refreshTokenHandler: getRefreshTokenHandler() },\n );\n\n // Return paginated data with bidirectional navigation\n return {\n data: result.items || [],\n hasNextPage: result.pageInfo?.hasNextPage ?? false,\n hasPreviousPage: result.pageInfo?.hasPreviousPage ?? false,\n prevPageCursor: result.pageInfo?.prevPageCursor ?? undefined,\n nextPageCursor: result.pageInfo?.nextPageCursor ?? undefined,\n };\n },\n\n // Column configuration - only show operation column since everything is consolidated there\n columns: {\n operation: {\n label: '',\n field: 'operation',\n },\n },\n\n // Pagination settings\n pagination: {\n pageSize: 25,\n },\n});\n\n// Methods\nconst toggleDetails = (itemId: string) => {\n if (expandedItems.value.has(itemId)) {\n expandedItems.value.delete(itemId);\n } else {\n expandedItems.value.add(itemId);\n }\n};\n\nconst formatOperation = (operation: string) => {\n switch (operation) {\n case 'insert':\n return 'Created';\n case 'update':\n return 'Updated';\n case 'delete':\n return 'Deleted';\n default:\n return operation;\n }\n};\n\nconst formatRecordData = (recordData: string | null | undefined) => {\n if (!recordData) return 'No data';\n try {\n return JSON.stringify(JSON.parse(recordData), null, 2);\n } catch {\n return recordData;\n }\n};\n\nfunction getCreatedFields(record: string | null | undefined) {\n if (!record) return [];\n\n try {\n const createdData = JSON.parse(record);\n const fields: Array<{ name: string; value: any }> = [];\n\n for (const [name, value] of Object.entries(createdData)) {\n fields.push({ name, value });\n }\n\n return fields;\n } catch (error) {\n console.error('Error parsing record data:', error);\n return [];\n }\n}\n\nfunction getChangedFields(\n record: string | null | undefined,\n oldRecord: string | null | undefined,\n) {\n if (!record || !oldRecord) return [];\n\n try {\n const changedFields = JSON.parse(record);\n const oldData = JSON.parse(oldRecord);\n\n const changes: Array<{ field: string; oldValue: any; newValue: any }> = [];\n\n for (const [field, newValue] of Object.entries(changedFields)) {\n const oldValue = oldData[field];\n changes.push({ field, oldValue, newValue });\n }\n\n return changes;\n } catch (error) {\n console.error('Error parsing record data:', error);\n return [];\n }\n}\n\nfunction formatFieldName(fieldName: string): string {\n // Convert snake_case to Title Case\n return fieldName\n .split('_')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\nfunction formatFieldValue(fieldName: string, value: any): string {\n if (value === null || value === undefined) {\n return 'No value';\n }\n\n // Format dates\n if (fieldName.includes('_at') || fieldName.includes('At')) {\n try {\n return formatSystemTimestamp(value);\n } catch {\n return String(value);\n }\n }\n\n // Format booleans\n if (typeof value === 'boolean') {\n return value ? 'Yes' : 'No';\n }\n\n // Format enums/status fields\n if (fieldName.includes('status') || fieldName.includes('Status')) {\n return String(value).replace(/_/g, ' ').toUpperCase();\n }\n\n return String(value);\n}\n</script>\n","<template>\n <TeamHistoryTabComponent />\n</template>\n\n<script setup lang=\"ts\">\nimport TeamHistoryTabComponent from './components/TeamHistoryTab.vue';\n</script>\n"],"mappings":";;;;;;;;;AAIA,MAAa,qCAAqC,aAChD,qBACA,0BACA,EAAE,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECiID,MAAM,UADQ,UAAU,CACF,OAAO;EAG7B,MAAM,gBAAgB,oBAAI,IAAI,KAAa,CAAC;EAG5C,MAAM,EAAE,mBAAmB,mBAAmB,oCAAoC;GAChF,WAAW,OAAO,EAAE,QAAQ,UAAU,MAAM,cAAc;IAExD,MAAM,QAAQ;KACZ,WAAW;KACX,aAAa;KACb,SAAS;MACP,OAAO;MACP,GAAI,SAAS,EAAE,OAAO,QAAQ,GAAG,EAAE;MACnC,QAAQ,MAAM,SAAS;MACvB,eAAgB,MAAM,aAAa;MACnC,GAAG;MACJ;KACF;IAGD,MAAM,SAAS,MAAM,gBACnB,OAAO,QAAQ;AACb,YAAO,MAAM,IAAI,eAAe,4BAC9B,MAAM,WACN,MAAM,aACN,MAAM,QACP;OAEH,EAAE,qBAAqB,wBAAwB,EAAE,CAClD;AAGD,WAAO;KACL,MAAM,OAAO,SAAS,EAAE;KACxB,aAAa,OAAO,UAAU,eAAe;KAC7C,iBAAiB,OAAO,UAAU,mBAAmB;KACrD,gBAAgB,OAAO,UAAU,kBAAkB;KACnD,gBAAgB,OAAO,UAAU,kBAAkB;KACpD;;GAIH,SAAS,EACP,WAAW;IACT,OAAO;IACP,OAAO;IACR,EACF;GAGD,YAAY,EACV,UAAU,IACX;GACF,CAAC;EAGF,MAAM,iBAAiB,WAAmB;AACxC,OAAI,cAAc,MAAM,IAAI,OAAO,CACjC,eAAc,MAAM,OAAO,OAAO;OAElC,eAAc,MAAM,IAAI,OAAO;;EAInC,MAAM,mBAAmB,cAAsB;AAC7C,WAAQ,WAAR;IACE,KAAK,SACH,QAAO;IACT,KAAK,SACH,QAAO;IACT,KAAK,SACH,QAAO;IACT,QACE,QAAO;;;EAIb,MAAM,oBAAoB,eAA0C;AAClE,OAAI,CAAC,WAAY,QAAO;AACxB,OAAI;AACF,WAAO,KAAK,UAAU,KAAK,MAAM,WAAW,EAAE,MAAM,EAAE;WAChD;AACN,WAAO;;;EAIX,SAAS,iBAAiB,QAAmC;AAC3D,OAAI,CAAC,OAAQ,QAAO,EAAE;AAEtB,OAAI;IACF,MAAM,cAAc,KAAK,MAAM,OAAO;IACtC,MAAMA,SAA8C,EAAE;AAEtD,SAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,YAAY,CACrD,QAAO,KAAK;KAAE;KAAM;KAAO,CAAC;AAG9B,WAAO;YACA,OAAO;AACd,YAAQ,MAAM,8BAA8B,MAAM;AAClD,WAAO,EAAE;;;EAIb,SAAS,iBACP,QACA,WACA;AACA,OAAI,CAAC,UAAU,CAAC,UAAW,QAAO,EAAE;AAEpC,OAAI;IACF,MAAM,gBAAgB,KAAK,MAAM,OAAO;IACxC,MAAM,UAAU,KAAK,MAAM,UAAU;IAErC,MAAMC,UAAkE,EAAE;AAE1E,SAAK,MAAM,CAAC,OAAO,aAAa,OAAO,QAAQ,cAAc,EAAE;KAC7D,MAAM,WAAW,QAAQ;AACzB,aAAQ,KAAK;MAAE;MAAO;MAAU;MAAU,CAAC;;AAG7C,WAAO;YACA,OAAO;AACd,YAAQ,MAAM,8BAA8B,MAAM;AAClD,WAAO,EAAE;;;EAIb,SAAS,gBAAgB,WAA2B;AAElD,UAAO,UACJ,MAAM,IAAG,CACT,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAA,CAC1D,KAAK,IAAI;;EAGd,SAAS,iBAAiB,WAAmB,OAAoB;AAC/D,OAAI,UAAU,QAAQ,UAAU,OAC9B,QAAO;AAIT,OAAI,UAAU,SAAS,MAAM,IAAI,UAAU,SAAS,KAAK,CACvD,KAAI;AACF,WAAO,sBAAsB,MAAM;WAC7B;AACN,WAAO,OAAO,MAAM;;AAKxB,OAAI,OAAO,UAAU,UACnB,QAAO,QAAQ,QAAQ;AAIzB,OAAI,UAAU,SAAS,SAAS,IAAI,UAAU,SAAS,SAAS,CAC9D,QAAO,OAAO,MAAM,CAAC,QAAQ,MAAM,IAAI,CAAC,aAAa;AAGvD,UAAO,OAAO,MAAM;;;uBA1SpB,mBAyHM,OAzHN,YAyHM,CAxHJ,YAuHiB,wBAAA,MAAA;2BADE,CArHjB,YAqHiB,MAAA,eAAA,EAAA,MAAA;KAnHJ,kBAAc,SAiHjB,EAjHqB,UAAG,CAC9B,mBAgHM,OAhHN,YAgHM;MA/GJ,mBAAA,oBAAwB;MACxB,mBAwBM,OAxBN,YAwBM,CAvBJ,mBAWM,OAXN,YAWM,CAVJ,mBASO,QAAA,EARL,OAAK,eAAA,CAAC,kBAAgB;wBACyB,IAAI,cAAS;wBAAoD,IAAI,cAAS;sBAAkD,IAAI,cAAS;6BAMzL,gBAAgB,IAAI,UAAS,CAAA,EAAA,EAAA,CAAA,CAAA,EAGpC,mBAUM,OAVN,YAUM;OATJ,mBAEO,QAFP,YAEO,gBADF,MAAA,sBAAqB,CAAC,IAAI,YAAW,CAAA,EAAA,EAAA;OAE1C,mBAEO,QAFP,YAAmC,SAC9B,gBAAG,IAAI,iBAAa,UAAA,EAAA,EAAA;OAEzB,mBAES,UAAA;QAFD,OAAM;QAA0B,UAAK,WAAE,cAAc,IAAI,GAAE;0BAC9D,cAAA,MAAc,IAAI,IAAI,GAAE,GAAA,iBAAA,eAAA,EAAA,GAAA,WAAA;;MAKjC,mBAAA,oCAAwC;MAC7B,cAAA,MAAc,IAAI,IAAI,GAAE,IAAA,WAAA,EAAnC,mBAkFM,OAlFN,YAkFM,CAjFO,IAAI,cAAS,YAAA,WAAA,EAAxB,mBAuBM,OAAA,aAAA,CAAA,OAAA,OAAA,OAAA,KAtBJ,mBAA6E,MAAA,EAAzE,OAAM,iDAA+C,EAAC,kBAAc,GAAA,GACxE,mBAoBM,OApBN,aAoBM,CAnBJ,mBAkBM,OAlBN,aAkBM,EAAA,UAAA,KAAA,EAjBJ,mBAgBM,UAAA,MAAA,WAfY,iBAAiB,IAAI,OAAM,GAApC,UAAK;2BADd,mBAgBM,OAAA;QAdH,KAAK,MAAM;QACZ,OAAM;WAEN,mBAEO,QAFP,aAEO,gBADF,gBAAgB,MAAM,KAAI,CAAA,EAAA,EAAA,EAE/B,mBAOO,QAPP,aAOO,CALG,MAAM,UAAK,QAAa,MAAM,UAAU,UAAA,WAAA,EADhD,mBAIC,QAJD,aAGG,WAAQ,KAAA,WAAA,EAEX,mBAAmE,QAAA,aAAA,gBAAnD,iBAAiB,MAAM,MAAM,MAAM,MAAK,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;yBAOlD,IAAI,cAAS,YAAA,WAAA,EAA7B,mBAgDM,OAAA,aAAA,CAAA,OAAA,OAAA,OAAA,KA/CJ,mBAA2E,MAAA,EAAvE,OAAM,iDAA+C,EAAC,gBAAY,GAAA,GACtE,mBA6CM,OA7CN,aA6CM,EAAA,UAAA,KAAA,EA5CJ,mBA2CM,UAAA,MAAA,WA1Ca,iBAAiB,IAAI,QAAQ,IAAI,WAAU,GAArD,WAAM;2BADf,mBA2CM,OAAA;QAzCH,KAAK,OAAO;QACb,OAAM;WAEN,mBAKM,OALN,aAKM,CAJJ,mBAEK,MAFL,aAEK,gBADA,gBAAgB,OAAO,MAAK,CAAA,EAAA,EAAA,EAAA,OAAA,OAAA,OAAA,KAEjC,mBAAyD,QAAA,EAAnD,OAAM,gCAA8B,EAAC,WAAO,GAAA,EAAA,CAAA,EAEpD,mBA+BM,OA/BN,aA+BM,CA9BJ,mBAcM,OAAA,MAAA,CAAA,OAAA,OAAA,OAAA,KAbJ,mBAEM,OAAA,EAFD,OAAM,iDAA+C,EAAC,cAE3D,GAAA,GACA,mBASM,OATN,aASM,CAPI,OAAO,aAAQ,QAAA,WAAA,EADvB,mBAIC,QAJD,aAGG,WAAQ,KAAA,WAAA,EAEX,mBAES,QAFT,aAES,gBADP,iBAAiB,OAAO,OAAO,OAAO,SAAQ,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAIpD,mBAcM,OAAA,MAAA,CAAA,OAAA,OAAA,OAAA,KAbJ,mBAAoE,OAAA,EAA/D,OAAM,iDAA+C,EAAC,OAAG,GAAA,GAC9D,mBAWM,OAXN,aAWM,CAPI,OAAO,aAAQ,QAAA,WAAA,EADvB,mBAIC,QAJD,aAGG,WAAQ,KAAA,WAAA,EAEX,mBAES,QAFT,aAES,gBADP,iBAAiB,OAAO,OAAO,OAAO,SAAQ,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;uBAS5C,IAAI,cAAS,YAAA,WAAA,EAA7B,mBAKM,OAAA,aAAA,CAAA,OAAA,OAAA,OAAA,KAJJ,mBAA6E,MAAA,EAAzE,OAAM,iDAA+C,EAAC,kBAAc,GAAA,GACxE,mBAEM,OAFN,aAEM,CADJ,mBAA6E,OAA7E,aAA6E,gBAAzC,iBAAiB,IAAI,WAAU,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,mBAAA,QAAA,KAAA,CAAA,CAAA,IAAA,mBAAA,QAAA,KAAA;;;;;;;;;;;;;;;;;uBCjHnF,YAA2B,yBAAA"}
@@ -0,0 +1,43 @@
1
+ import "./useRpcAuth-BLlRSHy8.js";
2
+ import "./useQueryCache-ByayvZgZ.js";
3
+ import "./useMutation-CFwe7H9j.js";
4
+ import "./useQuery-p7oJO7OD.js";
5
+ import { G as TeamList_default } from "./src-o5fMIo5_.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./InlineAttachments-I39rOvip.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-BfPdKMXw.js";
10
+ import "./useBreadcrumbs-DmgSucoe.js";
11
+ import "./FieldsetSection-CsHN38_o.js";
12
+ import "./ZiniaContainer-C7c7Vwkh.js";
13
+ import "./NoteList-C0hRPNMO.js";
14
+ import "./UserProfilePage-BtLUY1kt.js";
15
+ import "./ChangePasswordPage-Btu5lf-r.js";
16
+ import "./TeamHistoryTab-gB3H2KZv.js";
17
+ import "./TeamNotesTab-pfXTDhg6.js";
18
+ import "./EditTeamMemberForm-ru4WgLz-.js";
19
+ import "./SupportTicketStatusBadge-YdZzjvkh.js";
20
+ import "./creditValueFormatter-DftEzu8d.js";
21
+ import "./CustomerSupportTicketList-C2nUPawb.js";
22
+ import "./CustomerEditSupportTicketForm-Dd5ZB74k.js";
23
+ import "./CustomerViewSupportTicket-tZkxragu.js";
24
+ import "./CustomerSupportTicketParent-2mONd9kL.js";
25
+ import "./CustomerSupportTicketCustomerNotesTab-D1aa9It7.js";
26
+ import "./SupportTicketHistoryTab-CLMopA7a.js";
27
+ import "./CustomerSupportTicketHistoryTab-CFYN_Sa4.js";
28
+ import "./StaffSupportTicketWorkflowTab-DmVTPzxS.js";
29
+ import "./StaffEditSupportTicketForm-DuUKuIGg.js";
30
+ import "./StaffSupportTicketParent-Cx1buQZw.js";
31
+ import "./StaffSupportTicketCustomerNotesTab-CusqQV2-.js";
32
+ import "./StaffSupportTicketInternalNotesTab-D8HM--dp.js";
33
+ import "./StaffSupportTicketHistoryTab-D24myEm3.js";
34
+ import "./LoginForm-_PZ51Uwe.js";
35
+ import "./Signup-c2-_yMOM.js";
36
+ import "./ForgotPassword-CqhenzUG.js";
37
+ import "./Logout-BMjiqHnS.js";
38
+ import "./UserListPage-WU56KiWj.js";
39
+ import "./CreateUserPage-Cmx8xjjv.js";
40
+ import "./NotificationEmailsPage-BjRqtW95.js";
41
+ import "./EditUserPage-BxJ5QvIM.js";
42
+
43
+ export { TeamList_default as default };
@@ -0,0 +1,43 @@
1
+ import "./useRpcAuth-BLlRSHy8.js";
2
+ import "./useQueryCache-ByayvZgZ.js";
3
+ import "./useMutation-CFwe7H9j.js";
4
+ import "./useQuery-p7oJO7OD.js";
5
+ import { z as TeamMemberList_default } from "./src-o5fMIo5_.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./InlineAttachments-I39rOvip.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-BfPdKMXw.js";
10
+ import "./useBreadcrumbs-DmgSucoe.js";
11
+ import "./FieldsetSection-CsHN38_o.js";
12
+ import "./ZiniaContainer-C7c7Vwkh.js";
13
+ import "./NoteList-C0hRPNMO.js";
14
+ import "./UserProfilePage-BtLUY1kt.js";
15
+ import "./ChangePasswordPage-Btu5lf-r.js";
16
+ import "./TeamHistoryTab-gB3H2KZv.js";
17
+ import "./TeamNotesTab-pfXTDhg6.js";
18
+ import "./EditTeamMemberForm-ru4WgLz-.js";
19
+ import "./SupportTicketStatusBadge-YdZzjvkh.js";
20
+ import "./creditValueFormatter-DftEzu8d.js";
21
+ import "./CustomerSupportTicketList-C2nUPawb.js";
22
+ import "./CustomerEditSupportTicketForm-Dd5ZB74k.js";
23
+ import "./CustomerViewSupportTicket-tZkxragu.js";
24
+ import "./CustomerSupportTicketParent-2mONd9kL.js";
25
+ import "./CustomerSupportTicketCustomerNotesTab-D1aa9It7.js";
26
+ import "./SupportTicketHistoryTab-CLMopA7a.js";
27
+ import "./CustomerSupportTicketHistoryTab-CFYN_Sa4.js";
28
+ import "./StaffSupportTicketWorkflowTab-DmVTPzxS.js";
29
+ import "./StaffEditSupportTicketForm-DuUKuIGg.js";
30
+ import "./StaffSupportTicketParent-Cx1buQZw.js";
31
+ import "./StaffSupportTicketCustomerNotesTab-CusqQV2-.js";
32
+ import "./StaffSupportTicketInternalNotesTab-D8HM--dp.js";
33
+ import "./StaffSupportTicketHistoryTab-D24myEm3.js";
34
+ import "./LoginForm-_PZ51Uwe.js";
35
+ import "./Signup-c2-_yMOM.js";
36
+ import "./ForgotPassword-CqhenzUG.js";
37
+ import "./Logout-BMjiqHnS.js";
38
+ import "./UserListPage-WU56KiWj.js";
39
+ import "./CreateUserPage-Cmx8xjjv.js";
40
+ import "./NotificationEmailsPage-BjRqtW95.js";
41
+ import "./EditUserPage-BxJ5QvIM.js";
42
+
43
+ export { TeamMemberList_default as default };
@@ -0,0 +1,43 @@
1
+ import "./useRpcAuth-BLlRSHy8.js";
2
+ import "./useQueryCache-ByayvZgZ.js";
3
+ import "./useMutation-CFwe7H9j.js";
4
+ import "./useQuery-p7oJO7OD.js";
5
+ import { R as TeamMemberParent_default } from "./src-o5fMIo5_.js";
6
+ import "./AppLink-CHMMrSFI.js";
7
+ import "./InlineAttachments-I39rOvip.js";
8
+ import "./TeamMembersTab-4gmnP9sD.js";
9
+ import "./Appearance-BfPdKMXw.js";
10
+ import "./useBreadcrumbs-DmgSucoe.js";
11
+ import "./FieldsetSection-CsHN38_o.js";
12
+ import "./ZiniaContainer-C7c7Vwkh.js";
13
+ import "./NoteList-C0hRPNMO.js";
14
+ import "./UserProfilePage-BtLUY1kt.js";
15
+ import "./ChangePasswordPage-Btu5lf-r.js";
16
+ import "./TeamHistoryTab-gB3H2KZv.js";
17
+ import "./TeamNotesTab-pfXTDhg6.js";
18
+ import "./EditTeamMemberForm-ru4WgLz-.js";
19
+ import "./SupportTicketStatusBadge-YdZzjvkh.js";
20
+ import "./creditValueFormatter-DftEzu8d.js";
21
+ import "./CustomerSupportTicketList-C2nUPawb.js";
22
+ import "./CustomerEditSupportTicketForm-Dd5ZB74k.js";
23
+ import "./CustomerViewSupportTicket-tZkxragu.js";
24
+ import "./CustomerSupportTicketParent-2mONd9kL.js";
25
+ import "./CustomerSupportTicketCustomerNotesTab-D1aa9It7.js";
26
+ import "./SupportTicketHistoryTab-CLMopA7a.js";
27
+ import "./CustomerSupportTicketHistoryTab-CFYN_Sa4.js";
28
+ import "./StaffSupportTicketWorkflowTab-DmVTPzxS.js";
29
+ import "./StaffEditSupportTicketForm-DuUKuIGg.js";
30
+ import "./StaffSupportTicketParent-Cx1buQZw.js";
31
+ import "./StaffSupportTicketCustomerNotesTab-CusqQV2-.js";
32
+ import "./StaffSupportTicketInternalNotesTab-D8HM--dp.js";
33
+ import "./StaffSupportTicketHistoryTab-D24myEm3.js";
34
+ import "./LoginForm-_PZ51Uwe.js";
35
+ import "./Signup-c2-_yMOM.js";
36
+ import "./ForgotPassword-CqhenzUG.js";
37
+ import "./Logout-BMjiqHnS.js";
38
+ import "./UserListPage-WU56KiWj.js";
39
+ import "./CreateUserPage-Cmx8xjjv.js";
40
+ import "./NotificationEmailsPage-BjRqtW95.js";
41
+ import "./EditUserPage-BxJ5QvIM.js";
42
+
43
+ export { TeamMemberParent_default as default };
@@ -0,0 +1,21 @@
1
+ import { createBlock, openBlock, resolveComponent } from "vue";
2
+
3
+ //#region \0/plugin-vue/export-helper
4
+ var export_helper_default = (sfc, props) => {
5
+ const target = sfc.__vccOpts || sfc;
6
+ for (const [key, val] of props) target[key] = val;
7
+ return target;
8
+ };
9
+
10
+ //#endregion
11
+ //#region src/slices/team/TeamMembersTab.vue
12
+ const _sfc_main = {};
13
+ function _sfc_render(_ctx, _cache) {
14
+ const _component_RouterView = resolveComponent("RouterView");
15
+ return openBlock(), createBlock(_component_RouterView);
16
+ }
17
+ var TeamMembersTab_default = /* @__PURE__ */ export_helper_default(_sfc_main, [["render", _sfc_render]]);
18
+
19
+ //#endregion
20
+ export { export_helper_default as n, TeamMembersTab_default as t };
21
+ //# sourceMappingURL=TeamMembersTab-4gmnP9sD.js.map