@burdenoff/microfe-theglobalfuel 2026.705.2 → 2026.705.4

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 (80) hide show
  1. package/dist/theglobalfuel/TheGlobalFuelRoot.js +54 -46
  2. package/dist/theglobalfuel/TheGlobalFuelRoot.js.map +1 -1
  3. package/dist/theglobalfuel/TheGlobalFuelRoutes.js +10 -6
  4. package/dist/theglobalfuel/TheGlobalFuelRoutes.js.map +1 -1
  5. package/dist/theglobalfuel/components/DataTable.js +126 -58
  6. package/dist/theglobalfuel/components/DataTable.js.map +1 -1
  7. package/dist/theglobalfuel/components/EmptyState.js +4 -4
  8. package/dist/theglobalfuel/components/EmptyState.js.map +1 -1
  9. package/dist/theglobalfuel/components/MetricsCard.js +2 -2
  10. package/dist/theglobalfuel/components/MetricsCard.js.map +1 -1
  11. package/dist/theglobalfuel/components/WorldMap.js +115 -0
  12. package/dist/theglobalfuel/components/WorldMap.js.map +1 -0
  13. package/dist/theglobalfuel/components/index.js +9 -0
  14. package/dist/theglobalfuel/components/viz/AllocationBar.js +68 -0
  15. package/dist/theglobalfuel/components/viz/AllocationBar.js.map +1 -0
  16. package/dist/theglobalfuel/components/viz/AreaChart.js +102 -0
  17. package/dist/theglobalfuel/components/viz/AreaChart.js.map +1 -0
  18. package/dist/theglobalfuel/components/viz/AvatarStack.js +2 -0
  19. package/dist/theglobalfuel/components/viz/BarChart.js +4 -0
  20. package/dist/theglobalfuel/components/viz/CertificateCard.js +4 -0
  21. package/dist/theglobalfuel/components/viz/DonutChart.js +109 -0
  22. package/dist/theglobalfuel/components/viz/DonutChart.js.map +1 -0
  23. package/dist/theglobalfuel/components/viz/HBarFunnel.js +3 -0
  24. package/dist/theglobalfuel/components/viz/Heatmap.js +3 -0
  25. package/dist/theglobalfuel/components/viz/KanbanBoard.js +2 -0
  26. package/dist/theglobalfuel/components/viz/LineChart.js +4 -0
  27. package/dist/theglobalfuel/components/viz/OrgTree.js +2 -0
  28. package/dist/theglobalfuel/components/viz/PathSteps.js +68 -0
  29. package/dist/theglobalfuel/components/viz/PathSteps.js.map +1 -0
  30. package/dist/theglobalfuel/components/viz/ProgressRing.js +6 -0
  31. package/dist/theglobalfuel/components/viz/ProgressRing.js.map +1 -0
  32. package/dist/theglobalfuel/components/viz/RatingStars.js +3 -0
  33. package/dist/theglobalfuel/components/viz/SegmentedTabs.js +3 -0
  34. package/dist/theglobalfuel/components/viz/SkillBar.js +3 -0
  35. package/dist/theglobalfuel/components/viz/Sparkline.js +74 -0
  36. package/dist/theglobalfuel/components/viz/Sparkline.js.map +1 -0
  37. package/dist/theglobalfuel/components/viz/StatCard.js +3 -0
  38. package/dist/theglobalfuel/components/viz/StepProgress.js +64 -0
  39. package/dist/theglobalfuel/components/viz/StepProgress.js.map +1 -0
  40. package/dist/theglobalfuel/components/viz/Timeline.js +66 -0
  41. package/dist/theglobalfuel/components/viz/Timeline.js.map +1 -0
  42. package/dist/theglobalfuel/components/viz/index.js +23 -0
  43. package/dist/theglobalfuel/components/viz/lib/Avatar.js +1 -0
  44. package/dist/theglobalfuel/components/viz/lib/CartesianFrame.js +119 -0
  45. package/dist/theglobalfuel/components/viz/lib/CartesianFrame.js.map +1 -0
  46. package/dist/theglobalfuel/components/viz/lib/ResponsiveSvg.js +35 -0
  47. package/dist/theglobalfuel/components/viz/lib/ResponsiveSvg.js.map +1 -0
  48. package/dist/theglobalfuel/components/viz/lib/format.js +17 -0
  49. package/dist/theglobalfuel/components/viz/lib/format.js.map +1 -0
  50. package/dist/theglobalfuel/components/viz/lib/geometry.js +61 -0
  51. package/dist/theglobalfuel/components/viz/lib/geometry.js.map +1 -0
  52. package/dist/theglobalfuel/components/viz/lib/hooks.js +39 -0
  53. package/dist/theglobalfuel/components/viz/lib/hooks.js.map +1 -0
  54. package/dist/theglobalfuel/components/viz/lib/palette.js +27 -0
  55. package/dist/theglobalfuel/components/viz/lib/palette.js.map +1 -0
  56. package/dist/theglobalfuel/hooks/useCursorPager.js +6 -15
  57. package/dist/theglobalfuel/hooks/useCursorPager.js.map +1 -1
  58. package/dist/theglobalfuel/pages/assets/AssetDetailPage.js +431 -316
  59. package/dist/theglobalfuel/pages/assets/AssetDetailPage.js.map +1 -1
  60. package/dist/theglobalfuel/pages/assets/AssetsPage.js +99 -99
  61. package/dist/theglobalfuel/pages/assets/AssetsPage.js.map +1 -1
  62. package/dist/theglobalfuel/pages/compliance/CompliancePage.js +250 -250
  63. package/dist/theglobalfuel/pages/compliance/CompliancePage.js.map +1 -1
  64. package/dist/theglobalfuel/pages/contracts/ContractsPage.js +2 -2
  65. package/dist/theglobalfuel/pages/contracts/ContractsPage.js.map +1 -1
  66. package/dist/theglobalfuel/pages/dashboard/DashboardPage.js +525 -227
  67. package/dist/theglobalfuel/pages/dashboard/DashboardPage.js.map +1 -1
  68. package/dist/theglobalfuel/pages/emissions/EmissionsPage.js +255 -206
  69. package/dist/theglobalfuel/pages/emissions/EmissionsPage.js.map +1 -1
  70. package/dist/theglobalfuel/pages/inventory/InventoryPage.js +60 -60
  71. package/dist/theglobalfuel/pages/inventory/InventoryPage.js.map +1 -1
  72. package/dist/theglobalfuel/pages/production/ProductionPage.js +2 -2
  73. package/dist/theglobalfuel/pages/production/ProductionPage.js.map +1 -1
  74. package/dist/theglobalfuel/pages/provenance/ProvenancePage.js +465 -0
  75. package/dist/theglobalfuel/pages/provenance/ProvenancePage.js.map +1 -0
  76. package/dist/theglobalfuel/pages/reserves/ReservesPage.js +152 -152
  77. package/dist/theglobalfuel/pages/reserves/ReservesPage.js.map +1 -1
  78. package/dist/theglobalfuel/pages/shipments/ShipmentsPage.js +356 -227
  79. package/dist/theglobalfuel/pages/shipments/ShipmentsPage.js.map +1 -1
  80. package/package.json +1 -1
@@ -2,8 +2,8 @@ import { PageLayout as e } from "../../components/PageLayout.js";
2
2
  import { MetricsCard as t } from "../../components/MetricsCard.js";
3
3
  import { formatDate as n, formatEnumLabel as r, formatPercent as i, formatUnit as a, formatVolume as o, toBackendDate as ee } from "../../utils/formatters.js";
4
4
  import { StatusBadge as te } from "../../components/StatusBadge.js";
5
- import { DataTable as ne } from "../../components/DataTable.js";
6
- import { ErrorView as re, LoadingView as s } from "../../components/StateViews.js";
5
+ import { DataTable as s } from "../../components/DataTable.js";
6
+ import { ErrorView as ne, LoadingView as re } from "../../components/StateViews.js";
7
7
  import { EmptyState as ie } from "../../components/EmptyState.js";
8
8
  import { useTheAssets as ae, useTheCreateReserveEstimate as oe, useTheReserveEstimates as c } from "../../hooks/useTheGlobalFuelApi.js";
9
9
  import { useCursorPager as se } from "../../hooks/useCursorPager.js";
@@ -13,10 +13,10 @@ import { FilterTabs as u } from "../../components/FilterTabs.js";
13
13
  import { Pagination as d } from "../../components/Pagination.js";
14
14
  import { useMemo as f, useState as p } from "react";
15
15
  import { Database as ce, Layers as m, Percent as le, Plus as h } from "lucide-react";
16
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
17
- import { Button as y, Input as b, Label as x, ResponsiveDialog as ue, ResponsiveDialogContent as de, ResponsiveDialogDescription as fe, ResponsiveDialogFooter as pe, ResponsiveDialogHeader as me, ResponsiveDialogTitle as he, Select as S, SelectContent as C, SelectItem as w, SelectTrigger as T, SelectValue as E, Textarea as ge } from "@burdenoff/fe-libs/ui";
16
+ import { Fragment as ue, jsx as g, jsxs as _ } from "react/jsx-runtime";
17
+ import { Button as v, Input as y, Label as b, ResponsiveDialog as de, ResponsiveDialogContent as fe, ResponsiveDialogDescription as pe, ResponsiveDialogFooter as me, ResponsiveDialogHeader as he, ResponsiveDialogTitle as ge, Select as x, SelectContent as S, SelectItem as C, SelectTrigger as w, SelectValue as T, Textarea as _e } from "@burdenoff/fe-libs/ui";
18
18
  //#region src/theglobalfuel/pages/reserves/ReservesPage.tsx
19
- var _e = [
19
+ var ve = [
20
20
  {
21
21
  value: "ALL",
22
22
  label: "All"
@@ -41,13 +41,13 @@ var _e = [
41
41
  value: "PROSPECTIVE",
42
42
  label: "Prospective"
43
43
  }
44
- ], ve = [
44
+ ], ye = [
45
45
  "PROVED",
46
46
  "PROBABLE",
47
47
  "POSSIBLE",
48
48
  "CONTINGENT",
49
49
  "PROSPECTIVE"
50
- ], ye = [
50
+ ], be = [
51
51
  "BARRELS",
52
52
  "CUBIC_METERS",
53
53
  "TONNES",
@@ -55,7 +55,7 @@ var _e = [
55
55
  "MWH",
56
56
  "GJ",
57
57
  "MCF"
58
- ], D = 25, O = () => (/* @__PURE__ */ new Date()).toISOString().slice(0, 10), k = {
58
+ ], E = 25, D = () => (/* @__PURE__ */ new Date()).toISOString().slice(0, 10), O = {
59
59
  assetId: "",
60
60
  category: "PROVED",
61
61
  asOfDate: "",
@@ -65,18 +65,18 @@ var _e = [
65
65
  methodology: "",
66
66
  notes: ""
67
67
  };
68
- function A() {
69
- let A = l(), [j, M] = p("ALL"), [N, P] = p("ALL"), F = se(), [be, I] = p(!1), [L, R] = p(k), [z, B] = p(null), V = ae({ pagination: {
68
+ function k() {
69
+ let k = l(), [A, j] = p("ALL"), [M, N] = p("ALL"), P = se(), [xe, F] = p(!1), [I, L] = p(O), [R, z] = p(null), B = ae({ pagination: {
70
70
  limit: 100,
71
71
  offset: 0
72
- } }), H = f(() => {
72
+ } }), V = f(() => {
73
73
  let e = {};
74
- for (let t of V.data?.items ?? []) e[t.id] = t.name;
74
+ for (let t of B.data?.items ?? []) e[t.id] = t.name;
75
75
  return e;
76
- }, [V.data]), U = N === "ALL" ? void 0 : N, W = j === "ALL" ? void 0 : j, { data: G, isLoading: xe, isError: Se, refetch: Ce } = c(U, W, {
77
- limit: D,
78
- cursor: F.cursor
79
- }), K = c(U, W, { limit: 200 }), q = oe(), J = f(() => G?.items ?? [], [G]), Y = f(() => K.data?.items ?? [], [K.data]), X = f(() => {
76
+ }, [B.data]), H = M === "ALL" ? void 0 : M, U = A === "ALL" ? void 0 : A, { data: W, isLoading: Se, isError: Ce, refetch: G } = c(H, U, {
77
+ limit: E,
78
+ offset: P.page * E
79
+ }), K = c(H, U, { limit: 200 }), q = oe(), J = f(() => W?.items ?? [], [W]), Y = f(() => K.data?.items ?? [], [K.data]), X = f(() => {
80
80
  let e = {};
81
81
  for (let t of Y) e[t.unit] = (e[t.unit] ?? 0) + 1;
82
82
  let t = Object.entries(e).sort((e, t) => t[1] - e[1])[0]?.[0], n = t ? Y.filter((e) => e.unit === t).reduce((e, t) => e + t.recoverable, 0) : 0, r = Y.filter((e) => e.recoveryFactor != null);
@@ -89,9 +89,9 @@ function A() {
89
89
  {
90
90
  key: "asset",
91
91
  header: "Asset",
92
- render: (e) => /* @__PURE__ */ _("span", {
92
+ render: (e) => /* @__PURE__ */ g("span", {
93
93
  className: "font-semibold text-text-primary",
94
- children: H[e.assetId] ?? /* @__PURE__ */ _("span", {
94
+ children: V[e.assetId] ?? /* @__PURE__ */ g("span", {
95
95
  className: "text-text-tertiary",
96
96
  children: "Unknown asset"
97
97
  })
@@ -100,14 +100,14 @@ function A() {
100
100
  {
101
101
  key: "category",
102
102
  header: "Category",
103
- render: (e) => /* @__PURE__ */ _(te, { status: e.category })
103
+ render: (e) => /* @__PURE__ */ g(te, { status: e.category })
104
104
  },
105
105
  {
106
106
  key: "asOfDate",
107
107
  header: "As of",
108
108
  hideOnMobile: !0,
109
109
  sortValue: (e) => new Date(e.asOfDate).getTime(),
110
- render: (e) => /* @__PURE__ */ _("span", {
110
+ render: (e) => /* @__PURE__ */ g("span", {
111
111
  className: "text-text-secondary",
112
112
  children: n(e.asOfDate)
113
113
  })
@@ -117,7 +117,7 @@ function A() {
117
117
  header: "Recoverable",
118
118
  align: "right",
119
119
  sortValue: (e) => e.recoverable,
120
- render: (e) => /* @__PURE__ */ _("span", {
120
+ render: (e) => /* @__PURE__ */ g("span", {
121
121
  className: "tabular-nums font-medium text-text-primary",
122
122
  children: o(e.recoverable, e.unit)
123
123
  })
@@ -128,10 +128,10 @@ function A() {
128
128
  align: "right",
129
129
  hideOnMobile: !0,
130
130
  sortValue: (e) => e.recoveryFactor ?? -1,
131
- render: (e) => e.recoveryFactor == null ? /* @__PURE__ */ _("span", {
131
+ render: (e) => e.recoveryFactor == null ? /* @__PURE__ */ g("span", {
132
132
  className: "text-text-tertiary",
133
133
  children: "—"
134
- }) : /* @__PURE__ */ _("span", {
134
+ }) : /* @__PURE__ */ g("span", {
135
135
  className: "tabular-nums text-text-secondary",
136
136
  children: i(e.recoveryFactor * 100)
137
137
  })
@@ -140,127 +140,127 @@ function A() {
140
140
  key: "methodology",
141
141
  header: "Methodology",
142
142
  hideOnMobile: !0,
143
- render: (e) => e.methodology ? /* @__PURE__ */ _("span", {
143
+ render: (e) => e.methodology ? /* @__PURE__ */ g("span", {
144
144
  className: "text-text-secondary",
145
145
  children: e.methodology
146
- }) : /* @__PURE__ */ _("span", {
146
+ }) : /* @__PURE__ */ g("span", {
147
147
  className: "text-text-tertiary",
148
148
  children: "—"
149
149
  })
150
150
  }
151
151
  ], Z = () => {
152
- R({
153
- ...k,
154
- asOfDate: O()
155
- }), B(null), I(!0);
152
+ L({
153
+ ...O,
154
+ asOfDate: D()
155
+ }), z(null), F(!0);
156
156
  }, Q = () => {
157
- I(!1), R(k), B(null);
157
+ F(!1), L(O), z(null);
158
158
  }, Te = async () => {
159
- if (!L.assetId) {
160
- B("Select the asset this estimate belongs to.");
159
+ if (!I.assetId) {
160
+ z("Select the asset this estimate belongs to.");
161
161
  return;
162
162
  }
163
- let e = ee(L.asOfDate);
163
+ let e = ee(I.asOfDate);
164
164
  if (!e) {
165
- B("An \"as of\" date is required.");
165
+ z("An \"as of\" date is required.");
166
166
  return;
167
167
  }
168
- let t = Number(L.recoverable);
169
- if (!L.recoverable || Number.isNaN(t) || t <= 0) {
168
+ let t = Number(I.recoverable);
169
+ if (!I.recoverable || Number.isNaN(t) || t <= 0) {
170
170
  let e = "Recoverable volume must be greater than zero.";
171
- B(e), A.error(e);
171
+ z(e), k.error(e);
172
172
  return;
173
173
  }
174
- let n = L.recoveryFactor ? Number(L.recoveryFactor) : null;
174
+ let n = I.recoveryFactor ? Number(I.recoveryFactor) : null;
175
175
  if (n != null && (n < 0 || n > 1)) {
176
- B("Recovery factor must be between 0 and 1.");
176
+ z("Recovery factor must be between 0 and 1.");
177
177
  return;
178
178
  }
179
- B(null);
179
+ z(null);
180
180
  try {
181
181
  await q.mutateAsync({
182
- assetId: L.assetId,
183
- category: L.category,
182
+ assetId: I.assetId,
183
+ category: I.category,
184
184
  asOfDate: e,
185
185
  recoverable: t,
186
186
  recoveryFactor: n,
187
- unit: L.unit,
188
- methodology: L.methodology.trim() || null,
189
- notes: L.notes.trim() || null
190
- }), A.success("Reserve estimate created"), Q();
187
+ unit: I.unit,
188
+ methodology: I.methodology.trim() || null,
189
+ notes: I.notes.trim() || null
190
+ }), k.success("Reserve estimate created"), Q();
191
191
  } catch (e) {
192
- B(e instanceof Error ? e.message : "Failed to create reserve estimate."), A.fromError(e);
192
+ z(e instanceof Error ? e.message : "Failed to create reserve estimate."), k.fromError(e);
193
193
  }
194
- }, $ = !V.isLoading && (V.data?.items.length ?? 0) === 0;
195
- return /* @__PURE__ */ v(e, {
194
+ }, $ = !B.isLoading && (B.data?.items.length ?? 0) === 0;
195
+ return /* @__PURE__ */ _(e, {
196
196
  title: "Reserve Estimates",
197
197
  description: "Booked recoverable volumes per asset — proved, probable, possible, contingent & prospective.",
198
- actions: /* @__PURE__ */ v(y, {
198
+ actions: /* @__PURE__ */ _(v, {
199
199
  onClick: Z,
200
200
  disabled: $,
201
- children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Add estimate"]
201
+ children: [/* @__PURE__ */ g(h, { className: "mr-1.5 h-4 w-4" }), " Add estimate"]
202
202
  }),
203
203
  children: [
204
- /* @__PURE__ */ v("div", {
204
+ /* @__PURE__ */ _("div", {
205
205
  className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
206
206
  children: [
207
- /* @__PURE__ */ _(t, {
208
- icon: /* @__PURE__ */ _(ce, { className: "h-5 w-5" }),
207
+ /* @__PURE__ */ g(t, {
208
+ icon: /* @__PURE__ */ g(ce, { className: "h-5 w-5" }),
209
209
  value: Y.length,
210
210
  label: "Reserve estimates",
211
211
  featured: !0
212
212
  }),
213
- /* @__PURE__ */ _(t, {
214
- icon: /* @__PURE__ */ _(m, { className: "h-5 w-5" }),
213
+ /* @__PURE__ */ g(t, {
214
+ icon: /* @__PURE__ */ g(m, { className: "h-5 w-5" }),
215
215
  value: X.dominantUnit ? o(X.totalRecoverable, X.dominantUnit) : "—",
216
216
  label: X.dominantUnit ? `Total recoverable (${a(X.dominantUnit)})` : "Total recoverable"
217
217
  }),
218
- /* @__PURE__ */ _(t, {
219
- icon: /* @__PURE__ */ _(le, { className: "h-5 w-5" }),
218
+ /* @__PURE__ */ g(t, {
219
+ icon: /* @__PURE__ */ g(le, { className: "h-5 w-5" }),
220
220
  value: X.avgFactor == null ? "—" : i(X.avgFactor),
221
221
  label: "Avg recovery factor"
222
222
  })
223
223
  ]
224
224
  }),
225
- /* @__PURE__ */ v("div", {
225
+ /* @__PURE__ */ _("div", {
226
226
  className: "mt-6 mb-5 flex flex-wrap items-center gap-3",
227
- children: [/* @__PURE__ */ _(u, {
228
- options: _e,
229
- value: j,
227
+ children: [/* @__PURE__ */ g(u, {
228
+ options: ve,
229
+ value: A,
230
230
  onChange: (e) => {
231
- M(e), F.reset();
231
+ j(e), P.reset();
232
232
  }
233
- }), /* @__PURE__ */ v(S, {
234
- value: N,
233
+ }), /* @__PURE__ */ _(x, {
234
+ value: M,
235
235
  onValueChange: (e) => {
236
- P(e), F.reset();
236
+ N(e), P.reset();
237
237
  },
238
- children: [/* @__PURE__ */ _(T, {
238
+ children: [/* @__PURE__ */ g(w, {
239
239
  className: "w-56",
240
240
  "aria-label": "Filter by asset",
241
- children: /* @__PURE__ */ _(E, { placeholder: "All assets" })
242
- }), /* @__PURE__ */ v(C, { children: [/* @__PURE__ */ _(w, {
241
+ children: /* @__PURE__ */ g(T, { placeholder: "All assets" })
242
+ }), /* @__PURE__ */ _(S, { children: [/* @__PURE__ */ g(C, {
243
243
  value: "ALL",
244
244
  children: "All assets"
245
- }), Object.entries(H).map(([e, t]) => /* @__PURE__ */ _(w, {
245
+ }), Object.entries(V).map(([e, t]) => /* @__PURE__ */ g(C, {
246
246
  value: e,
247
247
  children: t
248
248
  }, e))] })]
249
249
  })]
250
250
  }),
251
- xe ? /* @__PURE__ */ _(s, { label: "Loading reserve estimates…" }) : Se ? /* @__PURE__ */ _(re, {
251
+ Se ? /* @__PURE__ */ g(re, { label: "Loading reserve estimates…" }) : Ce ? /* @__PURE__ */ g(ne, {
252
252
  message: "Couldn't load reserve estimates.",
253
- onRetry: () => Ce()
254
- }) : J.length === 0 ? /* @__PURE__ */ _(ie, {
253
+ onRetry: () => G()
254
+ }) : J.length === 0 ? /* @__PURE__ */ g(ie, {
255
255
  illustration: "empty-data",
256
- icon: /* @__PURE__ */ _(m, { className: "h-10 w-10" }),
256
+ icon: /* @__PURE__ */ g(m, { className: "h-10 w-10" }),
257
257
  title: "No reserve estimates",
258
- description: $ ? "Register a resource asset first, then book its recoverable reserves here." : j === "ALL" && N === "ALL" ? "Book your first recoverable-reserves estimate against an asset." : "No estimates match these filters.",
259
- action: $ ? void 0 : /* @__PURE__ */ v(y, {
258
+ description: $ ? "Register a resource asset first, then book its recoverable reserves here." : A === "ALL" && M === "ALL" ? "Book your first recoverable-reserves estimate against an asset." : "No estimates match these filters.",
259
+ action: $ ? void 0 : /* @__PURE__ */ _(v, {
260
260
  onClick: Z,
261
- children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Add estimate"]
261
+ children: [/* @__PURE__ */ g(h, { className: "mr-1.5 h-4 w-4" }), " Add estimate"]
262
262
  })
263
- }) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(ne, {
263
+ }) : /* @__PURE__ */ _(ue, { children: [/* @__PURE__ */ g(s, {
264
264
  columns: we,
265
265
  rows: J,
266
266
  rowKey: (e) => e.id,
@@ -268,135 +268,135 @@ function A() {
268
268
  key: "asOfDate",
269
269
  dir: "desc"
270
270
  }
271
- }), /* @__PURE__ */ _(d, {
272
- page: F.page,
273
- pageSize: D,
271
+ }), /* @__PURE__ */ g(d, {
272
+ page: P.page,
273
+ pageSize: E,
274
274
  itemCount: J.length,
275
- hasMore: G?.pageInfo?.hasMore ?? !1,
276
- onPageChange: (e) => F.onPageChange(e, G?.pageInfo?.cursor)
275
+ hasMore: W?.pageInfo?.hasMore ?? !1,
276
+ onPageChange: P.onPageChange
277
277
  })] }),
278
- /* @__PURE__ */ _(ue, {
279
- open: be,
280
- onOpenChange: (e) => e ? I(!0) : Q(),
281
- children: /* @__PURE__ */ v(de, { children: [/* @__PURE__ */ v(me, { children: [/* @__PURE__ */ _(he, { children: "Add reserve estimate" }), /* @__PURE__ */ _(fe, { children: "Book a recoverable-reserves figure for an asset as of a valuation date." })] }), /* @__PURE__ */ v("form", {
278
+ /* @__PURE__ */ g(de, {
279
+ open: xe,
280
+ onOpenChange: (e) => e ? F(!0) : Q(),
281
+ children: /* @__PURE__ */ _(fe, { children: [/* @__PURE__ */ _(he, { children: [/* @__PURE__ */ g(ge, { children: "Add reserve estimate" }), /* @__PURE__ */ g(pe, { children: "Book a recoverable-reserves figure for an asset as of a valuation date." })] }), /* @__PURE__ */ _("form", {
282
282
  onSubmit: (e) => {
283
283
  e.preventDefault(), Te();
284
284
  },
285
- children: [/* @__PURE__ */ v("div", {
285
+ children: [/* @__PURE__ */ _("div", {
286
286
  className: "grid gap-4 py-2",
287
287
  children: [
288
- /* @__PURE__ */ v("div", {
288
+ /* @__PURE__ */ _("div", {
289
289
  className: "grid gap-1.5",
290
- children: [/* @__PURE__ */ _(x, {
290
+ children: [/* @__PURE__ */ g(b, {
291
291
  htmlFor: "reAsset",
292
292
  children: "Asset *"
293
- }), /* @__PURE__ */ v(S, {
294
- value: L.assetId,
295
- onValueChange: (e) => R({
296
- ...L,
293
+ }), /* @__PURE__ */ _(x, {
294
+ value: I.assetId,
295
+ onValueChange: (e) => L({
296
+ ...I,
297
297
  assetId: e
298
298
  }),
299
- children: [/* @__PURE__ */ _(T, {
299
+ children: [/* @__PURE__ */ g(w, {
300
300
  id: "reAsset",
301
- children: /* @__PURE__ */ _(E, { placeholder: "Select an asset" })
302
- }), /* @__PURE__ */ _(C, { children: Object.entries(H).map(([e, t]) => /* @__PURE__ */ _(w, {
301
+ children: /* @__PURE__ */ g(T, { placeholder: "Select an asset" })
302
+ }), /* @__PURE__ */ g(S, { children: Object.entries(V).map(([e, t]) => /* @__PURE__ */ g(C, {
303
303
  value: e,
304
304
  children: t
305
305
  }, e)) })]
306
306
  })]
307
307
  }),
308
- /* @__PURE__ */ v("div", {
308
+ /* @__PURE__ */ _("div", {
309
309
  className: "grid gap-2 sm:grid-cols-2",
310
- children: [/* @__PURE__ */ v("div", {
310
+ children: [/* @__PURE__ */ _("div", {
311
311
  className: "grid gap-1.5",
312
- children: [/* @__PURE__ */ _(x, {
312
+ children: [/* @__PURE__ */ g(b, {
313
313
  htmlFor: "reCategory",
314
314
  children: "Category"
315
- }), /* @__PURE__ */ v(S, {
316
- value: L.category,
317
- onValueChange: (e) => R({
318
- ...L,
315
+ }), /* @__PURE__ */ _(x, {
316
+ value: I.category,
317
+ onValueChange: (e) => L({
318
+ ...I,
319
319
  category: e
320
320
  }),
321
- children: [/* @__PURE__ */ _(T, {
321
+ children: [/* @__PURE__ */ g(w, {
322
322
  id: "reCategory",
323
- children: /* @__PURE__ */ _(E, {})
324
- }), /* @__PURE__ */ _(C, { children: ve.map((e) => /* @__PURE__ */ _(w, {
323
+ children: /* @__PURE__ */ g(T, {})
324
+ }), /* @__PURE__ */ g(S, { children: ye.map((e) => /* @__PURE__ */ g(C, {
325
325
  value: e,
326
326
  children: r(e)
327
327
  }, e)) })]
328
328
  })]
329
- }), /* @__PURE__ */ v("div", {
329
+ }), /* @__PURE__ */ _("div", {
330
330
  className: "grid gap-1.5",
331
- children: [/* @__PURE__ */ _(x, {
331
+ children: [/* @__PURE__ */ g(b, {
332
332
  htmlFor: "reAsOf",
333
333
  children: "As of date *"
334
- }), /* @__PURE__ */ _(b, {
334
+ }), /* @__PURE__ */ g(y, {
335
335
  id: "reAsOf",
336
336
  type: "date",
337
- value: L.asOfDate,
338
- onChange: (e) => R({
339
- ...L,
337
+ value: I.asOfDate,
338
+ onChange: (e) => L({
339
+ ...I,
340
340
  asOfDate: e.target.value
341
341
  })
342
342
  })]
343
343
  })]
344
344
  }),
345
- /* @__PURE__ */ v("div", {
345
+ /* @__PURE__ */ _("div", {
346
346
  className: "grid gap-2 sm:grid-cols-3",
347
347
  children: [
348
- /* @__PURE__ */ v("div", {
348
+ /* @__PURE__ */ _("div", {
349
349
  className: "grid gap-1.5",
350
- children: [/* @__PURE__ */ _(x, {
350
+ children: [/* @__PURE__ */ g(b, {
351
351
  htmlFor: "reRecoverable",
352
352
  children: "Recoverable *"
353
- }), /* @__PURE__ */ _(b, {
353
+ }), /* @__PURE__ */ g(y, {
354
354
  id: "reRecoverable",
355
355
  type: "number",
356
356
  min: "0",
357
357
  step: "any",
358
- value: L.recoverable,
359
- onChange: (e) => R({
360
- ...L,
358
+ value: I.recoverable,
359
+ onChange: (e) => L({
360
+ ...I,
361
361
  recoverable: e.target.value
362
362
  }),
363
363
  placeholder: "1200000"
364
364
  })]
365
365
  }),
366
- /* @__PURE__ */ v("div", {
366
+ /* @__PURE__ */ _("div", {
367
367
  className: "grid gap-1.5",
368
- children: [/* @__PURE__ */ _(x, {
368
+ children: [/* @__PURE__ */ g(b, {
369
369
  htmlFor: "reUnit",
370
370
  children: "Unit"
371
- }), /* @__PURE__ */ v(S, {
372
- value: L.unit,
373
- onValueChange: (e) => R({
374
- ...L,
371
+ }), /* @__PURE__ */ _(x, {
372
+ value: I.unit,
373
+ onValueChange: (e) => L({
374
+ ...I,
375
375
  unit: e
376
376
  }),
377
- children: [/* @__PURE__ */ _(T, {
377
+ children: [/* @__PURE__ */ g(w, {
378
378
  id: "reUnit",
379
- children: /* @__PURE__ */ _(E, {})
380
- }), /* @__PURE__ */ _(C, { children: ye.map((e) => /* @__PURE__ */ _(w, {
379
+ children: /* @__PURE__ */ g(T, {})
380
+ }), /* @__PURE__ */ g(S, { children: be.map((e) => /* @__PURE__ */ g(C, {
381
381
  value: e,
382
382
  children: a(e)
383
383
  }, e)) })]
384
384
  })]
385
385
  }),
386
- /* @__PURE__ */ v("div", {
386
+ /* @__PURE__ */ _("div", {
387
387
  className: "grid gap-1.5",
388
- children: [/* @__PURE__ */ _(x, {
388
+ children: [/* @__PURE__ */ g(b, {
389
389
  htmlFor: "reFactor",
390
390
  children: "Recovery factor"
391
- }), /* @__PURE__ */ _(b, {
391
+ }), /* @__PURE__ */ g(y, {
392
392
  id: "reFactor",
393
393
  type: "number",
394
394
  min: "0",
395
395
  max: "1",
396
396
  step: "any",
397
- value: L.recoveryFactor,
398
- onChange: (e) => R({
399
- ...L,
397
+ value: I.recoveryFactor,
398
+ onChange: (e) => L({
399
+ ...I,
400
400
  recoveryFactor: e.target.value
401
401
  }),
402
402
  placeholder: "0.35"
@@ -404,48 +404,48 @@ function A() {
404
404
  })
405
405
  ]
406
406
  }),
407
- /* @__PURE__ */ v("div", {
407
+ /* @__PURE__ */ _("div", {
408
408
  className: "grid gap-1.5",
409
- children: [/* @__PURE__ */ _(x, {
409
+ children: [/* @__PURE__ */ g(b, {
410
410
  htmlFor: "reMethodology",
411
411
  children: "Methodology"
412
- }), /* @__PURE__ */ _(b, {
412
+ }), /* @__PURE__ */ g(y, {
413
413
  id: "reMethodology",
414
- value: L.methodology,
415
- onChange: (e) => R({
416
- ...L,
414
+ value: I.methodology,
415
+ onChange: (e) => L({
416
+ ...I,
417
417
  methodology: e.target.value
418
418
  }),
419
419
  placeholder: "Volumetric / decline curve / PRMS deterministic"
420
420
  })]
421
421
  }),
422
- /* @__PURE__ */ v("div", {
422
+ /* @__PURE__ */ _("div", {
423
423
  className: "grid gap-1.5",
424
- children: [/* @__PURE__ */ _(x, {
424
+ children: [/* @__PURE__ */ g(b, {
425
425
  htmlFor: "reNotes",
426
426
  children: "Notes"
427
- }), /* @__PURE__ */ _(ge, {
427
+ }), /* @__PURE__ */ g(_e, {
428
428
  id: "reNotes",
429
429
  rows: 2,
430
- value: L.notes,
431
- onChange: (e) => R({
432
- ...L,
430
+ value: I.notes,
431
+ onChange: (e) => L({
432
+ ...I,
433
433
  notes: e.target.value
434
434
  }),
435
435
  placeholder: "Optional context about this estimate."
436
436
  })]
437
437
  }),
438
- z && /* @__PURE__ */ _("p", {
438
+ R && /* @__PURE__ */ g("p", {
439
439
  className: "text-sm text-status-error-text",
440
- children: z
440
+ children: R
441
441
  })
442
442
  ]
443
- }), /* @__PURE__ */ v(pe, { children: [/* @__PURE__ */ _(y, {
443
+ }), /* @__PURE__ */ _(me, { children: [/* @__PURE__ */ g(v, {
444
444
  type: "button",
445
445
  variant: "outline",
446
446
  onClick: Q,
447
447
  children: "Cancel"
448
- }), /* @__PURE__ */ _(y, {
448
+ }), /* @__PURE__ */ g(v, {
449
449
  type: "submit",
450
450
  disabled: q.isPending,
451
451
  children: q.isPending ? "Saving…" : "Add estimate"
@@ -456,6 +456,6 @@ function A() {
456
456
  });
457
457
  }
458
458
  //#endregion
459
- export { A as ReservesPage };
459
+ export { k as ReservesPage };
460
460
 
461
461
  //# sourceMappingURL=ReservesPage.js.map