@burdenoff/microfe-proserviceworld 2026.1028.1 → 2026.1031.2
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.
- package/dist/generated/global-types.d.ts +9699 -583
- package/dist/generated/global-types.d.ts.map +1 -1
- package/dist/generated/wspace-types.d.ts +18076 -2999
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/dist/proserviceworld/__tests__/schemaStub.d.ts +20 -0
- package/dist/proserviceworld/__tests__/schemaStub.d.ts.map +1 -0
- package/dist/proserviceworld/components/CredentialDirectory.js +44 -43
- package/dist/proserviceworld/components/CredentialDirectory.js.map +1 -1
- package/dist/proserviceworld/components/CredentialReminderPanel.js +5 -4
- package/dist/proserviceworld/components/CredentialReminderPanel.js.map +1 -1
- package/dist/proserviceworld/components/ui.d.ts +7 -3
- package/dist/proserviceworld/components/ui.d.ts.map +1 -1
- package/dist/proserviceworld/components/ui.js +135 -121
- package/dist/proserviceworld/components/ui.js.map +1 -1
- package/dist/proserviceworld/hooks/useProServiceWorldApi.d.ts.map +1 -1
- package/dist/proserviceworld/hooks/useProServiceWorldApi.js.map +1 -1
- package/dist/proserviceworld/hooks/useTr.d.ts +49 -8
- package/dist/proserviceworld/hooks/useTr.d.ts.map +1 -1
- package/dist/proserviceworld/hooks/useTr.js +45 -21
- package/dist/proserviceworld/hooks/useTr.js.map +1 -1
- package/dist/proserviceworld/i18n/catalog/analytics.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/analytics.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/analytics.js +271 -0
- package/dist/proserviceworld/i18n/catalog/analytics.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/common.d.ts +9 -0
- package/dist/proserviceworld/i18n/catalog/common.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/common.js +163 -0
- package/dist/proserviceworld/i18n/catalog/common.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/compliance.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/compliance.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/compliance.js +157 -0
- package/dist/proserviceworld/i18n/catalog/compliance.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/conflicts.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/conflicts.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/conflicts.js +145 -0
- package/dist/proserviceworld/i18n/catalog/conflicts.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/documents.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/documents.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/documents.js +157 -0
- package/dist/proserviceworld/i18n/catalog/documents.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/enums.d.ts +10 -0
- package/dist/proserviceworld/i18n/catalog/enums.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/enums.js +481 -0
- package/dist/proserviceworld/i18n/catalog/enums.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/index.d.ts +9 -0
- package/dist/proserviceworld/i18n/catalog/index.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/index.js +25 -0
- package/dist/proserviceworld/i18n/catalog/index.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/invoices.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/invoices.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/invoices.js +247 -0
- package/dist/proserviceworld/i18n/catalog/invoices.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/practiceAreas.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/practiceAreas.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/practiceAreas.js +97 -0
- package/dist/proserviceworld/i18n/catalog/practiceAreas.js.map +1 -0
- package/dist/proserviceworld/i18n/catalog/time.d.ts +5 -0
- package/dist/proserviceworld/i18n/catalog/time.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/catalog/time.js +301 -0
- package/dist/proserviceworld/i18n/catalog/time.js.map +1 -0
- package/dist/proserviceworld/i18n/index.d.ts +10 -9
- package/dist/proserviceworld/i18n/index.d.ts.map +1 -1
- package/dist/proserviceworld/i18n/index.js +16 -12
- package/dist/proserviceworld/i18n/index.js.map +1 -1
- package/dist/proserviceworld/i18n/types.d.ts +13 -0
- package/dist/proserviceworld/i18n/types.d.ts.map +1 -0
- package/dist/proserviceworld/i18n/types.js +18 -0
- package/dist/proserviceworld/i18n/types.js.map +1 -0
- package/dist/proserviceworld/pages/AnalyticsPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/AnalyticsPage.js +209 -197
- package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ClientDetailPage.js +99 -98
- package/dist/proserviceworld/pages/ClientDetailPage.js.map +1 -1
- package/dist/proserviceworld/pages/ClientsPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/ClientsPage.js +181 -181
- package/dist/proserviceworld/pages/ClientsPage.js.map +1 -1
- package/dist/proserviceworld/pages/CompliancePage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/CompliancePage.js +210 -209
- package/dist/proserviceworld/pages/CompliancePage.js.map +1 -1
- package/dist/proserviceworld/pages/ConflictsPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/ConflictsPage.js +139 -138
- package/dist/proserviceworld/pages/ConflictsPage.js.map +1 -1
- package/dist/proserviceworld/pages/DocumentsPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/DocumentsPage.js +150 -149
- package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/EngagementDetailPage.js +105 -104
- package/dist/proserviceworld/pages/EngagementDetailPage.js.map +1 -1
- package/dist/proserviceworld/pages/EngagementsPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/EngagementsPage.js +137 -137
- package/dist/proserviceworld/pages/EngagementsPage.js.map +1 -1
- package/dist/proserviceworld/pages/InvoicesPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/InvoicesPage.js +257 -256
- package/dist/proserviceworld/pages/InvoicesPage.js.map +1 -1
- package/dist/proserviceworld/pages/MattersPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/MattersPage.js +166 -166
- package/dist/proserviceworld/pages/MattersPage.js.map +1 -1
- package/dist/proserviceworld/pages/PracticeAreasPage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/PracticeAreasPage.js +100 -99
- package/dist/proserviceworld/pages/PracticeAreasPage.js.map +1 -1
- package/dist/proserviceworld/pages/PractitionerCredentialsPage.js +30 -29
- package/dist/proserviceworld/pages/PractitionerCredentialsPage.js.map +1 -1
- package/dist/proserviceworld/pages/TimePage.d.ts.map +1 -1
- package/dist/proserviceworld/pages/TimePage.js +343 -350
- package/dist/proserviceworld/pages/TimePage.js.map +1 -1
- package/dist/proserviceworld/utils/humanize.d.ts +3 -0
- package/dist/proserviceworld/utils/humanize.d.ts.map +1 -0
- package/dist/proserviceworld/utils/humanize.js +6 -0
- package/dist/proserviceworld/utils/humanize.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,231 +1,231 @@
|
|
|
1
1
|
import { useClients as e, useCloseMatter as t, useCreateMatter as n, useMatters as r, usePracticeAreas as i, useUpdateMatter as a } from "../hooks/useProServiceWorldApi.js";
|
|
2
|
-
import {
|
|
3
|
-
import { Banner as
|
|
4
|
-
import { useAnalytics as
|
|
5
|
-
import { impactFeedback as
|
|
6
|
-
import { TagPicker as
|
|
7
|
-
import { LoadMore as
|
|
8
|
-
import { useMemo as
|
|
9
|
-
import { AlertTriangle as
|
|
10
|
-
import { Fragment as
|
|
11
|
-
import { Button as
|
|
2
|
+
import { useEnumLabel as o, useTr as s } from "../hooks/useTr.js";
|
|
3
|
+
import { Banner as c, Empty as l, ErrorState as u, Field as d, LoadingBlock as f, MetricCard as p, Modal as m, NativeSelect as h, PageHeader as g, SectionCard as _, StatusPill as v, TableWrap as y, Td as b, TextArea as x, TextInput as S, Th as C, enumOptions as w, fmtDate as T } from "../components/ui.js";
|
|
4
|
+
import { useAnalytics as E } from "../hooks/useAnalytics.js";
|
|
5
|
+
import { impactFeedback as D } from "../utils/native.js";
|
|
6
|
+
import { TagPicker as ee } from "../components/TagPicker.js";
|
|
7
|
+
import { LoadMore as te } from "../components/LoadMore.js";
|
|
8
|
+
import { useMemo as ne, useState as O } from "react";
|
|
9
|
+
import { AlertTriangle as k, CheckCircle2 as A, CircleDot as re, FolderKanban as j, Lock as M, Plus as N, Search as ie } from "lucide-react";
|
|
10
|
+
import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
|
|
11
|
+
import { Button as L } from "@burdenoff/fe-libs/ui";
|
|
12
12
|
//#region src/proserviceworld/pages/MattersPage.tsx
|
|
13
|
-
var
|
|
13
|
+
var R = [
|
|
14
14
|
"OPEN",
|
|
15
15
|
"ON_HOLD",
|
|
16
16
|
"CLOSED",
|
|
17
17
|
"ARCHIVED"
|
|
18
|
-
],
|
|
18
|
+
], z = [
|
|
19
19
|
"LOW",
|
|
20
20
|
"MEDIUM",
|
|
21
21
|
"HIGH",
|
|
22
22
|
"CRITICAL"
|
|
23
|
-
],
|
|
24
|
-
let e =
|
|
25
|
-
return /* @__PURE__ */
|
|
23
|
+
], ae = () => {
|
|
24
|
+
let e = s();
|
|
25
|
+
return /* @__PURE__ */ F("span", {
|
|
26
26
|
className: "inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-md bg-status-warning-bg-subtle text-status-warning-text",
|
|
27
|
-
title: e("psw.matters.
|
|
27
|
+
title: e("psw.matters.privilegedTitle", "Privileged / confidential"),
|
|
28
28
|
"aria-label": e("psw.matters.privilegedAria", "Privileged"),
|
|
29
|
-
children: /* @__PURE__ */
|
|
29
|
+
children: /* @__PURE__ */ F(M, { className: "h-3 w-3" })
|
|
30
30
|
});
|
|
31
|
-
},
|
|
32
|
-
let e = o(), { emitIntent:
|
|
33
|
-
limit:
|
|
31
|
+
}, B = 25, V = () => {
|
|
32
|
+
let e = s(), n = o(), { emitIntent: i, emitFact: d } = E(), [m, x] = O(""), [z, V] = O(""), [se, H] = O(!1), [U, W] = O(null), [G, K] = O({
|
|
33
|
+
limit: B,
|
|
34
34
|
offset: 0
|
|
35
35
|
}), { data: q, isLoading: J, error: Y, refetch: X } = r({
|
|
36
|
-
search:
|
|
37
|
-
status:
|
|
38
|
-
pagination:
|
|
39
|
-
}), Z = t(),
|
|
40
|
-
return /* @__PURE__ */
|
|
36
|
+
search: m.trim() || void 0,
|
|
37
|
+
status: z || void 0,
|
|
38
|
+
pagination: G
|
|
39
|
+
}), Z = t(), ce = a(), Q = ne(() => q?.items ?? [], [q]), le = Q.filter((e) => e.status === "OPEN").length, ue = Q.filter((e) => e.isPrivileged).length, $ = Q.filter((e) => e.priority === "HIGH" || e.priority === "CRITICAL").length;
|
|
40
|
+
return /* @__PURE__ */ I("div", {
|
|
41
41
|
className: "space-y-6",
|
|
42
42
|
children: [
|
|
43
|
-
/* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ F(g, {
|
|
44
44
|
title: e("psw.matters.title", "Matters"),
|
|
45
45
|
subtitle: e("psw.matters.subtitle", "The regulated threads of work — legal matters, audits, filings — with their own deadlines and sensitive-document handling."),
|
|
46
|
-
icon: /* @__PURE__ */
|
|
47
|
-
actions: /* @__PURE__ */ L
|
|
46
|
+
icon: /* @__PURE__ */ F(j, { className: "h-6 w-6" }),
|
|
47
|
+
actions: /* @__PURE__ */ I(L, {
|
|
48
48
|
onClick: () => {
|
|
49
|
-
|
|
49
|
+
D("light"), i("psw.matter.create_clicked"), H(!0);
|
|
50
50
|
},
|
|
51
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ F(N, { className: "mr-1.5 h-4 w-4" }), e("psw.matters.new", "New matter")]
|
|
52
52
|
})
|
|
53
53
|
}),
|
|
54
|
-
|
|
55
|
-
tone:
|
|
56
|
-
onClose: () =>
|
|
57
|
-
children:
|
|
54
|
+
U && /* @__PURE__ */ F(c, {
|
|
55
|
+
tone: U.tone,
|
|
56
|
+
onClose: () => W(null),
|
|
57
|
+
children: U.text
|
|
58
58
|
}),
|
|
59
|
-
/* @__PURE__ */
|
|
59
|
+
/* @__PURE__ */ I("div", {
|
|
60
60
|
className: "flex flex-col gap-2 sm:flex-row sm:items-center",
|
|
61
|
-
children: [/* @__PURE__ */
|
|
61
|
+
children: [/* @__PURE__ */ I("div", {
|
|
62
62
|
className: "relative flex-1",
|
|
63
|
-
children: [/* @__PURE__ */
|
|
63
|
+
children: [/* @__PURE__ */ F(ie, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-tertiary" }), /* @__PURE__ */ F(S, {
|
|
64
64
|
placeholder: e("psw.matters.searchPlaceholder", "Search matters…"),
|
|
65
|
-
value:
|
|
65
|
+
value: m,
|
|
66
66
|
onChange: (e) => {
|
|
67
|
-
|
|
68
|
-
limit:
|
|
67
|
+
x(e.target.value), K({
|
|
68
|
+
limit: B,
|
|
69
69
|
offset: 0
|
|
70
70
|
});
|
|
71
71
|
},
|
|
72
72
|
onKeyDown: (e) => {
|
|
73
|
-
e.key === "Enter" &&
|
|
73
|
+
e.key === "Enter" && m.trim() && d("psw.search.performed", {
|
|
74
74
|
entityType: "matter",
|
|
75
|
-
queryLength:
|
|
75
|
+
queryLength: m.trim().length
|
|
76
76
|
});
|
|
77
77
|
},
|
|
78
78
|
className: "pl-9"
|
|
79
79
|
})]
|
|
80
|
-
}), /* @__PURE__ */
|
|
81
|
-
value:
|
|
80
|
+
}), /* @__PURE__ */ I(h, {
|
|
81
|
+
value: z,
|
|
82
82
|
onChange: (e) => {
|
|
83
|
-
|
|
84
|
-
limit:
|
|
83
|
+
V(e.target.value), K({
|
|
84
|
+
limit: B,
|
|
85
85
|
offset: 0
|
|
86
86
|
});
|
|
87
87
|
},
|
|
88
88
|
className: "sm:w-48",
|
|
89
|
-
children: [/* @__PURE__ */
|
|
89
|
+
children: [/* @__PURE__ */ F("option", {
|
|
90
90
|
value: "",
|
|
91
91
|
children: e("psw.matters.allStatuses", "All statuses")
|
|
92
|
-
}),
|
|
92
|
+
}), w(R, n)]
|
|
93
93
|
})]
|
|
94
94
|
}),
|
|
95
|
-
J ? /* @__PURE__ */
|
|
95
|
+
J ? /* @__PURE__ */ F(f, {}) : Y ? /* @__PURE__ */ F(u, {
|
|
96
96
|
error: Y,
|
|
97
97
|
onRetry: () => void X()
|
|
98
|
-
}) : !q || q.items.length === 0 ? /* @__PURE__ */
|
|
98
|
+
}) : !q || q.items.length === 0 ? /* @__PURE__ */ F(l, {
|
|
99
99
|
title: e("psw.matters.emptyTitle", "No matters yet"),
|
|
100
100
|
description: e("psw.matters.emptyDescription", "Create your first matter to track deadlines, privileged documents, and status."),
|
|
101
|
-
icon: /* @__PURE__ */
|
|
102
|
-
action: /* @__PURE__ */ L
|
|
103
|
-
onClick: () =>
|
|
104
|
-
children: [/* @__PURE__ */
|
|
101
|
+
icon: /* @__PURE__ */ F(j, { className: "h-8 w-8" }),
|
|
102
|
+
action: /* @__PURE__ */ I(L, {
|
|
103
|
+
onClick: () => H(!0),
|
|
104
|
+
children: [/* @__PURE__ */ F(N, { className: "mr-1.5 h-4 w-4" }), e("psw.matters.new", "New matter")]
|
|
105
105
|
})
|
|
106
|
-
}) : /* @__PURE__ */
|
|
106
|
+
}) : /* @__PURE__ */ I(P, { children: [/* @__PURE__ */ I("div", {
|
|
107
107
|
className: "grid grid-cols-2 gap-3 lg:grid-cols-4",
|
|
108
108
|
children: [
|
|
109
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ F(p, {
|
|
110
110
|
label: e("psw.matters.metricTotal", "Matters"),
|
|
111
111
|
value: q.totalCount,
|
|
112
|
-
icon: /* @__PURE__ */
|
|
112
|
+
icon: /* @__PURE__ */ F(j, { className: "h-4 w-4" })
|
|
113
113
|
}),
|
|
114
|
-
/* @__PURE__ */
|
|
114
|
+
/* @__PURE__ */ F(p, {
|
|
115
115
|
label: e("psw.matters.metricOpen", "Open"),
|
|
116
|
-
value:
|
|
117
|
-
icon: /* @__PURE__ */
|
|
116
|
+
value: le,
|
|
117
|
+
icon: /* @__PURE__ */ F(re, { className: "h-4 w-4" }),
|
|
118
118
|
tone: "accent"
|
|
119
119
|
}),
|
|
120
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ F(p, {
|
|
121
121
|
label: e("psw.matters.metricPrivileged", "Privileged"),
|
|
122
|
-
value:
|
|
123
|
-
icon: /* @__PURE__ */
|
|
122
|
+
value: ue,
|
|
123
|
+
icon: /* @__PURE__ */ F(M, { className: "h-4 w-4" }),
|
|
124
124
|
tone: "warning"
|
|
125
125
|
}),
|
|
126
|
-
/* @__PURE__ */
|
|
126
|
+
/* @__PURE__ */ F(p, {
|
|
127
127
|
label: e("psw.matters.metricHighPriority", "High priority"),
|
|
128
128
|
value: $,
|
|
129
|
-
icon: /* @__PURE__ */
|
|
129
|
+
icon: /* @__PURE__ */ F(k, { className: "h-4 w-4" }),
|
|
130
130
|
tone: $ ? "danger" : "neutral"
|
|
131
131
|
})
|
|
132
132
|
]
|
|
133
|
-
}), /* @__PURE__ */
|
|
133
|
+
}), /* @__PURE__ */ I(_, {
|
|
134
134
|
title: q.totalCount === 1 ? e("psw.matters.count", "{{count}} matter", { count: q.totalCount }) : e("psw.matters.countPlural", "{{count}} matters", { count: q.totalCount }),
|
|
135
|
-
children: [/* @__PURE__ */
|
|
136
|
-
/* @__PURE__ */
|
|
137
|
-
/* @__PURE__ */
|
|
138
|
-
/* @__PURE__ */
|
|
139
|
-
/* @__PURE__ */
|
|
140
|
-
/* @__PURE__ */
|
|
141
|
-
/* @__PURE__ */
|
|
142
|
-
/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ I(y, { children: [/* @__PURE__ */ F("thead", { children: /* @__PURE__ */ I("tr", { children: [
|
|
136
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tableMatter", "Matter") }),
|
|
137
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tableClient", "Client") }),
|
|
138
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tablePriority", "Priority") }),
|
|
139
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tableStatus", "Status") }),
|
|
140
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tableDue", "Due") }),
|
|
141
|
+
/* @__PURE__ */ F(C, { children: e("psw.matters.tableTags", "Tags") }),
|
|
142
|
+
/* @__PURE__ */ F(C, {
|
|
143
143
|
className: "text-right",
|
|
144
144
|
children: e("psw.common.actions", "Actions")
|
|
145
145
|
})
|
|
146
|
-
] }) }), /* @__PURE__ */
|
|
146
|
+
] }) }), /* @__PURE__ */ F("tbody", { children: q.items.map((t) => /* @__PURE__ */ I("tr", {
|
|
147
147
|
className: "transition-colors hover:bg-bg-sunken/60",
|
|
148
148
|
children: [
|
|
149
|
-
/* @__PURE__ */
|
|
149
|
+
/* @__PURE__ */ I(b, { children: [/* @__PURE__ */ I("span", {
|
|
150
150
|
className: "flex items-center gap-2 font-medium text-text-primary",
|
|
151
|
-
children: [t.isPrivileged && /* @__PURE__ */
|
|
151
|
+
children: [t.isPrivileged && /* @__PURE__ */ F(ae, {}), /* @__PURE__ */ F("span", {
|
|
152
152
|
className: "truncate",
|
|
153
153
|
children: t.title
|
|
154
154
|
})]
|
|
155
|
-
}), t.reference ? /* @__PURE__ */
|
|
155
|
+
}), t.reference ? /* @__PURE__ */ F("div", {
|
|
156
156
|
className: "mt-0.5 pl-0 text-xs text-text-tertiary",
|
|
157
157
|
children: e("psw.matters.reference", "Ref: {{reference}}", { reference: t.reference })
|
|
158
158
|
}) : null] }),
|
|
159
|
-
/* @__PURE__ */
|
|
159
|
+
/* @__PURE__ */ F(b, {
|
|
160
160
|
className: "text-text-primary",
|
|
161
161
|
children: t.client?.name ?? e("psw.common.dash", "—")
|
|
162
162
|
}),
|
|
163
|
-
/* @__PURE__ */
|
|
164
|
-
/* @__PURE__ */
|
|
165
|
-
/* @__PURE__ */
|
|
166
|
-
/* @__PURE__ */
|
|
163
|
+
/* @__PURE__ */ F(b, { children: /* @__PURE__ */ F(v, { status: t.priority }) }),
|
|
164
|
+
/* @__PURE__ */ F(b, { children: /* @__PURE__ */ F(v, { status: t.status }) }),
|
|
165
|
+
/* @__PURE__ */ F(b, { children: T(t.dueDate) }),
|
|
166
|
+
/* @__PURE__ */ F(b, { children: /* @__PURE__ */ F(ee, {
|
|
167
167
|
entityType: "PswMatter",
|
|
168
168
|
entityId: t.id,
|
|
169
169
|
tags: t.tags ?? [],
|
|
170
170
|
onChange: async (e) => {
|
|
171
|
-
await
|
|
171
|
+
await ce.mutateAsync({
|
|
172
172
|
id: t.id,
|
|
173
173
|
input: { tags: e }
|
|
174
174
|
}), X();
|
|
175
175
|
},
|
|
176
176
|
maxTags: 5
|
|
177
177
|
}) }),
|
|
178
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ F(b, {
|
|
179
179
|
className: "text-right",
|
|
180
|
-
children: t.status !== "CLOSED" && t.status !== "ARCHIVED" ? /* @__PURE__ */ L
|
|
180
|
+
children: t.status !== "CLOSED" && t.status !== "ARCHIVED" ? /* @__PURE__ */ I(L, {
|
|
181
181
|
variant: "ghost",
|
|
182
182
|
size: "sm",
|
|
183
183
|
disabled: Z.isPending,
|
|
184
184
|
onClick: () => Z.mutate(t.id, {
|
|
185
185
|
onSuccess: () => {
|
|
186
|
-
|
|
186
|
+
d("psw.matter.closed", { matterId: t.id }), W({
|
|
187
187
|
tone: "success",
|
|
188
188
|
text: e("psw.matters.closed", "{{title}} closed.", { title: t.title })
|
|
189
189
|
});
|
|
190
190
|
},
|
|
191
|
-
onError: (t) =>
|
|
191
|
+
onError: (t) => W({
|
|
192
192
|
tone: "danger",
|
|
193
193
|
text: t instanceof Error ? t.message : e("psw.matters.createFailed", "Failed.")
|
|
194
194
|
})
|
|
195
195
|
}),
|
|
196
196
|
children: [
|
|
197
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ F(A, { className: "mr-1 h-4 w-4" }),
|
|
198
198
|
" ",
|
|
199
199
|
e("psw.matters.close", "Close")
|
|
200
200
|
]
|
|
201
|
-
}) : /* @__PURE__ */
|
|
201
|
+
}) : /* @__PURE__ */ F("span", {
|
|
202
202
|
className: "text-xs text-text-tertiary",
|
|
203
|
-
children: t.closedAt ? e("psw.matters.closedAt", "Closed {{date}}", { date:
|
|
203
|
+
children: t.closedAt ? e("psw.matters.closedAt", "Closed {{date}}", { date: T(t.closedAt) }) : e("psw.common.dash", "—")
|
|
204
204
|
})
|
|
205
205
|
})
|
|
206
206
|
]
|
|
207
|
-
}, t.id)) })] }), /* @__PURE__ */
|
|
207
|
+
}, t.id)) })] }), /* @__PURE__ */ F(te, {
|
|
208
208
|
hasMore: q?.pageInfo?.hasMore ?? !1,
|
|
209
209
|
loading: J,
|
|
210
210
|
loadedCount: Q.length,
|
|
211
211
|
totalCount: q?.totalCount ?? Q.length,
|
|
212
212
|
onLoadMore: () => K((e) => ({
|
|
213
|
-
limit:
|
|
214
|
-
offset: e.offset +
|
|
213
|
+
limit: B,
|
|
214
|
+
offset: e.offset + B
|
|
215
215
|
}))
|
|
216
216
|
})]
|
|
217
217
|
})] }),
|
|
218
|
-
|
|
219
|
-
onClose: () =>
|
|
220
|
-
onSaved: (t) =>
|
|
218
|
+
se && /* @__PURE__ */ F(oe, {
|
|
219
|
+
onClose: () => H(!1),
|
|
220
|
+
onSaved: (t) => W({
|
|
221
221
|
tone: "success",
|
|
222
222
|
text: e("psw.matters.opened", "{{title}} opened.", { title: t })
|
|
223
223
|
})
|
|
224
224
|
})
|
|
225
225
|
]
|
|
226
226
|
});
|
|
227
|
-
},
|
|
228
|
-
let a = o(),
|
|
227
|
+
}, oe = ({ onClose: t, onSaved: r }) => {
|
|
228
|
+
let a = s(), l = o(), u = n(), { emitFact: f } = E(), p = e({ pagination: { limit: 100 } }), g = i(), [_, v] = O({
|
|
229
229
|
clientId: "",
|
|
230
230
|
practiceAreaId: "",
|
|
231
231
|
title: "",
|
|
@@ -234,138 +234,138 @@ var z = [
|
|
|
234
234
|
priority: "MEDIUM",
|
|
235
235
|
dueDate: "",
|
|
236
236
|
isPrivileged: !1
|
|
237
|
-
}), [
|
|
237
|
+
}), [y, b] = O(null), C = (e) => (t) => v((n) => ({
|
|
238
238
|
...n,
|
|
239
239
|
[e]: t.target.value
|
|
240
240
|
}));
|
|
241
|
-
return /* @__PURE__ */
|
|
241
|
+
return /* @__PURE__ */ F(m, {
|
|
242
242
|
open: !0,
|
|
243
243
|
onClose: t,
|
|
244
244
|
title: a("psw.matters.newTitle", "New matter"),
|
|
245
|
-
footer: /* @__PURE__ */
|
|
245
|
+
footer: /* @__PURE__ */ I(P, { children: [/* @__PURE__ */ F(L, {
|
|
246
246
|
variant: "outline",
|
|
247
247
|
onClick: t,
|
|
248
|
-
disabled:
|
|
248
|
+
disabled: u.isPending,
|
|
249
249
|
children: a("psw.common.cancel", "Cancel")
|
|
250
|
-
}), /* @__PURE__ */
|
|
250
|
+
}), /* @__PURE__ */ F(L, {
|
|
251
251
|
onClick: () => {
|
|
252
|
-
if (
|
|
253
|
-
if (!
|
|
254
|
-
|
|
255
|
-
clientId:
|
|
256
|
-
practiceAreaId:
|
|
257
|
-
title:
|
|
258
|
-
reference:
|
|
259
|
-
description:
|
|
260
|
-
priority:
|
|
261
|
-
isPrivileged:
|
|
262
|
-
dueDate:
|
|
252
|
+
if (b(null), !_.clientId) return b(a("psw.matters.selectClient", "Select a client."));
|
|
253
|
+
if (!_.title.trim()) return b(a("psw.matters.titleRequired", "Matter title is required."));
|
|
254
|
+
u.mutate({
|
|
255
|
+
clientId: _.clientId,
|
|
256
|
+
practiceAreaId: _.practiceAreaId || null,
|
|
257
|
+
title: _.title.trim(),
|
|
258
|
+
reference: _.reference.trim() || null,
|
|
259
|
+
description: _.description.trim() || null,
|
|
260
|
+
priority: _.priority,
|
|
261
|
+
isPrivileged: _.isPrivileged,
|
|
262
|
+
dueDate: _.dueDate ? new Date(_.dueDate).toISOString() : null
|
|
263
263
|
}, {
|
|
264
264
|
onSuccess: (e) => {
|
|
265
265
|
let n = e.pswCreateMatter;
|
|
266
|
-
|
|
266
|
+
f("psw.matter.created", {
|
|
267
267
|
matterId: n.id,
|
|
268
|
-
clientId:
|
|
269
|
-
}), r(
|
|
268
|
+
clientId: _.clientId
|
|
269
|
+
}), r(_.title.trim()), t();
|
|
270
270
|
},
|
|
271
|
-
onError: (e) =>
|
|
271
|
+
onError: (e) => b(e instanceof Error ? e.message : a("psw.matters.createFailed", "Failed."))
|
|
272
272
|
});
|
|
273
273
|
},
|
|
274
|
-
disabled:
|
|
275
|
-
children:
|
|
274
|
+
disabled: u.isPending,
|
|
275
|
+
children: u.isPending ? a("psw.common.opening", "Opening…") : a("psw.matters.open", "Open matter")
|
|
276
276
|
})] }),
|
|
277
|
-
children: /* @__PURE__ */
|
|
277
|
+
children: /* @__PURE__ */ I("div", {
|
|
278
278
|
className: "space-y-3",
|
|
279
279
|
children: [
|
|
280
|
-
|
|
280
|
+
y && /* @__PURE__ */ F(c, {
|
|
281
281
|
tone: "danger",
|
|
282
|
-
children:
|
|
282
|
+
children: y
|
|
283
283
|
}),
|
|
284
|
-
/* @__PURE__ */
|
|
284
|
+
/* @__PURE__ */ F(d, {
|
|
285
285
|
label: a("psw.matters.client", "Client"),
|
|
286
286
|
required: !0,
|
|
287
|
-
children: /* @__PURE__ */
|
|
288
|
-
value:
|
|
289
|
-
onChange:
|
|
290
|
-
children: [/* @__PURE__ */
|
|
287
|
+
children: /* @__PURE__ */ I(h, {
|
|
288
|
+
value: _.clientId,
|
|
289
|
+
onChange: C("clientId"),
|
|
290
|
+
children: [/* @__PURE__ */ F("option", {
|
|
291
291
|
value: "",
|
|
292
292
|
children: a("psw.engagements.selectClientPlaceholder", "Select a client…")
|
|
293
|
-
}),
|
|
293
|
+
}), p.data?.items.map((e) => /* @__PURE__ */ F("option", {
|
|
294
294
|
value: e.id,
|
|
295
295
|
children: e.name
|
|
296
296
|
}, e.id))]
|
|
297
297
|
})
|
|
298
298
|
}),
|
|
299
|
-
/* @__PURE__ */
|
|
299
|
+
/* @__PURE__ */ F(d, {
|
|
300
300
|
label: a("psw.matters.titleLabel", "Title"),
|
|
301
301
|
required: !0,
|
|
302
|
-
children: /* @__PURE__ */
|
|
303
|
-
value:
|
|
304
|
-
onChange:
|
|
302
|
+
children: /* @__PURE__ */ F(S, {
|
|
303
|
+
value: _.title,
|
|
304
|
+
onChange: C("title"),
|
|
305
305
|
placeholder: a("psw.matters.titlePlaceholder", "Regulatory investigation — SEC inquiry")
|
|
306
306
|
})
|
|
307
307
|
}),
|
|
308
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ I("div", {
|
|
309
309
|
className: "grid grid-cols-2 gap-3",
|
|
310
|
-
children: [/* @__PURE__ */
|
|
310
|
+
children: [/* @__PURE__ */ F(d, {
|
|
311
311
|
label: a("psw.matters.referenceLabel", "Reference"),
|
|
312
|
-
children: /* @__PURE__ */
|
|
313
|
-
value:
|
|
314
|
-
onChange:
|
|
312
|
+
children: /* @__PURE__ */ F(S, {
|
|
313
|
+
value: _.reference,
|
|
314
|
+
onChange: C("reference"),
|
|
315
315
|
placeholder: a("psw.matters.referencePlaceholder", "MAT-2026-014")
|
|
316
316
|
})
|
|
317
|
-
}), /* @__PURE__ */
|
|
317
|
+
}), /* @__PURE__ */ F(d, {
|
|
318
318
|
label: a("psw.matters.priority", "Priority"),
|
|
319
|
-
children: /* @__PURE__ */
|
|
320
|
-
value:
|
|
321
|
-
onChange:
|
|
322
|
-
children:
|
|
319
|
+
children: /* @__PURE__ */ F(h, {
|
|
320
|
+
value: _.priority,
|
|
321
|
+
onChange: C("priority"),
|
|
322
|
+
children: w(z, l)
|
|
323
323
|
})
|
|
324
324
|
})]
|
|
325
325
|
}),
|
|
326
|
-
/* @__PURE__ */
|
|
326
|
+
/* @__PURE__ */ I("div", {
|
|
327
327
|
className: "grid grid-cols-2 gap-3",
|
|
328
|
-
children: [/* @__PURE__ */
|
|
328
|
+
children: [/* @__PURE__ */ F(d, {
|
|
329
329
|
label: a("psw.matters.practiceArea", "Practice area"),
|
|
330
|
-
children: /* @__PURE__ */
|
|
331
|
-
value:
|
|
332
|
-
onChange:
|
|
333
|
-
children: [/* @__PURE__ */
|
|
330
|
+
children: /* @__PURE__ */ I(h, {
|
|
331
|
+
value: _.practiceAreaId,
|
|
332
|
+
onChange: C("practiceAreaId"),
|
|
333
|
+
children: [/* @__PURE__ */ F("option", {
|
|
334
334
|
value: "",
|
|
335
335
|
children: a("psw.engagements.unassigned", "Unassigned")
|
|
336
|
-
}),
|
|
336
|
+
}), g.data?.items.map((e) => /* @__PURE__ */ F("option", {
|
|
337
337
|
value: e.id,
|
|
338
338
|
children: e.name
|
|
339
339
|
}, e.id))]
|
|
340
340
|
})
|
|
341
|
-
}), /* @__PURE__ */
|
|
341
|
+
}), /* @__PURE__ */ F(d, {
|
|
342
342
|
label: a("psw.matters.dueDate", "Due date"),
|
|
343
|
-
children: /* @__PURE__ */
|
|
343
|
+
children: /* @__PURE__ */ F(S, {
|
|
344
344
|
type: "date",
|
|
345
|
-
value:
|
|
346
|
-
onChange:
|
|
345
|
+
value: _.dueDate,
|
|
346
|
+
onChange: C("dueDate")
|
|
347
347
|
})
|
|
348
348
|
})]
|
|
349
349
|
}),
|
|
350
|
-
/* @__PURE__ */
|
|
350
|
+
/* @__PURE__ */ F(d, {
|
|
351
351
|
label: a("psw.matters.description", "Description"),
|
|
352
|
-
children: /* @__PURE__ */
|
|
353
|
-
value:
|
|
354
|
-
onChange:
|
|
352
|
+
children: /* @__PURE__ */ F(x, {
|
|
353
|
+
value: _.description,
|
|
354
|
+
onChange: C("description")
|
|
355
355
|
})
|
|
356
356
|
}),
|
|
357
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ I("label", {
|
|
358
358
|
className: "flex items-center gap-2.5 rounded-lg border border-border-seam bg-bg-canvas px-3 py-2.5 text-sm text-text-secondary",
|
|
359
|
-
children: [/* @__PURE__ */
|
|
359
|
+
children: [/* @__PURE__ */ F("input", {
|
|
360
360
|
type: "checkbox",
|
|
361
|
-
checked:
|
|
362
|
-
onChange: (e) =>
|
|
361
|
+
checked: _.isPrivileged,
|
|
362
|
+
onChange: (e) => v((t) => ({
|
|
363
363
|
...t,
|
|
364
364
|
isPrivileged: e.target.checked
|
|
365
365
|
}))
|
|
366
|
-
}), /* @__PURE__ */
|
|
366
|
+
}), /* @__PURE__ */ I("span", {
|
|
367
367
|
className: "flex items-center gap-1.5",
|
|
368
|
-
children: [/* @__PURE__ */
|
|
368
|
+
children: [/* @__PURE__ */ F(M, { className: "h-3.5 w-3.5 text-status-warning-text" }), a("psw.matters.privilegedLabel", "Privileged / confidential matter")]
|
|
369
369
|
})]
|
|
370
370
|
})
|
|
371
371
|
]
|
|
@@ -373,6 +373,6 @@ var z = [
|
|
|
373
373
|
});
|
|
374
374
|
};
|
|
375
375
|
//#endregion
|
|
376
|
-
export {
|
|
376
|
+
export { V as MattersPage };
|
|
377
377
|
|
|
378
378
|
//# sourceMappingURL=MattersPage.js.map
|