@burdenoff/microfe-proserviceworld 2026.1026.2 → 2026.1031.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.
- 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 +28 -0
- package/dist/proserviceworld/hooks/useProServiceWorldApi.d.ts.map +1 -1
- package/dist/proserviceworld/hooks/useProServiceWorldApi.js +95 -73
- 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 +236 -152
- 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 +275 -258
- 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,10 +1,12 @@
|
|
|
1
1
|
import { cn as e } from "../utils/cn.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { humanize as t } from "../utils/humanize.js";
|
|
3
|
+
import { useEnumLabel as n, useTr as r } from "../hooks/useTr.js";
|
|
4
|
+
import { useEffect as i } from "react";
|
|
5
|
+
import { AlertCircle as a, CheckCircle2 as o, Info as s, Loader2 as c, X as l } from "lucide-react";
|
|
6
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
|
+
import { Button as f } from "@burdenoff/fe-libs/ui";
|
|
6
8
|
//#region src/proserviceworld/components/ui.tsx
|
|
7
|
-
var
|
|
9
|
+
var p = (e) => {
|
|
8
10
|
if (!e) return "—";
|
|
9
11
|
let t = new Date(e);
|
|
10
12
|
return Number.isNaN(t.getTime()) ? "—" : t.toLocaleDateString(void 0, {
|
|
@@ -12,7 +14,7 @@ var u = (e) => (e ?? "").toLowerCase().replace(/_/g, " ").replace(/\b\w/g, (e) =
|
|
|
12
14
|
month: "short",
|
|
13
15
|
day: "numeric"
|
|
14
16
|
});
|
|
15
|
-
},
|
|
17
|
+
}, m = (e, t = "USD") => {
|
|
16
18
|
let n = e ?? 0;
|
|
17
19
|
try {
|
|
18
20
|
return new Intl.NumberFormat(void 0, {
|
|
@@ -23,14 +25,14 @@ var u = (e) => (e ?? "").toLowerCase().replace(/_/g, " ").replace(/\b\w/g, (e) =
|
|
|
23
25
|
} catch {
|
|
24
26
|
return `${t} ${n.toLocaleString()}`;
|
|
25
27
|
}
|
|
26
|
-
},
|
|
28
|
+
}, h = (e) => `${(e ?? 0).toLocaleString(void 0, { maximumFractionDigits: 1 })}h`, g = (e) => h((e ?? 0) / 60), _ = {
|
|
27
29
|
neutral: "bg-bg-sunken text-text-secondary",
|
|
28
30
|
success: "bg-status-success-bg-subtle text-status-success-text",
|
|
29
31
|
warning: "bg-status-warning-bg-subtle text-status-warning-text",
|
|
30
32
|
danger: "bg-status-error-bg-subtle text-status-error-text",
|
|
31
33
|
info: "bg-bg-sunken text-text-link",
|
|
32
34
|
accent: "bg-bg-sunken text-accent"
|
|
33
|
-
},
|
|
35
|
+
}, v = {
|
|
34
36
|
ACTIVE: "success",
|
|
35
37
|
PROSPECT: "info",
|
|
36
38
|
INACTIVE: "neutral",
|
|
@@ -75,205 +77,217 @@ var u = (e) => (e ?? "").toLowerCase().replace(/_/g, " ").replace(/\b\w/g, (e) =
|
|
|
75
77
|
DECLINED: "danger",
|
|
76
78
|
EXPIRED: "neutral",
|
|
77
79
|
REVOKED: "neutral"
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
}, y = ({ status: t, className: r }) => {
|
|
81
|
+
let i = n();
|
|
82
|
+
return /* @__PURE__ */ d("span", {
|
|
83
|
+
className: e("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium whitespace-nowrap", _[v[t] ?? "neutral"], r),
|
|
84
|
+
children: [/* @__PURE__ */ u("span", { className: "h-1.5 w-1.5 rounded-full bg-current opacity-70" }), i(t)]
|
|
85
|
+
});
|
|
86
|
+
}, b = ({ title: e, subtitle: t, actions: n, icon: r }) => /* @__PURE__ */ d("div", {
|
|
82
87
|
className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
|
|
83
|
-
children: [/* @__PURE__ */
|
|
88
|
+
children: [/* @__PURE__ */ d("div", {
|
|
84
89
|
className: "flex items-start gap-3.5",
|
|
85
|
-
children: [r ? /* @__PURE__ */
|
|
90
|
+
children: [r ? /* @__PURE__ */ u("div", {
|
|
86
91
|
className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-bg-sunken text-accent",
|
|
87
92
|
children: r
|
|
88
|
-
}) : null, /* @__PURE__ */
|
|
93
|
+
}) : null, /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
|
|
89
94
|
className: "text-2xl font-bold tracking-tight text-text-primary sm:text-3xl",
|
|
90
95
|
children: e
|
|
91
|
-
}), t ? /* @__PURE__ */
|
|
96
|
+
}), t ? /* @__PURE__ */ u("p", {
|
|
92
97
|
className: "mt-1.5 max-w-2xl text-sm leading-relaxed text-text-secondary",
|
|
93
98
|
children: t
|
|
94
99
|
}) : null] })]
|
|
95
|
-
}), n ? /* @__PURE__ */
|
|
100
|
+
}), n ? /* @__PURE__ */ u("div", {
|
|
96
101
|
className: "flex flex-wrap items-center gap-2",
|
|
97
102
|
children: n
|
|
98
103
|
}) : null]
|
|
99
|
-
}),
|
|
104
|
+
}), x = ({ label: t, value: n, hint: r, icon: i, tone: a = "neutral" }) => /* @__PURE__ */ d("div", {
|
|
100
105
|
className: "vc-lift-on-hover rounded-2xl border border-border-seam bg-bg-surface p-5 shadow-sm",
|
|
101
106
|
children: [
|
|
102
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ d("div", {
|
|
103
108
|
className: "flex items-center justify-between gap-2",
|
|
104
|
-
children: [/* @__PURE__ */
|
|
109
|
+
children: [/* @__PURE__ */ u("span", {
|
|
105
110
|
className: "text-xs font-medium uppercase tracking-wider text-text-tertiary",
|
|
106
111
|
children: t
|
|
107
|
-
}), i ? /* @__PURE__ */
|
|
108
|
-
className: e("flex h-9 w-9 items-center justify-center rounded-full",
|
|
112
|
+
}), i ? /* @__PURE__ */ u("span", {
|
|
113
|
+
className: e("flex h-9 w-9 items-center justify-center rounded-full", _[a]),
|
|
109
114
|
children: i
|
|
110
115
|
}) : null]
|
|
111
116
|
}),
|
|
112
|
-
/* @__PURE__ */
|
|
117
|
+
/* @__PURE__ */ u("div", {
|
|
113
118
|
className: "mt-3 text-2xl font-semibold tracking-tight text-text-primary sm:text-3xl",
|
|
114
119
|
children: n
|
|
115
120
|
}),
|
|
116
|
-
r ? /* @__PURE__ */
|
|
121
|
+
r ? /* @__PURE__ */ u("div", {
|
|
117
122
|
className: "mt-1 text-xs text-text-tertiary",
|
|
118
123
|
children: r
|
|
119
124
|
}) : null
|
|
120
125
|
]
|
|
121
|
-
}),
|
|
126
|
+
}), S = ({ title: t, description: n, action: r, children: i, className: a }) => /* @__PURE__ */ d("section", {
|
|
122
127
|
className: e("rounded-2xl border border-border-seam bg-bg-surface shadow-sm", a),
|
|
123
|
-
children: [(t || r) && /* @__PURE__ */
|
|
128
|
+
children: [(t || r) && /* @__PURE__ */ d("header", {
|
|
124
129
|
className: "flex items-center justify-between gap-3 border-b border-border-seam px-5 py-3.5",
|
|
125
|
-
children: [/* @__PURE__ */
|
|
130
|
+
children: [/* @__PURE__ */ d("div", { children: [t ? /* @__PURE__ */ u("h2", {
|
|
126
131
|
className: "text-sm font-semibold text-text-primary",
|
|
127
132
|
children: t
|
|
128
|
-
}) : null, n ? /* @__PURE__ */
|
|
133
|
+
}) : null, n ? /* @__PURE__ */ u("p", {
|
|
129
134
|
className: "mt-0.5 text-xs text-text-tertiary",
|
|
130
135
|
children: n
|
|
131
136
|
}) : null] }), r]
|
|
132
|
-
}), /* @__PURE__ */
|
|
137
|
+
}), /* @__PURE__ */ u("div", {
|
|
133
138
|
className: "p-5",
|
|
134
139
|
children: i
|
|
135
140
|
})]
|
|
136
|
-
}),
|
|
141
|
+
}), C = "w-full rounded-lg border border-border-seam bg-bg-canvas px-3 py-2 text-sm text-text-primary placeholder:text-text-tertiary focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/30 disabled:opacity-50", w = ({ label: t, required: n, hint: r, children: i, className: a }) => /* @__PURE__ */ d("label", {
|
|
137
142
|
className: e("block", a),
|
|
138
143
|
children: [
|
|
139
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ d("span", {
|
|
140
145
|
className: "mb-1 block text-xs font-medium text-text-secondary",
|
|
141
|
-
children: [t, n ? /* @__PURE__ */
|
|
146
|
+
children: [t, n ? /* @__PURE__ */ u("span", {
|
|
142
147
|
className: "text-status-error-text",
|
|
143
148
|
children: " *"
|
|
144
149
|
}) : null]
|
|
145
150
|
}),
|
|
146
151
|
i,
|
|
147
|
-
r ? /* @__PURE__ */
|
|
152
|
+
r ? /* @__PURE__ */ u("span", {
|
|
148
153
|
className: "mt-1 block text-xs text-text-tertiary",
|
|
149
154
|
children: r
|
|
150
155
|
}) : null
|
|
151
156
|
]
|
|
152
|
-
}),
|
|
153
|
-
className: e(
|
|
157
|
+
}), T = ({ className: t, ...n }) => /* @__PURE__ */ u("input", {
|
|
158
|
+
className: e(C, t),
|
|
154
159
|
...n
|
|
155
|
-
}),
|
|
156
|
-
className: e(
|
|
160
|
+
}), E = ({ className: t, ...n }) => /* @__PURE__ */ u("textarea", {
|
|
161
|
+
className: e(C, "min-h-[80px] resize-y", t),
|
|
157
162
|
...n
|
|
158
|
-
}),
|
|
159
|
-
className: e(
|
|
163
|
+
}), D = ({ className: t, children: n, ...r }) => /* @__PURE__ */ u("select", {
|
|
164
|
+
className: e(C, "appearance-none pe-8", t),
|
|
160
165
|
...r,
|
|
161
166
|
children: n
|
|
162
|
-
}),
|
|
167
|
+
}), O = (e, n = t) => e.map((e) => /* @__PURE__ */ u("option", {
|
|
163
168
|
value: e,
|
|
164
|
-
children:
|
|
165
|
-
}, e)),
|
|
166
|
-
let
|
|
167
|
-
return /* @__PURE__ */
|
|
168
|
-
className: e("flex items-start gap-2 rounded-lg px-3 py-2 text-sm", t === "success" ?
|
|
169
|
+
children: n(e)
|
|
170
|
+
}, e)), k = ({ tone: t = "info", children: n, onClose: i }) => {
|
|
171
|
+
let c = r(), f = t === "success" ? o : t === "danger" ? a : s;
|
|
172
|
+
return /* @__PURE__ */ d("div", {
|
|
173
|
+
className: e("flex items-start gap-2 rounded-lg px-3 py-2 text-sm", t === "success" ? _.success : t === "danger" ? _.danger : "bg-bg-sunken text-text-secondary"),
|
|
169
174
|
children: [
|
|
170
|
-
/* @__PURE__ */
|
|
171
|
-
/* @__PURE__ */
|
|
175
|
+
/* @__PURE__ */ u(f, { className: "mt-0.5 h-4 w-4 shrink-0" }),
|
|
176
|
+
/* @__PURE__ */ u("div", {
|
|
172
177
|
className: "flex-1",
|
|
173
|
-
children:
|
|
178
|
+
children: n
|
|
174
179
|
}),
|
|
175
|
-
|
|
180
|
+
i ? /* @__PURE__ */ u("button", {
|
|
176
181
|
type: "button",
|
|
177
|
-
onClick:
|
|
182
|
+
onClick: i,
|
|
178
183
|
className: "opacity-70 hover:opacity-100",
|
|
179
|
-
"aria-label": "Dismiss",
|
|
180
|
-
children: /* @__PURE__ */
|
|
184
|
+
"aria-label": c("psw.common.dismiss", "Dismiss"),
|
|
185
|
+
children: /* @__PURE__ */ u(l, { className: "h-4 w-4" })
|
|
181
186
|
}) : null
|
|
182
187
|
]
|
|
183
188
|
});
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
189
|
+
}, A = ({ open: t, onClose: n, title: a, children: o, footer: s, wide: c }) => {
|
|
190
|
+
let f = r();
|
|
191
|
+
return i(() => {
|
|
192
|
+
if (!t) return;
|
|
193
|
+
let e = (e) => {
|
|
194
|
+
e.key === "Escape" && n();
|
|
195
|
+
};
|
|
196
|
+
return document.addEventListener("keydown", e), document.body.style.overflow = "hidden", () => {
|
|
197
|
+
document.removeEventListener("keydown", e), document.body.style.overflow = "";
|
|
198
|
+
};
|
|
199
|
+
}, [t, n]), t ? /* @__PURE__ */ d("div", {
|
|
200
|
+
className: "fixed inset-0 z-50 flex items-end justify-center sm:items-center",
|
|
201
|
+
role: "dialog",
|
|
202
|
+
"aria-modal": "true",
|
|
203
|
+
"aria-label": a,
|
|
204
|
+
children: [/* @__PURE__ */ u("div", {
|
|
205
|
+
className: "absolute inset-0 bg-black/50 backdrop-blur-sm",
|
|
206
|
+
onClick: n
|
|
207
|
+
}), /* @__PURE__ */ d("div", {
|
|
208
|
+
className: e("relative flex max-h-[92vh] w-full flex-col overflow-hidden rounded-t-2xl border border-border-seam bg-bg-surface shadow-xl sm:max-h-[88vh] sm:rounded-2xl", c ? "sm:max-w-3xl" : "sm:max-w-lg"),
|
|
209
|
+
children: [
|
|
210
|
+
/* @__PURE__ */ d("header", {
|
|
211
|
+
className: "flex items-center justify-between border-b border-border-seam px-4 py-3",
|
|
212
|
+
children: [/* @__PURE__ */ u("h2", {
|
|
213
|
+
className: "text-base font-semibold text-text-primary",
|
|
214
|
+
children: a
|
|
215
|
+
}), /* @__PURE__ */ u("button", {
|
|
216
|
+
type: "button",
|
|
217
|
+
onClick: n,
|
|
218
|
+
className: "rounded-lg p-1 text-text-tertiary hover:bg-bg-sunken hover:text-text-primary",
|
|
219
|
+
"aria-label": f("psw.common.close", "Close"),
|
|
220
|
+
children: /* @__PURE__ */ u(l, { className: "h-5 w-5" })
|
|
221
|
+
})]
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ u("div", {
|
|
224
|
+
className: "flex-1 overflow-y-auto px-4 py-4",
|
|
225
|
+
children: o
|
|
226
|
+
}),
|
|
227
|
+
s ? /* @__PURE__ */ u("footer", {
|
|
228
|
+
className: "flex items-center justify-end gap-2 border-t border-border-seam px-4 py-3",
|
|
229
|
+
children: s
|
|
230
|
+
}) : null
|
|
231
|
+
]
|
|
232
|
+
})]
|
|
233
|
+
}) : null;
|
|
234
|
+
}, j = ({ label: e }) => {
|
|
235
|
+
let t = r();
|
|
236
|
+
return /* @__PURE__ */ d("div", {
|
|
237
|
+
className: "flex min-h-[220px] flex-col items-center justify-center gap-3 text-text-tertiary",
|
|
238
|
+
children: [/* @__PURE__ */ u(c, { className: "h-7 w-7 animate-spin text-accent" }), /* @__PURE__ */ u("span", {
|
|
239
|
+
className: "text-sm",
|
|
240
|
+
children: e ?? t("psw.common.loading", "Loading…")
|
|
241
|
+
})]
|
|
242
|
+
});
|
|
243
|
+
}, M = ({ error: e, onRetry: t }) => {
|
|
244
|
+
let n = r();
|
|
245
|
+
return /* @__PURE__ */ d("div", {
|
|
246
|
+
className: "flex min-h-[220px] flex-col items-center justify-center gap-3 text-center",
|
|
202
247
|
children: [
|
|
203
|
-
/* @__PURE__ */
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
children: i
|
|
208
|
-
}), /* @__PURE__ */ s("button", {
|
|
209
|
-
type: "button",
|
|
210
|
-
onClick: r,
|
|
211
|
-
className: "rounded-lg p-1 text-text-tertiary hover:bg-bg-sunken hover:text-text-primary",
|
|
212
|
-
"aria-label": "Close",
|
|
213
|
-
children: /* @__PURE__ */ s(o, { className: "h-5 w-5" })
|
|
214
|
-
})]
|
|
215
|
-
}),
|
|
216
|
-
/* @__PURE__ */ s("div", {
|
|
217
|
-
className: "flex-1 overflow-y-auto px-4 py-4",
|
|
218
|
-
children: a
|
|
248
|
+
/* @__PURE__ */ u(a, { className: "h-8 w-8 text-status-error-text" }),
|
|
249
|
+
/* @__PURE__ */ u("p", {
|
|
250
|
+
className: "max-w-md text-sm text-text-secondary",
|
|
251
|
+
children: e instanceof Error ? e.message : n("psw.common.error", "Something went wrong.")
|
|
219
252
|
}),
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
253
|
+
t ? /* @__PURE__ */ u(f, {
|
|
254
|
+
variant: "outline",
|
|
255
|
+
size: "sm",
|
|
256
|
+
onClick: t,
|
|
257
|
+
children: n("psw.common.tryAgain", "Try again")
|
|
223
258
|
}) : null
|
|
224
259
|
]
|
|
225
|
-
})
|
|
226
|
-
}
|
|
227
|
-
className: "flex min-h-[220px] flex-col items-center justify-center gap-3 text-text-tertiary",
|
|
228
|
-
children: [/* @__PURE__ */ s(a, { className: "h-7 w-7 animate-spin text-accent" }), /* @__PURE__ */ s("span", {
|
|
229
|
-
className: "text-sm",
|
|
230
|
-
children: e
|
|
231
|
-
})]
|
|
232
|
-
}), A = ({ error: e, onRetry: t }) => /* @__PURE__ */ c("div", {
|
|
233
|
-
className: "flex min-h-[220px] flex-col items-center justify-center gap-3 text-center",
|
|
234
|
-
children: [
|
|
235
|
-
/* @__PURE__ */ s(n, { className: "h-8 w-8 text-status-error-text" }),
|
|
236
|
-
/* @__PURE__ */ s("p", {
|
|
237
|
-
className: "max-w-md text-sm text-text-secondary",
|
|
238
|
-
children: e instanceof Error ? e.message : "Something went wrong."
|
|
239
|
-
}),
|
|
240
|
-
t ? /* @__PURE__ */ s(l, {
|
|
241
|
-
variant: "outline",
|
|
242
|
-
size: "sm",
|
|
243
|
-
onClick: t,
|
|
244
|
-
children: "Try again"
|
|
245
|
-
}) : null
|
|
246
|
-
]
|
|
247
|
-
}), j = ({ title: e, description: t, icon: n, action: r }) => /* @__PURE__ */ c("div", {
|
|
260
|
+
});
|
|
261
|
+
}, N = ({ title: e, description: t, icon: n, action: r }) => /* @__PURE__ */ d("div", {
|
|
248
262
|
className: "flex min-h-[240px] flex-col items-center justify-center gap-4 rounded-2xl border border-dashed border-border-seam bg-bg-surface/50 px-6 py-12 text-center",
|
|
249
263
|
children: [
|
|
250
|
-
n ? /* @__PURE__ */
|
|
264
|
+
n ? /* @__PURE__ */ u("div", {
|
|
251
265
|
className: "flex h-14 w-14 items-center justify-center rounded-2xl bg-bg-sunken text-text-tertiary",
|
|
252
266
|
children: n
|
|
253
267
|
}) : null,
|
|
254
|
-
/* @__PURE__ */
|
|
268
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
255
269
|
className: "text-sm font-medium text-text-primary",
|
|
256
270
|
children: e
|
|
257
|
-
}), t ? /* @__PURE__ */
|
|
271
|
+
}), t ? /* @__PURE__ */ u("p", {
|
|
258
272
|
className: "mt-1 max-w-sm text-sm text-text-tertiary",
|
|
259
273
|
children: t
|
|
260
274
|
}) : null] }),
|
|
261
275
|
r
|
|
262
276
|
]
|
|
263
|
-
}),
|
|
277
|
+
}), P = ({ children: e }) => /* @__PURE__ */ u("div", {
|
|
264
278
|
className: "overflow-x-auto rounded-xl border border-border-seam",
|
|
265
|
-
children: /* @__PURE__ */
|
|
266
|
-
className: "w-full min-w-[560px] text-
|
|
279
|
+
children: /* @__PURE__ */ u("table", {
|
|
280
|
+
className: "w-full min-w-[560px] text-start text-sm",
|
|
267
281
|
children: e
|
|
268
282
|
})
|
|
269
|
-
}),
|
|
283
|
+
}), F = ({ children: t, className: n }) => /* @__PURE__ */ u("th", {
|
|
270
284
|
className: e("bg-bg-sunken px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-text-tertiary", n),
|
|
271
285
|
children: t
|
|
272
|
-
}),
|
|
286
|
+
}), I = ({ children: t, className: n }) => /* @__PURE__ */ u("td", {
|
|
273
287
|
className: e("border-t border-border-seam px-4 py-3 text-text-secondary", n),
|
|
274
288
|
children: t
|
|
275
289
|
});
|
|
276
290
|
//#endregion
|
|
277
|
-
export {
|
|
291
|
+
export { k as Banner, N as Empty, M as ErrorState, w as Field, j as LoadingBlock, x as MetricCard, A as Modal, D as NativeSelect, b as PageHeader, S as SectionCard, y as StatusPill, P as TableWrap, I as Td, E as TextArea, T as TextInput, F as Th, O as enumOptions, p as fmtDate, h as fmtHours, g as fmtMinutesAsHours, m as fmtMoney, t as humanize };
|
|
278
292
|
|
|
279
293
|
//# sourceMappingURL=ui.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","names":[],"sources":["../../../src/proserviceworld/components/ui.tsx"],"sourcesContent":["/**\n * ProServiceWorld shared UI kit.\n *\n * Self-contained, token-driven primitives (no raw colors) shared by every page:\n * page header, metric cards, section cards, a mobile-friendly modal, token-styled\n * native form controls, status pills, inline banners, and empty/loading/error\n * states. Actions reuse the fe-libs Button (brand variants); everything else is\n * built from semantic tokens so theming works across light/dark/any theme.\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { AlertCircle, CheckCircle2, Info, Loader2, X } from 'lucide-react';\nimport { cn } from '../utils/cn';\n\n// ---------------------------------------------------------------------------\n// Formatters\n// ---------------------------------------------------------------------------\nexport const humanize = (v: string | null | undefined): string =>\n (v ?? '')\n .toLowerCase()\n .replace(/_/g, ' ')\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n\nexport const fmtDate = (iso: string | null | undefined): string => {\n if (!iso) return '—';\n const d = new Date(iso);\n return Number.isNaN(d.getTime())\n ? '—'\n : d.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' });\n};\n\nexport const fmtMoney = (amount: number | null | undefined, currency = 'USD'): string => {\n const n = amount ?? 0;\n try {\n return new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(n);\n } catch {\n return `${currency} ${n.toLocaleString()}`;\n }\n};\n\nexport const fmtHours = (h: number | null | undefined): string =>\n `${(h ?? 0).toLocaleString(undefined, { maximumFractionDigits: 1 })}h`;\nexport const fmtMinutesAsHours = (m: number | null | undefined): string => fmtHours((m ?? 0) / 60);\n\n// ---------------------------------------------------------------------------\n// Status tone mapping\n// ---------------------------------------------------------------------------\nexport type Tone = 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'accent';\n\nconst TONE_CLASS: Record<Tone, string> = {\n neutral: 'bg-bg-sunken text-text-secondary',\n success: 'bg-status-success-bg-subtle text-status-success-text',\n warning: 'bg-status-warning-bg-subtle text-status-warning-text',\n danger: 'bg-status-error-bg-subtle text-status-error-text',\n info: 'bg-bg-sunken text-text-link',\n accent: 'bg-bg-sunken text-accent',\n};\n\nconst STATUS_TONE: Record<string, Tone> = {\n // clients / generic\n ACTIVE: 'success',\n PROSPECT: 'info',\n INACTIVE: 'neutral',\n ARCHIVED: 'neutral',\n // engagements\n PROPOSAL: 'info',\n ACCEPTED: 'accent',\n IN_PROGRESS: 'accent',\n REVIEW: 'warning',\n DELIVERED: 'success',\n INVOICED: 'success',\n CLOSED: 'neutral',\n CANCELLED: 'danger',\n // matters\n OPEN: 'accent',\n ON_HOLD: 'warning',\n // priority\n LOW: 'neutral',\n MEDIUM: 'info',\n HIGH: 'warning',\n CRITICAL: 'danger',\n // deliverable / doc\n DRAFT: 'neutral',\n INTERNAL_REVIEW: 'info',\n CLIENT_REVIEW: 'warning',\n REJECTED: 'danger',\n FINAL: 'success',\n // time\n SUBMITTED: 'info',\n APPROVED: 'success',\n BILLED: 'accent',\n // invoice\n SENT: 'info',\n PAID: 'success',\n OVERDUE: 'danger',\n // compliance / conflict\n PENDING: 'warning',\n IN_REVIEW: 'info',\n PASSED: 'success',\n FAILED: 'danger',\n WAIVED: 'neutral',\n CLEAR: 'success',\n POTENTIAL_CONFLICT: 'warning',\n CONFLICT: 'danger',\n // milestone\n COMPLETED: 'success',\n // e-signatures (BOFF-4212)\n VIEWED: 'info',\n PARTIALLY_SIGNED: 'accent',\n SIGNED: 'success',\n DECLINED: 'danger',\n EXPIRED: 'neutral',\n // client portal (BOFF-4283)\n REVOKED: 'neutral',\n};\n\nexport const StatusPill: FC<{ status: string; className?: string }> = ({ status, className }) => (\n <span\n className={cn(\n 'inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium whitespace-nowrap',\n TONE_CLASS[STATUS_TONE[status] ?? 'neutral'],\n className\n )}\n >\n <span className=\"h-1.5 w-1.5 rounded-full bg-current opacity-70\" />\n {humanize(status)}\n </span>\n);\n\n// ---------------------------------------------------------------------------\n// Page header\n// ---------------------------------------------------------------------------\nexport const PageHeader: FC<{\n title: string;\n subtitle?: string;\n actions?: ReactNode;\n icon?: ReactNode;\n}> = ({ title, subtitle, actions, icon }) => (\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\">\n <div className=\"flex items-start gap-3.5\">\n {icon ? (\n <div className=\"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-bg-sunken text-accent\">\n {icon}\n </div>\n ) : null}\n <div>\n <h1 className=\"text-2xl font-bold tracking-tight text-text-primary sm:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"mt-1.5 max-w-2xl text-sm leading-relaxed text-text-secondary\">{subtitle}</p>\n ) : null}\n </div>\n </div>\n {actions ? <div className=\"flex flex-wrap items-center gap-2\">{actions}</div> : null}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Metric card\n// ---------------------------------------------------------------------------\nexport const MetricCard: FC<{\n label: string;\n value: ReactNode;\n hint?: string;\n icon?: ReactNode;\n tone?: Tone;\n}> = ({ label, value, hint, icon, tone = 'neutral' }) => (\n <div className=\"vc-lift-on-hover rounded-2xl border border-border-seam bg-bg-surface p-5 shadow-sm\">\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"text-xs font-medium uppercase tracking-wider text-text-tertiary\">\n {label}\n </span>\n {icon ? (\n <span\n className={cn('flex h-9 w-9 items-center justify-center rounded-full', TONE_CLASS[tone])}\n >\n {icon}\n </span>\n ) : null}\n </div>\n <div className=\"mt-3 text-2xl font-semibold tracking-tight text-text-primary sm:text-3xl\">\n {value}\n </div>\n {hint ? <div className=\"mt-1 text-xs text-text-tertiary\">{hint}</div> : null}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Section card\n// ---------------------------------------------------------------------------\nexport const SectionCard: FC<{\n title?: string;\n description?: string;\n action?: ReactNode;\n children: ReactNode;\n className?: string;\n}> = ({ title, description, action, children, className }) => (\n <section\n className={cn('rounded-2xl border border-border-seam bg-bg-surface shadow-sm', className)}\n >\n {(title || action) && (\n <header className=\"flex items-center justify-between gap-3 border-b border-border-seam px-5 py-3.5\">\n <div>\n {title ? <h2 className=\"text-sm font-semibold text-text-primary\">{title}</h2> : null}\n {description ? <p className=\"mt-0.5 text-xs text-text-tertiary\">{description}</p> : null}\n </div>\n {action}\n </header>\n )}\n <div className=\"p-5\">{children}</div>\n </section>\n);\n\n// ---------------------------------------------------------------------------\n// Form controls (token-styled native elements — reliable inside modals)\n// ---------------------------------------------------------------------------\nconst controlClass =\n 'w-full rounded-lg border border-border-seam bg-bg-canvas px-3 py-2 text-sm text-text-primary placeholder:text-text-tertiary focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/30 disabled:opacity-50';\n\nexport const Field: FC<{\n label: string;\n required?: boolean;\n hint?: string;\n children: ReactNode;\n className?: string;\n}> = ({ label, required, hint, children, className }) => (\n <label className={cn('block', className)}>\n <span className=\"mb-1 block text-xs font-medium text-text-secondary\">\n {label}\n {required ? <span className=\"text-status-error-text\"> *</span> : null}\n </span>\n {children}\n {hint ? <span className=\"mt-1 block text-xs text-text-tertiary\">{hint}</span> : null}\n </label>\n);\n\nexport const TextInput: FC<React.InputHTMLAttributes<HTMLInputElement>> = ({\n className,\n ...props\n}) => <input className={cn(controlClass, className)} {...props} />;\nexport const TextArea: FC<React.TextareaHTMLAttributes<HTMLTextAreaElement>> = ({\n className,\n ...props\n}) => <textarea className={cn(controlClass, 'min-h-[80px] resize-y', className)} {...props} />;\nexport const NativeSelect: FC<React.SelectHTMLAttributes<HTMLSelectElement>> = ({\n className,\n children,\n ...props\n}) => (\n <select className={cn(controlClass, 'appearance-none pr-8', className)} {...props}>\n {children}\n </select>\n);\n\n/** Turn an enum-value list into <option>s with humanized labels. */\nexport const enumOptions = (values: readonly string[]): ReactNode =>\n values.map((v) => (\n <option key={v} value={v}>\n {humanize(v)}\n </option>\n ));\n\n// ---------------------------------------------------------------------------\n// Inline banner\n// ---------------------------------------------------------------------------\nexport const Banner: FC<{\n tone?: 'success' | 'danger' | 'info';\n children: ReactNode;\n onClose?: () => void;\n}> = ({ tone = 'info', children, onClose }) => {\n const Icon = tone === 'success' ? CheckCircle2 : tone === 'danger' ? AlertCircle : Info;\n const toneClass =\n tone === 'success'\n ? TONE_CLASS.success\n : tone === 'danger'\n ? TONE_CLASS.danger\n : 'bg-bg-sunken text-text-secondary';\n return (\n <div className={cn('flex items-start gap-2 rounded-lg px-3 py-2 text-sm', toneClass)}>\n <Icon className=\"mt-0.5 h-4 w-4 shrink-0\" />\n <div className=\"flex-1\">{children}</div>\n {onClose ? (\n <button\n type=\"button\"\n onClick={onClose}\n className=\"opacity-70 hover:opacity-100\"\n aria-label=\"Dismiss\"\n >\n <X className=\"h-4 w-4\" />\n </button>\n ) : null}\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Modal (centered on desktop, full-height sheet on mobile)\n// ---------------------------------------------------------------------------\nexport const Modal: FC<{\n open: boolean;\n onClose: () => void;\n title: string;\n children: ReactNode;\n footer?: ReactNode;\n wide?: boolean;\n}> = ({ open, onClose, title, children, footer, wide }) => {\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n document.addEventListener('keydown', onKey);\n document.body.style.overflow = 'hidden';\n return () => {\n document.removeEventListener('keydown', onKey);\n document.body.style.overflow = '';\n };\n }, [open, onClose]);\n\n if (!open) return null;\n return (\n <div\n className=\"fixed inset-0 z-50 flex items-end justify-center sm:items-center\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n >\n <div className=\"absolute inset-0 bg-black/50 backdrop-blur-sm\" onClick={onClose} />\n <div\n className={cn(\n 'relative flex max-h-[92vh] w-full flex-col overflow-hidden rounded-t-2xl border border-border-seam bg-bg-surface shadow-xl sm:max-h-[88vh] sm:rounded-2xl',\n wide ? 'sm:max-w-3xl' : 'sm:max-w-lg'\n )}\n >\n <header className=\"flex items-center justify-between border-b border-border-seam px-4 py-3\">\n <h2 className=\"text-base font-semibold text-text-primary\">{title}</h2>\n <button\n type=\"button\"\n onClick={onClose}\n className=\"rounded-lg p-1 text-text-tertiary hover:bg-bg-sunken hover:text-text-primary\"\n aria-label=\"Close\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </header>\n <div className=\"flex-1 overflow-y-auto px-4 py-4\">{children}</div>\n {footer ? (\n <footer className=\"flex items-center justify-end gap-2 border-t border-border-seam px-4 py-3\">\n {footer}\n </footer>\n ) : null}\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// States\n// ---------------------------------------------------------------------------\nexport const LoadingBlock: FC<{ label?: string }> = ({ label = 'Loading…' }) => (\n <div className=\"flex min-h-[220px] flex-col items-center justify-center gap-3 text-text-tertiary\">\n <Loader2 className=\"h-7 w-7 animate-spin text-accent\" />\n <span className=\"text-sm\">{label}</span>\n </div>\n);\n\nexport const ErrorState: FC<{ error: unknown; onRetry?: () => void }> = ({ error, onRetry }) => (\n <div className=\"flex min-h-[220px] flex-col items-center justify-center gap-3 text-center\">\n <AlertCircle className=\"h-8 w-8 text-status-error-text\" />\n <p className=\"max-w-md text-sm text-text-secondary\">\n {error instanceof Error ? error.message : 'Something went wrong.'}\n </p>\n {onRetry ? (\n <Button variant=\"outline\" size=\"sm\" onClick={onRetry}>\n Try again\n </Button>\n ) : null}\n </div>\n);\n\nexport const Empty: FC<{\n title: string;\n description?: string;\n icon?: ReactNode;\n action?: ReactNode;\n}> = ({ title, description, icon, action }) => (\n <div className=\"flex min-h-[240px] flex-col items-center justify-center gap-4 rounded-2xl border border-dashed border-border-seam bg-bg-surface/50 px-6 py-12 text-center\">\n {icon ? (\n <div className=\"flex h-14 w-14 items-center justify-center rounded-2xl bg-bg-sunken text-text-tertiary\">\n {icon}\n </div>\n ) : null}\n <div>\n <p className=\"text-sm font-medium text-text-primary\">{title}</p>\n {description ? (\n <p className=\"mt-1 max-w-sm text-sm text-text-tertiary\">{description}</p>\n ) : null}\n </div>\n {action}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Simple responsive table wrapper (scrolls horizontally on small screens)\n// ---------------------------------------------------------------------------\nexport const TableWrap: FC<{ children: ReactNode }> = ({ children }) => (\n <div className=\"overflow-x-auto rounded-xl border border-border-seam\">\n <table className=\"w-full min-w-[560px] text-left text-sm\">{children}</table>\n </div>\n);\nexport const Th: FC<{ children?: ReactNode; className?: string }> = ({ children, className }) => (\n <th\n className={cn(\n 'bg-bg-sunken px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-text-tertiary',\n className\n )}\n >\n {children}\n </th>\n);\nexport const Td: FC<{ children?: ReactNode; className?: string }> = ({ children, className }) => (\n <td className={cn('border-t border-border-seam px-4 py-3 text-text-secondary', className)}>\n {children}\n </td>\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","names":[],"sources":["../../../src/proserviceworld/components/ui.tsx"],"sourcesContent":["/**\n * ProServiceWorld shared UI kit.\n *\n * Self-contained, token-driven primitives (no raw colors) shared by every page:\n * page header, metric cards, section cards, a mobile-friendly modal, token-styled\n * native form controls, status pills, inline banners, and empty/loading/error\n * states. Actions reuse the fe-libs Button (brand variants); everything else is\n * built from semantic tokens so theming works across light/dark/any theme.\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { AlertCircle, CheckCircle2, Info, Loader2, X } from 'lucide-react';\nimport { cn } from '../utils/cn';\nimport { humanize } from '../utils/humanize';\nimport { useEnumLabel, useTr } from '../hooks/useTr';\n\nexport { humanize };\n\n// ---------------------------------------------------------------------------\n// Formatters\n// ---------------------------------------------------------------------------\nexport const fmtDate = (iso: string | null | undefined): string => {\n if (!iso) return '—';\n const d = new Date(iso);\n return Number.isNaN(d.getTime())\n ? '—'\n : d.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' });\n};\n\nexport const fmtMoney = (amount: number | null | undefined, currency = 'USD'): string => {\n const n = amount ?? 0;\n try {\n return new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(n);\n } catch {\n return `${currency} ${n.toLocaleString()}`;\n }\n};\n\nexport const fmtHours = (h: number | null | undefined): string =>\n `${(h ?? 0).toLocaleString(undefined, { maximumFractionDigits: 1 })}h`;\nexport const fmtMinutesAsHours = (m: number | null | undefined): string => fmtHours((m ?? 0) / 60);\n\n// ---------------------------------------------------------------------------\n// Status tone mapping\n// ---------------------------------------------------------------------------\nexport type Tone = 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'accent';\n\nconst TONE_CLASS: Record<Tone, string> = {\n neutral: 'bg-bg-sunken text-text-secondary',\n success: 'bg-status-success-bg-subtle text-status-success-text',\n warning: 'bg-status-warning-bg-subtle text-status-warning-text',\n danger: 'bg-status-error-bg-subtle text-status-error-text',\n info: 'bg-bg-sunken text-text-link',\n accent: 'bg-bg-sunken text-accent',\n};\n\nconst STATUS_TONE: Record<string, Tone> = {\n // clients / generic\n ACTIVE: 'success',\n PROSPECT: 'info',\n INACTIVE: 'neutral',\n ARCHIVED: 'neutral',\n // engagements\n PROPOSAL: 'info',\n ACCEPTED: 'accent',\n IN_PROGRESS: 'accent',\n REVIEW: 'warning',\n DELIVERED: 'success',\n INVOICED: 'success',\n CLOSED: 'neutral',\n CANCELLED: 'danger',\n // matters\n OPEN: 'accent',\n ON_HOLD: 'warning',\n // priority\n LOW: 'neutral',\n MEDIUM: 'info',\n HIGH: 'warning',\n CRITICAL: 'danger',\n // deliverable / doc\n DRAFT: 'neutral',\n INTERNAL_REVIEW: 'info',\n CLIENT_REVIEW: 'warning',\n REJECTED: 'danger',\n FINAL: 'success',\n // time\n SUBMITTED: 'info',\n APPROVED: 'success',\n BILLED: 'accent',\n // invoice\n SENT: 'info',\n PAID: 'success',\n OVERDUE: 'danger',\n // compliance / conflict\n PENDING: 'warning',\n IN_REVIEW: 'info',\n PASSED: 'success',\n FAILED: 'danger',\n WAIVED: 'neutral',\n CLEAR: 'success',\n POTENTIAL_CONFLICT: 'warning',\n CONFLICT: 'danger',\n // milestone\n COMPLETED: 'success',\n // e-signatures (BOFF-4212)\n VIEWED: 'info',\n PARTIALLY_SIGNED: 'accent',\n SIGNED: 'success',\n DECLINED: 'danger',\n EXPIRED: 'neutral',\n // client portal (BOFF-4283)\n REVOKED: 'neutral',\n};\n\nexport const StatusPill: FC<{ status: string; className?: string }> = ({ status, className }) => {\n const enumLabel = useEnumLabel();\n return (\n <span\n className={cn(\n 'inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium whitespace-nowrap',\n TONE_CLASS[STATUS_TONE[status] ?? 'neutral'],\n className\n )}\n >\n <span className=\"h-1.5 w-1.5 rounded-full bg-current opacity-70\" />\n {enumLabel(status)}\n </span>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Page header\n// ---------------------------------------------------------------------------\nexport const PageHeader: FC<{\n title: string;\n subtitle?: string;\n actions?: ReactNode;\n icon?: ReactNode;\n}> = ({ title, subtitle, actions, icon }) => (\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\">\n <div className=\"flex items-start gap-3.5\">\n {icon ? (\n <div className=\"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-bg-sunken text-accent\">\n {icon}\n </div>\n ) : null}\n <div>\n <h1 className=\"text-2xl font-bold tracking-tight text-text-primary sm:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"mt-1.5 max-w-2xl text-sm leading-relaxed text-text-secondary\">{subtitle}</p>\n ) : null}\n </div>\n </div>\n {actions ? <div className=\"flex flex-wrap items-center gap-2\">{actions}</div> : null}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Metric card\n// ---------------------------------------------------------------------------\nexport const MetricCard: FC<{\n label: string;\n value: ReactNode;\n hint?: string;\n icon?: ReactNode;\n tone?: Tone;\n}> = ({ label, value, hint, icon, tone = 'neutral' }) => (\n <div className=\"vc-lift-on-hover rounded-2xl border border-border-seam bg-bg-surface p-5 shadow-sm\">\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"text-xs font-medium uppercase tracking-wider text-text-tertiary\">\n {label}\n </span>\n {icon ? (\n <span\n className={cn('flex h-9 w-9 items-center justify-center rounded-full', TONE_CLASS[tone])}\n >\n {icon}\n </span>\n ) : null}\n </div>\n <div className=\"mt-3 text-2xl font-semibold tracking-tight text-text-primary sm:text-3xl\">\n {value}\n </div>\n {hint ? <div className=\"mt-1 text-xs text-text-tertiary\">{hint}</div> : null}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Section card\n// ---------------------------------------------------------------------------\nexport const SectionCard: FC<{\n title?: string;\n description?: string;\n action?: ReactNode;\n children: ReactNode;\n className?: string;\n}> = ({ title, description, action, children, className }) => (\n <section\n className={cn('rounded-2xl border border-border-seam bg-bg-surface shadow-sm', className)}\n >\n {(title || action) && (\n <header className=\"flex items-center justify-between gap-3 border-b border-border-seam px-5 py-3.5\">\n <div>\n {title ? <h2 className=\"text-sm font-semibold text-text-primary\">{title}</h2> : null}\n {description ? <p className=\"mt-0.5 text-xs text-text-tertiary\">{description}</p> : null}\n </div>\n {action}\n </header>\n )}\n <div className=\"p-5\">{children}</div>\n </section>\n);\n\n// ---------------------------------------------------------------------------\n// Form controls (token-styled native elements — reliable inside modals)\n// ---------------------------------------------------------------------------\nconst controlClass =\n 'w-full rounded-lg border border-border-seam bg-bg-canvas px-3 py-2 text-sm text-text-primary placeholder:text-text-tertiary focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/30 disabled:opacity-50';\n\nexport const Field: FC<{\n label: string;\n required?: boolean;\n hint?: string;\n children: ReactNode;\n className?: string;\n}> = ({ label, required, hint, children, className }) => (\n <label className={cn('block', className)}>\n <span className=\"mb-1 block text-xs font-medium text-text-secondary\">\n {label}\n {required ? <span className=\"text-status-error-text\"> *</span> : null}\n </span>\n {children}\n {hint ? <span className=\"mt-1 block text-xs text-text-tertiary\">{hint}</span> : null}\n </label>\n);\n\nexport const TextInput: FC<React.InputHTMLAttributes<HTMLInputElement>> = ({\n className,\n ...props\n}) => <input className={cn(controlClass, className)} {...props} />;\nexport const TextArea: FC<React.TextareaHTMLAttributes<HTMLTextAreaElement>> = ({\n className,\n ...props\n}) => <textarea className={cn(controlClass, 'min-h-[80px] resize-y', className)} {...props} />;\nexport const NativeSelect: FC<React.SelectHTMLAttributes<HTMLSelectElement>> = ({\n className,\n children,\n ...props\n}) => (\n <select className={cn(controlClass, 'appearance-none pe-8', className)} {...props}>\n {children}\n </select>\n);\n\n/**\n * Turn an enum-value list into <option>s. Pass the `useEnumLabel()` function\n * to localize the labels; without it they are humanized English.\n */\nexport const enumOptions = (\n values: readonly string[],\n label: (value: string) => string = humanize\n): ReactNode =>\n values.map((v) => (\n <option key={v} value={v}>\n {label(v)}\n </option>\n ));\n\n// ---------------------------------------------------------------------------\n// Inline banner\n// ---------------------------------------------------------------------------\nexport const Banner: FC<{\n tone?: 'success' | 'danger' | 'info';\n children: ReactNode;\n onClose?: () => void;\n}> = ({ tone = 'info', children, onClose }) => {\n const tr = useTr();\n const Icon = tone === 'success' ? CheckCircle2 : tone === 'danger' ? AlertCircle : Info;\n const toneClass =\n tone === 'success'\n ? TONE_CLASS.success\n : tone === 'danger'\n ? TONE_CLASS.danger\n : 'bg-bg-sunken text-text-secondary';\n return (\n <div className={cn('flex items-start gap-2 rounded-lg px-3 py-2 text-sm', toneClass)}>\n <Icon className=\"mt-0.5 h-4 w-4 shrink-0\" />\n <div className=\"flex-1\">{children}</div>\n {onClose ? (\n <button\n type=\"button\"\n onClick={onClose}\n className=\"opacity-70 hover:opacity-100\"\n aria-label={tr('psw.common.dismiss', 'Dismiss')}\n >\n <X className=\"h-4 w-4\" />\n </button>\n ) : null}\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Modal (centered on desktop, full-height sheet on mobile)\n// ---------------------------------------------------------------------------\nexport const Modal: FC<{\n open: boolean;\n onClose: () => void;\n title: string;\n children: ReactNode;\n footer?: ReactNode;\n wide?: boolean;\n}> = ({ open, onClose, title, children, footer, wide }) => {\n const tr = useTr();\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n document.addEventListener('keydown', onKey);\n document.body.style.overflow = 'hidden';\n return () => {\n document.removeEventListener('keydown', onKey);\n document.body.style.overflow = '';\n };\n }, [open, onClose]);\n\n if (!open) return null;\n return (\n <div\n className=\"fixed inset-0 z-50 flex items-end justify-center sm:items-center\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n >\n <div className=\"absolute inset-0 bg-black/50 backdrop-blur-sm\" onClick={onClose} />\n <div\n className={cn(\n 'relative flex max-h-[92vh] w-full flex-col overflow-hidden rounded-t-2xl border border-border-seam bg-bg-surface shadow-xl sm:max-h-[88vh] sm:rounded-2xl',\n wide ? 'sm:max-w-3xl' : 'sm:max-w-lg'\n )}\n >\n <header className=\"flex items-center justify-between border-b border-border-seam px-4 py-3\">\n <h2 className=\"text-base font-semibold text-text-primary\">{title}</h2>\n <button\n type=\"button\"\n onClick={onClose}\n className=\"rounded-lg p-1 text-text-tertiary hover:bg-bg-sunken hover:text-text-primary\"\n aria-label={tr('psw.common.close', 'Close')}\n >\n <X className=\"h-5 w-5\" />\n </button>\n </header>\n <div className=\"flex-1 overflow-y-auto px-4 py-4\">{children}</div>\n {footer ? (\n <footer className=\"flex items-center justify-end gap-2 border-t border-border-seam px-4 py-3\">\n {footer}\n </footer>\n ) : null}\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// States\n// ---------------------------------------------------------------------------\nexport const LoadingBlock: FC<{ label?: string }> = ({ label }) => {\n const tr = useTr();\n return (\n <div className=\"flex min-h-[220px] flex-col items-center justify-center gap-3 text-text-tertiary\">\n <Loader2 className=\"h-7 w-7 animate-spin text-accent\" />\n <span className=\"text-sm\">{label ?? tr('psw.common.loading', 'Loading…')}</span>\n </div>\n );\n};\n\nexport const ErrorState: FC<{ error: unknown; onRetry?: () => void }> = ({ error, onRetry }) => {\n const tr = useTr();\n return (\n <div className=\"flex min-h-[220px] flex-col items-center justify-center gap-3 text-center\">\n <AlertCircle className=\"h-8 w-8 text-status-error-text\" />\n <p className=\"max-w-md text-sm text-text-secondary\">\n {error instanceof Error ? error.message : tr('psw.common.error', 'Something went wrong.')}\n </p>\n {onRetry ? (\n <Button variant=\"outline\" size=\"sm\" onClick={onRetry}>\n {tr('psw.common.tryAgain', 'Try again')}\n </Button>\n ) : null}\n </div>\n );\n};\n\nexport const Empty: FC<{\n title: string;\n description?: string;\n icon?: ReactNode;\n action?: ReactNode;\n}> = ({ title, description, icon, action }) => (\n <div className=\"flex min-h-[240px] flex-col items-center justify-center gap-4 rounded-2xl border border-dashed border-border-seam bg-bg-surface/50 px-6 py-12 text-center\">\n {icon ? (\n <div className=\"flex h-14 w-14 items-center justify-center rounded-2xl bg-bg-sunken text-text-tertiary\">\n {icon}\n </div>\n ) : null}\n <div>\n <p className=\"text-sm font-medium text-text-primary\">{title}</p>\n {description ? (\n <p className=\"mt-1 max-w-sm text-sm text-text-tertiary\">{description}</p>\n ) : null}\n </div>\n {action}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Simple responsive table wrapper (scrolls horizontally on small screens)\n// ---------------------------------------------------------------------------\nexport const TableWrap: FC<{ children: ReactNode }> = ({ children }) => (\n <div className=\"overflow-x-auto rounded-xl border border-border-seam\">\n <table className=\"w-full min-w-[560px] text-start text-sm\">{children}</table>\n </div>\n);\nexport const Th: FC<{ children?: ReactNode; className?: string }> = ({ children, className }) => (\n <th\n className={cn(\n 'bg-bg-sunken px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-text-tertiary',\n className\n )}\n >\n {children}\n </th>\n);\nexport const Td: FC<{ children?: ReactNode; className?: string }> = ({ children, className }) => (\n <td className={cn('border-t border-border-seam px-4 py-3 text-text-secondary', className)}>\n {children}\n </td>\n);\n"],"mappings":";;;;;;;;AAuBA,IAAa,KAAW,MAA2C;CACjE,IAAI,CAAC,GAAK,OAAO;CACjB,IAAM,IAAI,IAAI,KAAK,CAAG;CACtB,OAAO,OAAO,MAAM,EAAE,QAAQ,CAAC,IAC3B,MACA,EAAE,mBAAmB,KAAA,GAAW;EAAE,MAAM;EAAW,OAAO;EAAS,KAAK;CAAU,CAAC;AACzF,GAEa,KAAY,GAAmC,IAAW,UAAkB;CACvF,IAAM,IAAI,KAAU;CACpB,IAAI;EACF,OAAO,IAAI,KAAK,aAAa,KAAA,GAAW;GACtC,OAAO;GACP;GACA,uBAAuB;EACzB,CAAC,CAAC,CAAC,OAAO,CAAC;CACb,QAAQ;EACN,OAAO,GAAG,EAAS,GAAG,EAAE,eAAe;CACzC;AACF,GAEa,KAAY,MACvB,IAAI,KAAK,EAAA,CAAG,eAAe,KAAA,GAAW,EAAE,uBAAuB,EAAE,CAAC,EAAE,IACzD,KAAqB,MAAyC,GAAU,KAAK,KAAK,EAAE,GAO3F,IAAmC;CACvC,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,QAAQ;AACV,GAEM,IAAoC;CAExC,QAAQ;CACR,UAAU;CACV,UAAU;CACV,UAAU;CAEV,UAAU;CACV,UAAU;CACV,aAAa;CACb,QAAQ;CACR,WAAW;CACX,UAAU;CACV,QAAQ;CACR,WAAW;CAEX,MAAM;CACN,SAAS;CAET,KAAK;CACL,QAAQ;CACR,MAAM;CACN,UAAU;CAEV,OAAO;CACP,iBAAiB;CACjB,eAAe;CACf,UAAU;CACV,OAAO;CAEP,WAAW;CACX,UAAU;CACV,QAAQ;CAER,MAAM;CACN,MAAM;CACN,SAAS;CAET,SAAS;CACT,WAAW;CACX,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,UAAU;CAEV,WAAW;CAEX,QAAQ;CACR,kBAAkB;CAClB,QAAQ;CACR,UAAU;CACV,SAAS;CAET,SAAS;AACX,GAEa,KAA0D,EAAE,WAAQ,mBAAgB;CAC/F,IAAM,IAAY,EAAa;CAC/B,OACE,kBAAC,QAAD;EACE,WAAW,EACT,qGACA,EAAW,EAAY,MAAW,YAClC,CACF;YALF,CAOE,kBAAC,QAAD,EAAM,WAAU,iDAAkD,CAAA,GACjE,EAAU,CAAM,CACb;;AAEV,GAKa,KAKP,EAAE,UAAO,aAAU,YAAS,cAChC,kBAAC,OAAD;CAAK,WAAU;WAAf,CACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,IACC,kBAAC,OAAD;GAAK,WAAU;aACZ;EACE,CAAA,IACH,MACJ,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GAAI,WAAU;aAAmE;EAAU,CAAA,GAC1F,IACC,kBAAC,KAAD;GAAG,WAAU;aAAgE;EAAY,CAAA,IACvF,IACD,EAAA,CAAA,CACF;KACJ,IAAU,kBAAC,OAAD;EAAK,WAAU;YAAqC;CAAa,CAAA,IAAI,IAC7E;IAMM,KAMP,EAAE,UAAO,UAAO,SAAM,SAAM,UAAO,gBACvC,kBAAC,OAAD;CAAK,WAAU;WAAf;EACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,QAAD;IAAM,WAAU;cACb;GACG,CAAA,GACL,IACC,kBAAC,QAAD;IACE,WAAW,EAAG,yDAAyD,EAAW,EAAK;cAEtF;GACG,CAAA,IACJ,IACD;;EACL,kBAAC,OAAD;GAAK,WAAU;aACZ;EACE,CAAA;EACJ,IAAO,kBAAC,OAAD;GAAK,WAAU;aAAmC;EAAU,CAAA,IAAI;CACrE;IAMM,KAMP,EAAE,UAAO,gBAAa,WAAQ,aAAU,mBAC5C,kBAAC,WAAD;CACE,WAAW,EAAG,iEAAiE,CAAS;WAD1F,EAGI,KAAS,MACT,kBAAC,UAAD;EAAQ,WAAU;YAAlB,CACE,kBAAC,OAAD,EAAA,UAAA,CACG,IAAQ,kBAAC,MAAD;GAAI,WAAU;aAA2C;EAAU,CAAA,IAAI,MAC/E,IAAc,kBAAC,KAAD;GAAG,WAAU;aAAqC;EAAe,CAAA,IAAI,IACjF,EAAA,CAAA,GACJ,CACK;KAEV,kBAAC,OAAD;EAAK,WAAU;EAAO;CAAc,CAAA,CAC7B;IAML,IACJ,4NAEW,KAMP,EAAE,UAAO,aAAU,SAAM,aAAU,mBACvC,kBAAC,SAAD;CAAO,WAAW,EAAG,SAAS,CAAS;WAAvC;EACE,kBAAC,QAAD;GAAM,WAAU;aAAhB,CACG,GACA,IAAW,kBAAC,QAAD;IAAM,WAAU;cAAyB;GAAQ,CAAA,IAAI,IAC7D;;EACL;EACA,IAAO,kBAAC,QAAD;GAAM,WAAU;aAAyC;EAAW,CAAA,IAAI;CAC3E;IAGI,KAA8D,EACzE,cACA,GAAG,QACC,kBAAC,SAAD;CAAO,WAAW,EAAG,GAAc,CAAS;CAAG,GAAI;AAAQ,CAAA,GACpD,KAAmE,EAC9E,cACA,GAAG,QACC,kBAAC,YAAD;CAAU,WAAW,EAAG,GAAc,yBAAyB,CAAS;CAAG,GAAI;AAAQ,CAAA,GAChF,KAAmE,EAC9E,cACA,aACA,GAAG,QAEH,kBAAC,UAAD;CAAQ,WAAW,EAAG,GAAc,wBAAwB,CAAS;CAAG,GAAI;CACzE;AACK,CAAA,GAOG,KACX,GACA,IAAmC,MAEnC,EAAO,KAAK,MACV,kBAAC,UAAD;CAAgB,OAAO;WACpB,EAAM,CAAC;AACF,GAFK,CAEL,CACT,GAKU,KAIP,EAAE,UAAO,QAAQ,aAAU,iBAAc;CAC7C,IAAM,IAAK,EAAM,GACX,IAAO,MAAS,YAAY,IAAe,MAAS,WAAW,IAAc;CAOnF,OACE,kBAAC,OAAD;EAAK,WAAW,EAAG,uDANnB,MAAS,YACL,EAAW,UACX,MAAS,WACP,EAAW,SACX,kCAE6E;YAAnF;GACE,kBAAC,GAAD,EAAM,WAAU,0BAA2B,CAAA;GAC3C,kBAAC,OAAD;IAAK,WAAU;IAAU;GAAc,CAAA;GACtC,IACC,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,WAAU;IACV,cAAY,EAAG,sBAAsB,SAAS;cAE9C,kBAAC,GAAD,EAAG,WAAU,UAAW,CAAA;GAClB,CAAA,IACN;EACD;;AAET,GAKa,KAOP,EAAE,SAAM,YAAS,UAAO,aAAU,WAAQ,cAAW;CACzD,IAAM,IAAK,EAAM;CAejB,OAdA,QAAgB;EACd,IAAI,CAAC,GAAM;EACX,IAAM,KAAS,MAAqB;GAClC,AAAI,EAAE,QAAQ,YAAU,EAAQ;EAClC;EAGA,OAFA,SAAS,iBAAiB,WAAW,CAAK,GAC1C,SAAS,KAAK,MAAM,WAAW,gBAClB;GAEX,AADA,SAAS,oBAAoB,WAAW,CAAK,GAC7C,SAAS,KAAK,MAAM,WAAW;EACjC;CACF,GAAG,CAAC,GAAM,CAAO,CAAC,GAEb,IAEH,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,cAAW;EACX,cAAY;YAJd,CAME,kBAAC,OAAD;GAAK,WAAU;GAAgD,SAAS;EAAU,CAAA,GAClF,kBAAC,OAAD;GACE,WAAW,EACT,6JACA,IAAO,iBAAiB,aAC1B;aAJF;IAME,kBAAC,UAAD;KAAQ,WAAU;eAAlB,CACE,kBAAC,MAAD;MAAI,WAAU;gBAA6C;KAAU,CAAA,GACrE,kBAAC,UAAD;MACE,MAAK;MACL,SAAS;MACT,WAAU;MACV,cAAY,EAAG,oBAAoB,OAAO;gBAE1C,kBAAC,GAAD,EAAG,WAAU,UAAW,CAAA;KAClB,CAAA,CACF;;IACR,kBAAC,OAAD;KAAK,WAAU;KAAoC;IAAc,CAAA;IAChE,IACC,kBAAC,UAAD;KAAQ,WAAU;eACf;IACK,CAAA,IACN;GACD;IACF;MAjCW;AAmCpB,GAKa,KAAwC,EAAE,eAAY;CACjE,IAAM,IAAK,EAAM;CACjB,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD,EAAS,WAAU,mCAAoC,CAAA,GACvD,kBAAC,QAAD;GAAM,WAAU;aAAW,KAAS,EAAG,sBAAsB,UAAU;EAAQ,CAAA,CAC5E;;AAET,GAEa,KAA4D,EAAE,UAAO,iBAAc;CAC9F,IAAM,IAAK,EAAM;CACjB,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD,EAAa,WAAU,iCAAkC,CAAA;GACzD,kBAAC,KAAD;IAAG,WAAU;cACV,aAAiB,QAAQ,EAAM,UAAU,EAAG,oBAAoB,uBAAuB;GACvF,CAAA;GACF,IACC,kBAAC,GAAD;IAAQ,SAAQ;IAAU,MAAK;IAAK,SAAS;cAC1C,EAAG,uBAAuB,WAAW;GAChC,CAAA,IACN;EACD;;AAET,GAEa,KAKP,EAAE,UAAO,gBAAa,SAAM,gBAChC,kBAAC,OAAD;CAAK,WAAU;WAAf;EACG,IACC,kBAAC,OAAD;GAAK,WAAU;aACZ;EACE,CAAA,IACH;EACJ,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;GAAG,WAAU;aAAyC;EAAS,CAAA,GAC9D,IACC,kBAAC,KAAD;GAAG,WAAU;aAA4C;EAAe,CAAA,IACtE,IACD,EAAA,CAAA;EACJ;CACE;IAMM,KAA0C,EAAE,kBACvD,kBAAC,OAAD;CAAK,WAAU;WACb,kBAAC,SAAD;EAAO,WAAU;EAA2C;CAAgB,CAAA;AACzE,CAAA,GAEM,KAAwD,EAAE,aAAU,mBAC/E,kBAAC,MAAD;CACE,WAAW,EACT,6FACA,CACF;CAEC;AACC,CAAA,GAEO,KAAwD,EAAE,aAAU,mBAC/E,kBAAC,MAAD;CAAI,WAAW,EAAG,6DAA6D,CAAS;CACrF;AACC,CAAA"}
|
|
@@ -262,6 +262,30 @@ export interface PswDashboardStats {
|
|
|
262
262
|
revenueByMonth: PswMonthlyAmount[];
|
|
263
263
|
trustHeldTotal: number;
|
|
264
264
|
activeTrustAccounts: number;
|
|
265
|
+
workedValue: number;
|
|
266
|
+
billedValue: number;
|
|
267
|
+
realizationPct: number;
|
|
268
|
+
agedReceivables: PswAgedReceivables;
|
|
269
|
+
writeOffTotal: number;
|
|
270
|
+
}
|
|
271
|
+
export interface PswAgedReceivableBucket {
|
|
272
|
+
amount: number;
|
|
273
|
+
count: number;
|
|
274
|
+
}
|
|
275
|
+
export interface PswAgedReceivables {
|
|
276
|
+
current: PswAgedReceivableBucket;
|
|
277
|
+
thirty: PswAgedReceivableBucket;
|
|
278
|
+
sixty: PswAgedReceivableBucket;
|
|
279
|
+
ninetyPlus: PswAgedReceivableBucket;
|
|
280
|
+
}
|
|
281
|
+
export interface PswWriteOff {
|
|
282
|
+
id: string;
|
|
283
|
+
invoiceId: string | null;
|
|
284
|
+
timeEntryId: string | null;
|
|
285
|
+
amount: number;
|
|
286
|
+
reason: string;
|
|
287
|
+
actorId: string;
|
|
288
|
+
createdAt: string;
|
|
265
289
|
}
|
|
266
290
|
export type PswTrustAccountStatus = 'ACTIVE' | 'CLOSED';
|
|
267
291
|
export type PswTrustTransactionType = 'DEPOSIT' | 'WITHDRAWAL' | 'TRANSFER_OUT' | 'ADJUSTMENT';
|
|
@@ -318,6 +342,9 @@ export interface PswTrustReconciliationReport {
|
|
|
318
342
|
reconciledCount: number;
|
|
319
343
|
}
|
|
320
344
|
export declare function useDashboardStats(): import('@tanstack/react-query').UseQueryResult<NoInfer<PswDashboardStats>, Error>;
|
|
345
|
+
export declare function useWriteOffs(args?: {
|
|
346
|
+
pagination?: PswPagination;
|
|
347
|
+
}): import('@tanstack/react-query').UseQueryResult<NoInfer<PswWriteOff[]>, Error>;
|
|
321
348
|
export declare function useTrustAccounts(args?: {
|
|
322
349
|
status?: PswTrustAccountStatus;
|
|
323
350
|
search?: string;
|
|
@@ -463,6 +490,7 @@ export declare function useInvoices(args?: {
|
|
|
463
490
|
pagination?: PswPagination;
|
|
464
491
|
}): import('@tanstack/react-query').UseQueryResult<NoInfer<PswConnection<PswInvoice>>, Error>;
|
|
465
492
|
export declare function useCreateInvoice(): import('@tanstack/react-query').UseMutationResult<unknown, Error, Record<string, unknown>, unknown>;
|
|
493
|
+
export declare function useSendInvoice(): import('@tanstack/react-query').UseMutationResult<unknown, Error, string, unknown>;
|
|
466
494
|
export declare function useMarkInvoicePaid(): import('@tanstack/react-query').UseMutationResult<unknown, Error, string, unknown>;
|
|
467
495
|
export declare function useInvoice(id: string | null): import('@tanstack/react-query').UseQueryResult<NoInfer<PswInvoice | null>, Error>;
|
|
468
496
|
export declare function useCancelInvoice(): import('@tanstack/react-query').UseMutationResult<unknown, Error, string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProServiceWorldApi.d.ts","sourceRoot":"","sources":["../../../src/proserviceworld/hooks/useProServiceWorldApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useProServiceWorldApi.d.ts","sourceRoot":"","sources":["../../../src/proserviceworld/hooks/useProServiceWorldApi.ts"],"names":[],"mappings":"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"}
|