@burdenoff/microfe-theglobalfuel 2026.1102.1 → 2026.1107.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.
Files changed (70) hide show
  1. package/dist/theglobalfuel/TheGlobalFuelRoot.d.ts.map +1 -1
  2. package/dist/theglobalfuel/TheGlobalFuelRoot.js +93 -61
  3. package/dist/theglobalfuel/TheGlobalFuelRoot.js.map +1 -1
  4. package/dist/theglobalfuel/TheGlobalFuelRoutes.d.ts.map +1 -1
  5. package/dist/theglobalfuel/TheGlobalFuelRoutes.js +44 -28
  6. package/dist/theglobalfuel/TheGlobalFuelRoutes.js.map +1 -1
  7. package/dist/theglobalfuel/components/BulkAllocateSheet.d.ts +19 -0
  8. package/dist/theglobalfuel/components/BulkAllocateSheet.d.ts.map +1 -0
  9. package/dist/theglobalfuel/components/BulkAllocateSheet.js +340 -0
  10. package/dist/theglobalfuel/components/BulkAllocateSheet.js.map +1 -0
  11. package/dist/theglobalfuel/components/StatusBadge.d.ts.map +1 -1
  12. package/dist/theglobalfuel/components/StatusBadge.js +16 -1
  13. package/dist/theglobalfuel/components/StatusBadge.js.map +1 -1
  14. package/dist/theglobalfuel/hooks/useTheGlobalFuelApi.d.ts +84 -1
  15. package/dist/theglobalfuel/hooks/useTheGlobalFuelApi.d.ts.map +1 -1
  16. package/dist/theglobalfuel/hooks/useTheGlobalFuelApi.js +423 -154
  17. package/dist/theglobalfuel/hooks/useTheGlobalFuelApi.js.map +1 -1
  18. package/dist/theglobalfuel/pages/assets/AssetDetailPage.d.ts.map +1 -1
  19. package/dist/theglobalfuel/pages/assets/AssetDetailPage.js +446 -439
  20. package/dist/theglobalfuel/pages/assets/AssetDetailPage.js.map +1 -1
  21. package/dist/theglobalfuel/pages/field/FieldWorkOrdersPage.d.ts +17 -0
  22. package/dist/theglobalfuel/pages/field/FieldWorkOrdersPage.d.ts.map +1 -0
  23. package/dist/theglobalfuel/pages/field/FieldWorkOrdersPage.js +181 -0
  24. package/dist/theglobalfuel/pages/field/FieldWorkOrdersPage.js.map +1 -0
  25. package/dist/theglobalfuel/pages/maintenance/AssetMaintenanceHistory.d.ts +15 -0
  26. package/dist/theglobalfuel/pages/maintenance/AssetMaintenanceHistory.d.ts.map +1 -0
  27. package/dist/theglobalfuel/pages/maintenance/AssetMaintenanceHistory.js +130 -0
  28. package/dist/theglobalfuel/pages/maintenance/AssetMaintenanceHistory.js.map +1 -0
  29. package/dist/theglobalfuel/pages/maintenance/EquipmentPage.d.ts +12 -0
  30. package/dist/theglobalfuel/pages/maintenance/EquipmentPage.d.ts.map +1 -0
  31. package/dist/theglobalfuel/pages/maintenance/EquipmentPage.js +570 -0
  32. package/dist/theglobalfuel/pages/maintenance/EquipmentPage.js.map +1 -0
  33. package/dist/theglobalfuel/pages/maintenance/MaintenanceDashboardPage.d.ts +11 -0
  34. package/dist/theglobalfuel/pages/maintenance/MaintenanceDashboardPage.d.ts.map +1 -0
  35. package/dist/theglobalfuel/pages/maintenance/MaintenanceDashboardPage.js +186 -0
  36. package/dist/theglobalfuel/pages/maintenance/MaintenanceDashboardPage.js.map +1 -0
  37. package/dist/theglobalfuel/pages/maintenance/WorkOrderDialogs.d.ts +19 -0
  38. package/dist/theglobalfuel/pages/maintenance/WorkOrderDialogs.d.ts.map +1 -0
  39. package/dist/theglobalfuel/pages/maintenance/WorkOrderDialogs.js +540 -0
  40. package/dist/theglobalfuel/pages/maintenance/WorkOrderDialogs.js.map +1 -0
  41. package/dist/theglobalfuel/pages/maintenance/WorkOrdersPage.d.ts +13 -0
  42. package/dist/theglobalfuel/pages/maintenance/WorkOrdersPage.d.ts.map +1 -0
  43. package/dist/theglobalfuel/pages/maintenance/WorkOrdersPage.js +213 -0
  44. package/dist/theglobalfuel/pages/maintenance/WorkOrdersPage.js.map +1 -0
  45. package/dist/theglobalfuel/pages/maintenance/lifecycle.d.ts +23 -0
  46. package/dist/theglobalfuel/pages/maintenance/lifecycle.d.ts.map +1 -0
  47. package/dist/theglobalfuel/pages/maintenance/lifecycle.js +82 -0
  48. package/dist/theglobalfuel/pages/maintenance/lifecycle.js.map +1 -0
  49. package/dist/theglobalfuel/pages/production/PeriodClosePanel.d.ts +17 -0
  50. package/dist/theglobalfuel/pages/production/PeriodClosePanel.d.ts.map +1 -0
  51. package/dist/theglobalfuel/pages/production/PeriodClosePanel.js +563 -0
  52. package/dist/theglobalfuel/pages/production/PeriodClosePanel.js.map +1 -0
  53. package/dist/theglobalfuel/pages/production/ProductionPage.d.ts +3 -0
  54. package/dist/theglobalfuel/pages/production/ProductionPage.d.ts.map +1 -1
  55. package/dist/theglobalfuel/pages/production/ProductionPage.js +122 -103
  56. package/dist/theglobalfuel/pages/production/ProductionPage.js.map +1 -1
  57. package/dist/theglobalfuel/types/index.d.ts +229 -0
  58. package/dist/theglobalfuel/types/index.d.ts.map +1 -1
  59. package/dist/theglobalfuel/utils/allocationForm.d.ts +14 -1
  60. package/dist/theglobalfuel/utils/allocationForm.d.ts.map +1 -1
  61. package/dist/theglobalfuel/utils/allocationForm.js +50 -43
  62. package/dist/theglobalfuel/utils/allocationForm.js.map +1 -1
  63. package/dist/theglobalfuel/utils/pageContext.d.ts.map +1 -1
  64. package/dist/theglobalfuel/utils/pageContext.js +4 -0
  65. package/dist/theglobalfuel/utils/pageContext.js.map +1 -1
  66. package/dist/theglobalfuel/utils/periodClose.d.ts +39 -0
  67. package/dist/theglobalfuel/utils/periodClose.d.ts.map +1 -0
  68. package/dist/theglobalfuel/utils/periodClose.js +120 -0
  69. package/dist/theglobalfuel/utils/periodClose.js.map +1 -0
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TheGlobalFuelRoot.d.ts","sourceRoot":"","sources":["../../src/theglobalfuel/TheGlobalFuelRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAuBhC,OAAO,KAAK,EAAE,sBAAsB,EAAW,MAAM,SAAS,CAAC;AAY/D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA8JxD,CAAC"}
1
+ {"version":3,"file":"TheGlobalFuelRoot.d.ts","sourceRoot":"","sources":["../../src/theglobalfuel/TheGlobalFuelRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA2BhC,OAAO,KAAK,EAAE,sBAAsB,EAAW,MAAM,SAAS,CAAC;AAY/D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA8LxD,CAAC"}
@@ -5,153 +5,185 @@ import { useCallback as r, useEffect as i, useMemo as a } from "react";
5
5
  import { QueryClient as o, QueryClientProvider as s } from "@tanstack/react-query";
6
6
  import { FeatureFlagProvider as c, useFeatureFlags as l } from "@burdenoff/fe-libs/shared/feature-flags";
7
7
  import { useI18n as u } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
- import { Boxes as d, ClipboardList as f, Factory as p, FileCheck2 as m, FileText as h, Gauge as g, Layers as _, LayoutDashboard as v, Leaf as y, ShieldAlert as b, ShieldCheck as x, Truck as S, Waypoints as C } from "lucide-react";
9
- import { jsx as w } from "react/jsx-runtime";
8
+ import { Boxes as d, ClipboardCheck as f, ClipboardList as p, Cog as m, Factory as h, FileCheck2 as g, FileText as _, Gauge as v, HardHat as y, Layers as b, LayoutDashboard as x, Leaf as S, ShieldAlert as C, ShieldCheck as w, Truck as T, Waypoints as E, Wrench as D } from "lucide-react";
9
+ import { jsx as O } from "react/jsx-runtime";
10
10
  //#region src/theglobalfuel/TheGlobalFuelRoot.tsx
11
- var T = new o({ defaultOptions: { queries: {
11
+ var k = new o({ defaultOptions: { queries: {
12
12
  staleTime: 300 * 1e3,
13
13
  retry: 1,
14
14
  refetchOnWindowFocus: !1
15
- } } }), E = (o) => {
16
- let { registerNavItems: E, registerFooterItems: D, basePath: O = "/" } = o, { t: k } = u(), { isEnabled: A, evaluations: j } = l(), M = r((e, t) => {
17
- let n = k(e);
15
+ } } }), A = (o) => {
16
+ let { registerNavItems: A, registerFooterItems: j, basePath: M = "/" } = o, { t: N } = u(), { isEnabled: P, evaluations: F } = l(), I = r((e, t) => {
17
+ let n = N(e);
18
18
  return n === e ? t : n;
19
- }, [k]), N = a(() => [
19
+ }, [N]), L = a(() => [
20
20
  {
21
21
  id: "theglobalfuel-dashboard",
22
- label: M("theglobalfuel.nav.dashboard", "Dashboard"),
23
- path: e(O, ""),
24
- icon: /* @__PURE__ */ w(v, { size: 20 }),
22
+ label: I("theglobalfuel.nav.dashboard", "Dashboard"),
23
+ path: e(M, ""),
24
+ icon: /* @__PURE__ */ O(x, { size: 20 }),
25
25
  order: 0,
26
26
  group: "products"
27
27
  },
28
28
  {
29
29
  id: "theglobalfuel-assets",
30
- label: M("theglobalfuel.nav.assets", "Assets"),
31
- path: e(O, "assets"),
32
- icon: /* @__PURE__ */ w(p, { size: 20 }),
30
+ label: I("theglobalfuel.nav.assets", "Assets"),
31
+ path: e(M, "assets"),
32
+ icon: /* @__PURE__ */ O(h, { size: 20 }),
33
33
  order: 1,
34
34
  group: "products"
35
35
  },
36
36
  {
37
37
  id: "theglobalfuel-production",
38
- label: M("theglobalfuel.nav.production", "Production"),
39
- path: e(O, "production"),
40
- icon: /* @__PURE__ */ w(g, { size: 20 }),
38
+ label: I("theglobalfuel.nav.production", "Production"),
39
+ path: e(M, "production"),
40
+ icon: /* @__PURE__ */ O(v, { size: 20 }),
41
41
  order: 2,
42
42
  group: "products"
43
43
  },
44
44
  {
45
45
  id: "theglobalfuel-reserves",
46
- label: M("theglobalfuel.nav.reserves", "Reserves"),
47
- path: e(O, "reserves"),
48
- icon: /* @__PURE__ */ w(_, { size: 20 }),
46
+ label: I("theglobalfuel.nav.reserves", "Reserves"),
47
+ path: e(M, "reserves"),
48
+ icon: /* @__PURE__ */ O(b, { size: 20 }),
49
49
  order: 3,
50
50
  group: "products"
51
51
  },
52
52
  {
53
53
  id: "theglobalfuel-contracts",
54
- label: M("theglobalfuel.nav.contracts", "Offtake Contracts"),
55
- path: e(O, "contracts"),
56
- icon: /* @__PURE__ */ w(h, { size: 20 }),
54
+ label: I("theglobalfuel.nav.contracts", "Offtake Contracts"),
55
+ path: e(M, "contracts"),
56
+ icon: /* @__PURE__ */ O(_, { size: 20 }),
57
57
  order: 4,
58
58
  group: "products"
59
59
  },
60
60
  {
61
61
  id: "theglobalfuel-shipments",
62
- label: M("theglobalfuel.nav.shipments", "Shipments"),
63
- path: e(O, "shipments"),
64
- icon: /* @__PURE__ */ w(S, { size: 20 }),
62
+ label: I("theglobalfuel.nav.shipments", "Shipments"),
63
+ path: e(M, "shipments"),
64
+ icon: /* @__PURE__ */ O(T, { size: 20 }),
65
65
  order: 5,
66
66
  group: "products"
67
67
  },
68
68
  {
69
69
  id: "theglobalfuel-inventory",
70
- label: M("theglobalfuel.nav.inventory", "Inventory"),
71
- path: e(O, "inventory"),
72
- icon: /* @__PURE__ */ w(d, { size: 20 }),
70
+ label: I("theglobalfuel.nav.inventory", "Inventory"),
71
+ path: e(M, "inventory"),
72
+ icon: /* @__PURE__ */ O(d, { size: 20 }),
73
73
  order: 6,
74
74
  group: "products"
75
75
  },
76
76
  {
77
77
  id: "theglobalfuel-emissions",
78
- label: M("theglobalfuel.nav.emissions", "Emissions"),
79
- path: e(O, "emissions"),
80
- icon: /* @__PURE__ */ w(y, { size: 20 }),
78
+ label: I("theglobalfuel.nav.emissions", "Emissions"),
79
+ path: e(M, "emissions"),
80
+ icon: /* @__PURE__ */ O(S, { size: 20 }),
81
81
  order: 7,
82
82
  group: "products"
83
83
  },
84
84
  {
85
85
  id: "theglobalfuel-compliance",
86
- label: M("theglobalfuel.nav.compliance", "Compliance"),
87
- path: e(O, "compliance"),
88
- icon: /* @__PURE__ */ w(x, { size: 20 }),
86
+ label: I("theglobalfuel.nav.compliance", "Compliance"),
87
+ path: e(M, "compliance"),
88
+ icon: /* @__PURE__ */ O(w, { size: 20 }),
89
89
  order: 8,
90
90
  group: "products"
91
91
  },
92
92
  {
93
93
  id: "theglobalfuel-provenance",
94
- label: M("theglobalfuel.nav.provenance", "Provenance"),
95
- path: e(O, "provenance"),
96
- icon: /* @__PURE__ */ w(C, { size: 20 }),
94
+ label: I("theglobalfuel.nav.provenance", "Provenance"),
95
+ path: e(M, "provenance"),
96
+ icon: /* @__PURE__ */ O(E, { size: 20 }),
97
97
  order: 9,
98
98
  group: "products"
99
99
  },
100
100
  {
101
101
  id: "theglobalfuel-safety",
102
- label: M("theglobalfuel.nav.safety", "Safety"),
103
- path: e(O, "safety"),
104
- icon: /* @__PURE__ */ w(b, { size: 20 }),
102
+ label: I("theglobalfuel.nav.safety", "Safety"),
103
+ path: e(M, "safety"),
104
+ icon: /* @__PURE__ */ O(C, { size: 20 }),
105
105
  order: 10,
106
106
  group: "products"
107
107
  },
108
108
  {
109
109
  id: "theglobalfuel-incidents",
110
- label: M("theglobalfuel.nav.incidents", "Incidents"),
111
- path: e(O, "safety/incidents"),
112
- icon: /* @__PURE__ */ w(f, { size: 20 }),
110
+ label: I("theglobalfuel.nav.incidents", "Incidents"),
111
+ path: e(M, "safety/incidents"),
112
+ icon: /* @__PURE__ */ O(p, { size: 20 }),
113
113
  order: 11,
114
114
  group: "products"
115
115
  },
116
+ {
117
+ id: "theglobalfuel-maintenance",
118
+ label: I("theglobalfuel.nav.maintenance", "Maintenance"),
119
+ path: e(M, "maintenance"),
120
+ icon: /* @__PURE__ */ O(D, { size: 20 }),
121
+ order: 13,
122
+ group: "products"
123
+ },
124
+ {
125
+ id: "theglobalfuel-work-orders",
126
+ label: I("theglobalfuel.nav.workOrders", "Work Orders"),
127
+ path: e(M, "maintenance/work-orders"),
128
+ icon: /* @__PURE__ */ O(f, { size: 20 }),
129
+ order: 14,
130
+ group: "products"
131
+ },
132
+ {
133
+ id: "theglobalfuel-equipment",
134
+ label: I("theglobalfuel.nav.equipment", "Equipment"),
135
+ path: e(M, "maintenance/equipment"),
136
+ icon: /* @__PURE__ */ O(m, { size: 20 }),
137
+ order: 15,
138
+ group: "products"
139
+ },
140
+ {
141
+ id: "theglobalfuel-field",
142
+ label: I("theglobalfuel.nav.field", "Field Work"),
143
+ path: e(M, "field"),
144
+ icon: /* @__PURE__ */ O(y, { size: 20 }),
145
+ order: 16,
146
+ group: "products"
147
+ },
116
148
  {
117
149
  id: "theglobalfuel-esg-disclosures",
118
- label: M("theglobalfuel.nav.esgDisclosures", "ESG Disclosures"),
119
- path: e(O, "esg-disclosures"),
120
- icon: /* @__PURE__ */ w(m, { size: 20 }),
121
- order: 12,
150
+ label: I("theglobalfuel.nav.esgDisclosures", "ESG Disclosures"),
151
+ path: e(M, "esg-disclosures"),
152
+ icon: /* @__PURE__ */ O(g, { size: 20 }),
153
+ order: 17,
122
154
  group: "products"
123
155
  }
124
- ], [O, M]), P = r((e) => `theglobalfuel.${e.replace("theglobalfuel-", "")}`, []);
156
+ ], [M, I]), R = r((e) => `theglobalfuel.${e.replace("theglobalfuel-", "")}`, []);
125
157
  return i(() => {
126
- if (E) return E(N.filter((e) => A(P(e.id), !0)));
158
+ if (A) return A(L.filter((e) => P(R(e.id), !0)));
127
159
  }, [
128
- E,
129
- N,
130
160
  A,
131
- j,
132
- P
161
+ L,
162
+ P,
163
+ F,
164
+ R
133
165
  ]), i(() => {
134
- if (D) return D([{
166
+ if (j) return j([{
135
167
  id: "theglobalfuel-status",
136
- label: M("theglobalfuel.footer.ready", "TheGlobalFuel Ready"),
168
+ label: I("theglobalfuel.footer.ready", "TheGlobalFuel Ready"),
137
169
  type: "status",
138
170
  section: "left",
139
171
  order: 10
140
172
  }]);
141
- }, [D, M]), /* @__PURE__ */ w(s, {
142
- client: T,
143
- children: /* @__PURE__ */ w(c, {
173
+ }, [j, I]), /* @__PURE__ */ O(s, {
174
+ client: k,
175
+ children: /* @__PURE__ */ O(c, {
144
176
  workspaceId: null,
145
177
  gateway: "global",
146
178
  defaultEnabled: !0,
147
- children: /* @__PURE__ */ w(t, {
179
+ children: /* @__PURE__ */ O(t, {
148
180
  ...o,
149
- children: /* @__PURE__ */ w(n, {})
181
+ children: /* @__PURE__ */ O(n, {})
150
182
  })
151
183
  })
152
184
  });
153
185
  };
154
186
  //#endregion
155
- export { E as TheGlobalFuelRoot };
187
+ export { A as TheGlobalFuelRoot };
156
188
 
157
189
  //# sourceMappingURL=TheGlobalFuelRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TheGlobalFuelRoot.js","names":[],"sources":["../../src/theglobalfuel/TheGlobalFuelRoot.tsx"],"sourcesContent":["/**\n * TheGlobalFuel Root Component\n * @module theglobalfuel\n *\n * Host-contract entry point. Registers the product's sidebar nav (sections that\n * map 1:1 to the wspace-theglobalfuel-svc `the*` backend, including the\n * process-safety / EHS incident surfaces) and mounts the routed pages inside\n * the shared QueryClient + FeatureFlag providers.\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { FeatureFlagProvider, useFeatureFlags } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n LayoutDashboard,\n Factory,\n Gauge,\n Layers,\n FileText,\n Truck,\n Boxes,\n Leaf,\n ShieldCheck,\n ShieldAlert,\n ClipboardList,\n FileCheck2,\n Waypoints,\n} from 'lucide-react';\nimport { TheGlobalFuelProvider } from './context/TheGlobalFuelContext';\nimport { TheGlobalFuelRoutes } from './TheGlobalFuelRoutes';\nimport { joinPath } from './utils/navigation';\nimport type { TheGlobalFuelRootProps, NavItem } from './types';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport const TheGlobalFuelRoot: FC<TheGlobalFuelRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const { isEnabled, evaluations } = useFeatureFlags();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Register navigation items with the shell on mount. Ids/paths/orders match\n // the app-shell static NavRegistration block so the two are a single,\n // consistent source of truth.\n const navItems = useMemo<NavItem[]>(\n () => [\n {\n id: 'theglobalfuel-dashboard',\n label: t('theglobalfuel.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 0,\n group: 'products',\n },\n {\n id: 'theglobalfuel-assets',\n label: t('theglobalfuel.nav.assets', 'Assets'),\n path: joinPath(basePath, 'assets'),\n icon: <Factory size={20} />,\n order: 1,\n group: 'products',\n },\n {\n id: 'theglobalfuel-production',\n label: t('theglobalfuel.nav.production', 'Production'),\n path: joinPath(basePath, 'production'),\n icon: <Gauge size={20} />,\n order: 2,\n group: 'products',\n },\n {\n id: 'theglobalfuel-reserves',\n label: t('theglobalfuel.nav.reserves', 'Reserves'),\n path: joinPath(basePath, 'reserves'),\n icon: <Layers size={20} />,\n order: 3,\n group: 'products',\n },\n {\n id: 'theglobalfuel-contracts',\n label: t('theglobalfuel.nav.contracts', 'Offtake Contracts'),\n path: joinPath(basePath, 'contracts'),\n icon: <FileText size={20} />,\n order: 4,\n group: 'products',\n },\n {\n id: 'theglobalfuel-shipments',\n label: t('theglobalfuel.nav.shipments', 'Shipments'),\n path: joinPath(basePath, 'shipments'),\n icon: <Truck size={20} />,\n order: 5,\n group: 'products',\n },\n {\n id: 'theglobalfuel-inventory',\n label: t('theglobalfuel.nav.inventory', 'Inventory'),\n path: joinPath(basePath, 'inventory'),\n icon: <Boxes size={20} />,\n order: 6,\n group: 'products',\n },\n {\n id: 'theglobalfuel-emissions',\n label: t('theglobalfuel.nav.emissions', 'Emissions'),\n path: joinPath(basePath, 'emissions'),\n icon: <Leaf size={20} />,\n order: 7,\n group: 'products',\n },\n {\n id: 'theglobalfuel-compliance',\n label: t('theglobalfuel.nav.compliance', 'Compliance'),\n path: joinPath(basePath, 'compliance'),\n icon: <ShieldCheck size={20} />,\n order: 8,\n group: 'products',\n },\n {\n id: 'theglobalfuel-provenance',\n label: t('theglobalfuel.nav.provenance', 'Provenance'),\n path: joinPath(basePath, 'provenance'),\n icon: <Waypoints size={20} />,\n order: 9,\n group: 'products',\n },\n {\n id: 'theglobalfuel-safety',\n label: t('theglobalfuel.nav.safety', 'Safety'),\n path: joinPath(basePath, 'safety'),\n icon: <ShieldAlert size={20} />,\n order: 10,\n group: 'products',\n },\n {\n id: 'theglobalfuel-incidents',\n label: t('theglobalfuel.nav.incidents', 'Incidents'),\n path: joinPath(basePath, 'safety/incidents'),\n icon: <ClipboardList size={20} />,\n order: 11,\n group: 'products',\n },\n {\n id: 'theglobalfuel-esg-disclosures',\n label: t('theglobalfuel.nav.esgDisclosures', 'ESG Disclosures'),\n path: joinPath(basePath, 'esg-disclosures'),\n icon: <FileCheck2 size={20} />,\n order: 12,\n group: 'products',\n },\n ],\n [basePath, t]\n );\n\n const flagForNav = useCallback((itemId: string): string => {\n const suffix = itemId.replace('theglobalfuel-', '');\n return `theglobalfuel.${suffix}`;\n }, []);\n\n useEffect(() => {\n if (!registerNavItems) return;\n const visible = navItems.filter((item) => isEnabled(flagForNav(item.id), true));\n return registerNavItems(visible);\n }, [registerNavItems, navItems, isEnabled, evaluations, flagForNav]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'theglobalfuel-status',\n label: t('theglobalfuel.footer.ready', 'TheGlobalFuel Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <TheGlobalFuelProvider {...props}>\n <TheGlobalFuelRoutes />\n </TheGlobalFuelProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"TheGlobalFuelRoot.js","names":[],"sources":["../../src/theglobalfuel/TheGlobalFuelRoot.tsx"],"sourcesContent":["/**\n * TheGlobalFuel Root Component\n * @module theglobalfuel\n *\n * Host-contract entry point. Registers the product's sidebar nav (sections that\n * map 1:1 to the wspace-theglobalfuel-svc `the*` backend, including the\n * process-safety / EHS incident surfaces) and mounts the routed pages inside\n * the shared QueryClient + FeatureFlag providers.\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { FeatureFlagProvider, useFeatureFlags } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n LayoutDashboard,\n Factory,\n Gauge,\n Layers,\n FileText,\n Truck,\n Boxes,\n Leaf,\n ShieldCheck,\n ShieldAlert,\n ClipboardList,\n FileCheck2,\n Waypoints,\n Wrench,\n ClipboardCheck,\n Cog,\n HardHat,\n} from 'lucide-react';\nimport { TheGlobalFuelProvider } from './context/TheGlobalFuelContext';\nimport { TheGlobalFuelRoutes } from './TheGlobalFuelRoutes';\nimport { joinPath } from './utils/navigation';\nimport type { TheGlobalFuelRootProps, NavItem } from './types';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport const TheGlobalFuelRoot: FC<TheGlobalFuelRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const { isEnabled, evaluations } = useFeatureFlags();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Register navigation items with the shell on mount. Ids/paths/orders match\n // the app-shell static NavRegistration block so the two are a single,\n // consistent source of truth.\n const navItems = useMemo<NavItem[]>(\n () => [\n {\n id: 'theglobalfuel-dashboard',\n label: t('theglobalfuel.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 0,\n group: 'products',\n },\n {\n id: 'theglobalfuel-assets',\n label: t('theglobalfuel.nav.assets', 'Assets'),\n path: joinPath(basePath, 'assets'),\n icon: <Factory size={20} />,\n order: 1,\n group: 'products',\n },\n {\n id: 'theglobalfuel-production',\n label: t('theglobalfuel.nav.production', 'Production'),\n path: joinPath(basePath, 'production'),\n icon: <Gauge size={20} />,\n order: 2,\n group: 'products',\n },\n {\n id: 'theglobalfuel-reserves',\n label: t('theglobalfuel.nav.reserves', 'Reserves'),\n path: joinPath(basePath, 'reserves'),\n icon: <Layers size={20} />,\n order: 3,\n group: 'products',\n },\n {\n id: 'theglobalfuel-contracts',\n label: t('theglobalfuel.nav.contracts', 'Offtake Contracts'),\n path: joinPath(basePath, 'contracts'),\n icon: <FileText size={20} />,\n order: 4,\n group: 'products',\n },\n {\n id: 'theglobalfuel-shipments',\n label: t('theglobalfuel.nav.shipments', 'Shipments'),\n path: joinPath(basePath, 'shipments'),\n icon: <Truck size={20} />,\n order: 5,\n group: 'products',\n },\n {\n id: 'theglobalfuel-inventory',\n label: t('theglobalfuel.nav.inventory', 'Inventory'),\n path: joinPath(basePath, 'inventory'),\n icon: <Boxes size={20} />,\n order: 6,\n group: 'products',\n },\n {\n id: 'theglobalfuel-emissions',\n label: t('theglobalfuel.nav.emissions', 'Emissions'),\n path: joinPath(basePath, 'emissions'),\n icon: <Leaf size={20} />,\n order: 7,\n group: 'products',\n },\n {\n id: 'theglobalfuel-compliance',\n label: t('theglobalfuel.nav.compliance', 'Compliance'),\n path: joinPath(basePath, 'compliance'),\n icon: <ShieldCheck size={20} />,\n order: 8,\n group: 'products',\n },\n {\n id: 'theglobalfuel-provenance',\n label: t('theglobalfuel.nav.provenance', 'Provenance'),\n path: joinPath(basePath, 'provenance'),\n icon: <Waypoints size={20} />,\n order: 9,\n group: 'products',\n },\n {\n id: 'theglobalfuel-safety',\n label: t('theglobalfuel.nav.safety', 'Safety'),\n path: joinPath(basePath, 'safety'),\n icon: <ShieldAlert size={20} />,\n order: 10,\n group: 'products',\n },\n {\n id: 'theglobalfuel-incidents',\n label: t('theglobalfuel.nav.incidents', 'Incidents'),\n path: joinPath(basePath, 'safety/incidents'),\n icon: <ClipboardList size={20} />,\n order: 11,\n group: 'products',\n },\n {\n id: 'theglobalfuel-maintenance',\n label: t('theglobalfuel.nav.maintenance', 'Maintenance'),\n path: joinPath(basePath, 'maintenance'),\n icon: <Wrench size={20} />,\n order: 13,\n group: 'products',\n },\n {\n id: 'theglobalfuel-work-orders',\n label: t('theglobalfuel.nav.workOrders', 'Work Orders'),\n path: joinPath(basePath, 'maintenance/work-orders'),\n icon: <ClipboardCheck size={20} />,\n order: 14,\n group: 'products',\n },\n {\n id: 'theglobalfuel-equipment',\n label: t('theglobalfuel.nav.equipment', 'Equipment'),\n path: joinPath(basePath, 'maintenance/equipment'),\n icon: <Cog size={20} />,\n order: 15,\n group: 'products',\n },\n {\n id: 'theglobalfuel-field',\n label: t('theglobalfuel.nav.field', 'Field Work'),\n path: joinPath(basePath, 'field'),\n icon: <HardHat size={20} />,\n order: 16,\n group: 'products',\n },\n {\n id: 'theglobalfuel-esg-disclosures',\n label: t('theglobalfuel.nav.esgDisclosures', 'ESG Disclosures'),\n path: joinPath(basePath, 'esg-disclosures'),\n icon: <FileCheck2 size={20} />,\n order: 17,\n group: 'products',\n },\n ],\n [basePath, t]\n );\n\n const flagForNav = useCallback((itemId: string): string => {\n const suffix = itemId.replace('theglobalfuel-', '');\n return `theglobalfuel.${suffix}`;\n }, []);\n\n useEffect(() => {\n if (!registerNavItems) return;\n const visible = navItems.filter((item) => isEnabled(flagForNav(item.id), true));\n return registerNavItems(visible);\n }, [registerNavItems, navItems, isEnabled, evaluations, flagForNav]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'theglobalfuel-status',\n label: t('theglobalfuel.footer.ready', 'TheGlobalFuel Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <TheGlobalFuelProvider {...props}>\n <TheGlobalFuelRoutes />\n </TheGlobalFuelProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TheGlobalFuelRoutes.d.ts","sourceRoot":"","sources":["../../src/theglobalfuel/TheGlobalFuelRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkC,MAAM,OAAO,CAAC;AAiGhE,eAAO,MAAM,mBAAmB,EAAE,EA+EjC,CAAC"}
1
+ {"version":3,"file":"TheGlobalFuelRoutes.d.ts","sourceRoot":"","sources":["../../src/theglobalfuel/TheGlobalFuelRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkC,MAAM,OAAO,CAAC;AAkHhE,eAAO,MAAM,mBAAmB,EAAE,EAgGjC,CAAC"}
@@ -6,11 +6,11 @@ import { Navigate as a, Route as o, Routes as s, useLocation as c } from "react-
6
6
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  import { Spinner as d } from "@burdenoff/fe-libs/ui";
8
8
  //#region src/theglobalfuel/TheGlobalFuelRoutes.tsx
9
- var f = r(() => import("./pages/assets/AssetsPage.js").then((e) => ({ default: e.AssetsPage }))), p = r(() => import("./pages/assets/AssetDetailPage.js").then((e) => ({ default: e.AssetDetailPage }))), m = r(() => import("./pages/production/ProductionPage.js").then((e) => ({ default: e.ProductionPage }))), h = r(() => import("./pages/reserves/ReservesPage.js").then((e) => ({ default: e.ReservesPage }))), g = r(() => import("./pages/contracts/ContractsPage.js").then((e) => ({ default: e.ContractsPage }))), _ = r(() => import("./pages/contracts/ContractDetailPage.js").then((e) => ({ default: e.ContractDetailPage }))), v = r(() => import("./pages/shipments/ShipmentsPage.js").then((e) => ({ default: e.ShipmentsPage }))), y = r(() => import("./pages/inventory/InventoryPage.js").then((e) => ({ default: e.InventoryPage }))), b = r(() => import("./pages/emissions/EmissionsPage.js").then((e) => ({ default: e.EmissionsPage }))), x = r(() => import("./pages/compliance/CompliancePage.js").then((e) => ({ default: e.CompliancePage }))), S = r(() => import("./pages/provenance/ProvenancePage.js").then((e) => ({ default: e.ProvenancePage }))), C = r(() => import("./pages/esg-disclosures/EsgDisclosuresPage.js").then((e) => ({ default: e.EsgDisclosuresPage }))), w = r(() => import("./pages/safety/SafetyDashboardPage.js").then((e) => ({ default: e.SafetyDashboardPage }))), T = r(() => import("./pages/safety/IncidentsPage.js").then((e) => ({ default: e.IncidentsPage }))), E = r(() => import("./pages/analytics/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), D = r(() => import("./pages/reports/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), O = r(() => import("./pages/alerts/AlertsPage.js").then((e) => ({ default: e.AlertsPage }))), k = () => /* @__PURE__ */ l("div", {
9
+ var f = r(() => import("./pages/assets/AssetsPage.js").then((e) => ({ default: e.AssetsPage }))), p = r(() => import("./pages/assets/AssetDetailPage.js").then((e) => ({ default: e.AssetDetailPage }))), m = r(() => import("./pages/production/ProductionPage.js").then((e) => ({ default: e.ProductionPage }))), h = r(() => import("./pages/reserves/ReservesPage.js").then((e) => ({ default: e.ReservesPage }))), g = r(() => import("./pages/contracts/ContractsPage.js").then((e) => ({ default: e.ContractsPage }))), _ = r(() => import("./pages/contracts/ContractDetailPage.js").then((e) => ({ default: e.ContractDetailPage }))), v = r(() => import("./pages/shipments/ShipmentsPage.js").then((e) => ({ default: e.ShipmentsPage }))), y = r(() => import("./pages/inventory/InventoryPage.js").then((e) => ({ default: e.InventoryPage }))), b = r(() => import("./pages/emissions/EmissionsPage.js").then((e) => ({ default: e.EmissionsPage }))), x = r(() => import("./pages/compliance/CompliancePage.js").then((e) => ({ default: e.CompliancePage }))), S = r(() => import("./pages/provenance/ProvenancePage.js").then((e) => ({ default: e.ProvenancePage }))), C = r(() => import("./pages/esg-disclosures/EsgDisclosuresPage.js").then((e) => ({ default: e.EsgDisclosuresPage }))), w = r(() => import("./pages/safety/SafetyDashboardPage.js").then((e) => ({ default: e.SafetyDashboardPage }))), T = r(() => import("./pages/safety/IncidentsPage.js").then((e) => ({ default: e.IncidentsPage }))), E = r(() => import("./pages/maintenance/MaintenanceDashboardPage.js").then((e) => ({ default: e.MaintenanceDashboardPage }))), D = r(() => import("./pages/maintenance/WorkOrdersPage.js").then((e) => ({ default: e.WorkOrdersPage }))), O = r(() => import("./pages/maintenance/EquipmentPage.js").then((e) => ({ default: e.EquipmentPage }))), k = r(() => import("./pages/field/FieldWorkOrdersPage.js").then((e) => ({ default: e.FieldWorkOrdersPage }))), A = r(() => import("./pages/analytics/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), j = r(() => import("./pages/reports/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), M = r(() => import("./pages/alerts/AlertsPage.js").then((e) => ({ default: e.AlertsPage }))), N = () => /* @__PURE__ */ l("div", {
10
10
  className: "flex min-h-[400px] items-center justify-center",
11
11
  children: /* @__PURE__ */ l(d, { size: "lg" })
12
12
  });
13
- function A() {
13
+ function P() {
14
14
  return /* @__PURE__ */ u("div", {
15
15
  className: "flex min-h-[400px] flex-col items-center justify-center gap-3 text-center p-6",
16
16
  children: [/* @__PURE__ */ l("p", {
@@ -22,97 +22,113 @@ function A() {
22
22
  })]
23
23
  });
24
24
  }
25
- function j(e, t) {
25
+ function F(e, t) {
26
26
  return /* @__PURE__ */ l(i, {
27
27
  flag: e,
28
28
  defaultValue: !0,
29
- fallback: /* @__PURE__ */ l(A, {}),
29
+ fallback: /* @__PURE__ */ l(P, {}),
30
30
  children: t
31
31
  });
32
32
  }
33
- var M = () => {
34
- let { basePath: r, isStandalone: i } = e(), d = c(), A = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
35
- return A && !i && !(d.pathname === A || d.pathname.startsWith(A + "/")) ? null : /* @__PURE__ */ l("div", {
33
+ var I = () => {
34
+ let { basePath: r, isStandalone: i } = e(), d = c(), P = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
35
+ return P && !i && !(d.pathname === P || d.pathname.startsWith(P + "/")) ? null : /* @__PURE__ */ l("div", {
36
36
  className: "flex min-h-full flex-col",
37
37
  children: /* @__PURE__ */ l(n, {
38
- fallback: /* @__PURE__ */ l(k, {}),
38
+ fallback: /* @__PURE__ */ l(N, {}),
39
39
  children: /* @__PURE__ */ u(s, { children: [
40
40
  /* @__PURE__ */ l(o, {
41
41
  index: !0,
42
- element: j("theglobalfuel.dashboard", /* @__PURE__ */ l(t, {}))
42
+ element: F("theglobalfuel.dashboard", /* @__PURE__ */ l(t, {}))
43
43
  }),
44
44
  /* @__PURE__ */ l(o, {
45
45
  path: "assets",
46
- element: j("theglobalfuel.assets", /* @__PURE__ */ l(f, {}))
46
+ element: F("theglobalfuel.assets", /* @__PURE__ */ l(f, {}))
47
47
  }),
48
48
  /* @__PURE__ */ l(o, {
49
49
  path: "assets/:id",
50
- element: j("theglobalfuel.assets", /* @__PURE__ */ l(p, {}))
50
+ element: F("theglobalfuel.assets", /* @__PURE__ */ l(p, {}))
51
51
  }),
52
52
  /* @__PURE__ */ l(o, {
53
53
  path: "production",
54
- element: j("theglobalfuel.production", /* @__PURE__ */ l(m, {}))
54
+ element: F("theglobalfuel.production", /* @__PURE__ */ l(m, {}))
55
55
  }),
56
56
  /* @__PURE__ */ l(o, {
57
57
  path: "reserves",
58
- element: j("theglobalfuel.reserves", /* @__PURE__ */ l(h, {}))
58
+ element: F("theglobalfuel.reserves", /* @__PURE__ */ l(h, {}))
59
59
  }),
60
60
  /* @__PURE__ */ l(o, {
61
61
  path: "contracts",
62
- element: j("theglobalfuel.contracts", /* @__PURE__ */ l(g, {}))
62
+ element: F("theglobalfuel.contracts", /* @__PURE__ */ l(g, {}))
63
63
  }),
64
64
  /* @__PURE__ */ l(o, {
65
65
  path: "contracts/:id",
66
- element: j("theglobalfuel.contracts", /* @__PURE__ */ l(_, {}))
66
+ element: F("theglobalfuel.contracts", /* @__PURE__ */ l(_, {}))
67
67
  }),
68
68
  /* @__PURE__ */ l(o, {
69
69
  path: "shipments",
70
- element: j("theglobalfuel.shipments", /* @__PURE__ */ l(v, {}))
70
+ element: F("theglobalfuel.shipments", /* @__PURE__ */ l(v, {}))
71
71
  }),
72
72
  /* @__PURE__ */ l(o, {
73
73
  path: "inventory",
74
- element: j("theglobalfuel.inventory", /* @__PURE__ */ l(y, {}))
74
+ element: F("theglobalfuel.inventory", /* @__PURE__ */ l(y, {}))
75
75
  }),
76
76
  /* @__PURE__ */ l(o, {
77
77
  path: "emissions",
78
- element: j("theglobalfuel.emissions", /* @__PURE__ */ l(b, {}))
78
+ element: F("theglobalfuel.emissions", /* @__PURE__ */ l(b, {}))
79
79
  }),
80
80
  /* @__PURE__ */ l(o, {
81
81
  path: "compliance",
82
- element: j("theglobalfuel.compliance", /* @__PURE__ */ l(x, {}))
82
+ element: F("theglobalfuel.compliance", /* @__PURE__ */ l(x, {}))
83
83
  }),
84
84
  /* @__PURE__ */ l(o, {
85
85
  path: "provenance",
86
- element: j("theglobalfuel.provenance", /* @__PURE__ */ l(S, {}))
86
+ element: F("theglobalfuel.provenance", /* @__PURE__ */ l(S, {}))
87
87
  }),
88
88
  /* @__PURE__ */ l(o, {
89
89
  path: "esg-disclosures",
90
- element: j("theglobalfuel.esg-disclosures", /* @__PURE__ */ l(C, {}))
90
+ element: F("theglobalfuel.esg-disclosures", /* @__PURE__ */ l(C, {}))
91
91
  }),
92
92
  /* @__PURE__ */ l(o, {
93
93
  path: "safety",
94
- element: j("theglobalfuel.safety", /* @__PURE__ */ l(w, {}))
94
+ element: F("theglobalfuel.safety", /* @__PURE__ */ l(w, {}))
95
95
  }),
96
96
  /* @__PURE__ */ l(o, {
97
97
  path: "safety/incidents",
98
- element: j("theglobalfuel.safety", /* @__PURE__ */ l(T, {}))
98
+ element: F("theglobalfuel.safety", /* @__PURE__ */ l(T, {}))
99
+ }),
100
+ /* @__PURE__ */ l(o, {
101
+ path: "maintenance",
102
+ element: F("theglobalfuel.maintenance", /* @__PURE__ */ l(E, {}))
103
+ }),
104
+ /* @__PURE__ */ l(o, {
105
+ path: "maintenance/work-orders",
106
+ element: F("theglobalfuel.maintenance", /* @__PURE__ */ l(D, {}))
107
+ }),
108
+ /* @__PURE__ */ l(o, {
109
+ path: "maintenance/equipment",
110
+ element: F("theglobalfuel.maintenance", /* @__PURE__ */ l(O, {}))
111
+ }),
112
+ /* @__PURE__ */ l(o, {
113
+ path: "field",
114
+ element: F("theglobalfuel.maintenance", /* @__PURE__ */ l(k, {}))
99
115
  }),
100
116
  /* @__PURE__ */ l(o, {
101
117
  path: "analytics",
102
- element: j("theglobalfuel.analytics", /* @__PURE__ */ l(E, {}))
118
+ element: F("theglobalfuel.analytics", /* @__PURE__ */ l(A, {}))
103
119
  }),
104
120
  /* @__PURE__ */ l(o, {
105
121
  path: "reports",
106
- element: j("theglobalfuel.reports", /* @__PURE__ */ l(D, {}))
122
+ element: F("theglobalfuel.reports", /* @__PURE__ */ l(j, {}))
107
123
  }),
108
124
  /* @__PURE__ */ l(o, {
109
125
  path: "alerts",
110
- element: j("theglobalfuel.alerts", /* @__PURE__ */ l(O, {}))
126
+ element: F("theglobalfuel.alerts", /* @__PURE__ */ l(M, {}))
111
127
  }),
112
128
  /* @__PURE__ */ l(o, {
113
129
  path: "*",
114
130
  element: /* @__PURE__ */ l(a, {
115
- to: A || "/",
131
+ to: P || "/",
116
132
  replace: !0
117
133
  })
118
134
  })
@@ -121,6 +137,6 @@ var M = () => {
121
137
  });
122
138
  };
123
139
  //#endregion
124
- export { M as TheGlobalFuelRoutes };
140
+ export { I as TheGlobalFuelRoutes };
125
141
 
126
142
  //# sourceMappingURL=TheGlobalFuelRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TheGlobalFuelRoutes.js","names":[],"sources":["../../src/theglobalfuel/TheGlobalFuelRoutes.tsx"],"sourcesContent":["/**\n * TheGlobalFuel Routes\n * @module theglobalfuel\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `the*` backend capability.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useTheGlobalFuel } from './context/TheGlobalFuelContext';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/dashboard/DashboardPage';\n\n// Registry — Assets, Production, Reserves\nconst AssetsPage = lazy(() =>\n import('./pages/assets/AssetsPage').then((m) => ({ default: m.AssetsPage }))\n);\nconst AssetDetailPage = lazy(() =>\n import('./pages/assets/AssetDetailPage').then((m) => ({ default: m.AssetDetailPage }))\n);\nconst ProductionPage = lazy(() =>\n import('./pages/production/ProductionPage').then((m) => ({ default: m.ProductionPage }))\n);\nconst ReservesPage = lazy(() =>\n import('./pages/reserves/ReservesPage').then((m) => ({ default: m.ReservesPage }))\n);\n\n// Commerce — Offtake Contracts, Shipments, Inventory\nconst ContractsPage = lazy(() =>\n import('./pages/contracts/ContractsPage').then((m) => ({ default: m.ContractsPage }))\n);\nconst ContractDetailPage = lazy(() =>\n import('./pages/contracts/ContractDetailPage').then((m) => ({ default: m.ContractDetailPage }))\n);\nconst ShipmentsPage = lazy(() =>\n import('./pages/shipments/ShipmentsPage').then((m) => ({ default: m.ShipmentsPage }))\n);\nconst InventoryPage = lazy(() =>\n import('./pages/inventory/InventoryPage').then((m) => ({ default: m.InventoryPage }))\n);\n\n// Sustainability — Emissions, Compliance\nconst EmissionsPage = lazy(() =>\n import('./pages/emissions/EmissionsPage').then((m) => ({ default: m.EmissionsPage }))\n);\nconst CompliancePage = lazy(() =>\n import('./pages/compliance/CompliancePage').then((m) => ({ default: m.CompliancePage }))\n);\nconst ProvenancePage = lazy(() =>\n import('./pages/provenance/ProvenancePage').then((m) => ({ default: m.ProvenancePage }))\n);\n\n// Sustainability — framework-aligned ESG disclosures (BOFF-4185).\nconst EsgDisclosuresPage = lazy(() =>\n import('./pages/esg-disclosures/EsgDisclosuresPage').then((m) => ({\n default: m.EsgDisclosuresPage,\n }))\n);\n\n// Safety — process-safety / EHS incident management (BOFF-4186).\nconst SafetyDashboardPage = lazy(() =>\n import('./pages/safety/SafetyDashboardPage').then((m) => ({ default: m.SafetyDashboardPage }))\n);\nconst IncidentsPage = lazy(() =>\n import('./pages/safety/IncidentsPage').then((m) => ({ default: m.IncidentsPage }))\n);\n\n// Cross-cutting operator surfaces — analytics, report extracts and exceptions.\nconst AnalyticsPage = lazy(() =>\n import('./pages/analytics/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\nconst ReportsPage = lazy(() =>\n import('./pages/reports/ReportsPage').then((m) => ({ default: m.ReportsPage }))\n);\nconst AlertsPage = lazy(() =>\n import('./pages/alerts/AlertsPage').then((m) => ({ default: m.AlertsPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\nfunction FeatureDisabledFallback() {\n return (\n <div className=\"flex min-h-[400px] flex-col items-center justify-center gap-3 text-center p-6\">\n <p className=\"text-sm font-medium text-text-secondary\">This feature is not available.</p>\n <p className=\"text-xs text-text-tertiary\">Ask your workspace admin to enable it.</p>\n </div>\n );\n}\n\nfunction gated(flag: string, element: ReactNode): React.ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const TheGlobalFuelRoutes: FC = () => {\n const { basePath, isStandalone } = useTheGlobalFuel();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={gated('theglobalfuel.dashboard', <DashboardPage />)} />\n\n <Route path=\"assets\" element={gated('theglobalfuel.assets', <AssetsPage />)} />\n <Route path=\"assets/:id\" element={gated('theglobalfuel.assets', <AssetDetailPage />)} />\n\n <Route\n path=\"production\"\n element={gated('theglobalfuel.production', <ProductionPage />)}\n />\n\n <Route path=\"reserves\" element={gated('theglobalfuel.reserves', <ReservesPage />)} />\n\n <Route path=\"contracts\" element={gated('theglobalfuel.contracts', <ContractsPage />)} />\n <Route\n path=\"contracts/:id\"\n element={gated('theglobalfuel.contracts', <ContractDetailPage />)}\n />\n\n <Route path=\"shipments\" element={gated('theglobalfuel.shipments', <ShipmentsPage />)} />\n\n <Route path=\"inventory\" element={gated('theglobalfuel.inventory', <InventoryPage />)} />\n\n <Route path=\"emissions\" element={gated('theglobalfuel.emissions', <EmissionsPage />)} />\n\n <Route\n path=\"compliance\"\n element={gated('theglobalfuel.compliance', <CompliancePage />)}\n />\n\n <Route\n path=\"provenance\"\n element={gated('theglobalfuel.provenance', <ProvenancePage />)}\n />\n\n <Route\n path=\"esg-disclosures\"\n element={gated('theglobalfuel.esg-disclosures', <EsgDisclosuresPage />)}\n />\n\n <Route path=\"safety\" element={gated('theglobalfuel.safety', <SafetyDashboardPage />)} />\n <Route\n path=\"safety/incidents\"\n element={gated('theglobalfuel.safety', <IncidentsPage />)}\n />\n\n <Route path=\"analytics\" element={gated('theglobalfuel.analytics', <AnalyticsPage />)} />\n\n <Route path=\"reports\" element={gated('theglobalfuel.reports', <ReportsPage />)} />\n\n <Route path=\"alerts\" element={gated('theglobalfuel.alerts', <AlertsPage />)} />\n\n {/* Unknown subpaths (e.g. /theglobalfuel/dashboard, stale bookmarks) canonicalize\n to the product root (the dashboard index). An absolute target avoids the\n self-referential `to=\"\"` loop that renders blank inside the nested Routes. */}\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"TheGlobalFuelRoutes.js","names":[],"sources":["../../src/theglobalfuel/TheGlobalFuelRoutes.tsx"],"sourcesContent":["/**\n * TheGlobalFuel Routes\n * @module theglobalfuel\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `the*` backend capability.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useTheGlobalFuel } from './context/TheGlobalFuelContext';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/dashboard/DashboardPage';\n\n// Registry — Assets, Production, Reserves\nconst AssetsPage = lazy(() =>\n import('./pages/assets/AssetsPage').then((m) => ({ default: m.AssetsPage }))\n);\nconst AssetDetailPage = lazy(() =>\n import('./pages/assets/AssetDetailPage').then((m) => ({ default: m.AssetDetailPage }))\n);\nconst ProductionPage = lazy(() =>\n import('./pages/production/ProductionPage').then((m) => ({ default: m.ProductionPage }))\n);\nconst ReservesPage = lazy(() =>\n import('./pages/reserves/ReservesPage').then((m) => ({ default: m.ReservesPage }))\n);\n\n// Commerce — Offtake Contracts, Shipments, Inventory\nconst ContractsPage = lazy(() =>\n import('./pages/contracts/ContractsPage').then((m) => ({ default: m.ContractsPage }))\n);\nconst ContractDetailPage = lazy(() =>\n import('./pages/contracts/ContractDetailPage').then((m) => ({ default: m.ContractDetailPage }))\n);\nconst ShipmentsPage = lazy(() =>\n import('./pages/shipments/ShipmentsPage').then((m) => ({ default: m.ShipmentsPage }))\n);\nconst InventoryPage = lazy(() =>\n import('./pages/inventory/InventoryPage').then((m) => ({ default: m.InventoryPage }))\n);\n\n// Sustainability — Emissions, Compliance\nconst EmissionsPage = lazy(() =>\n import('./pages/emissions/EmissionsPage').then((m) => ({ default: m.EmissionsPage }))\n);\nconst CompliancePage = lazy(() =>\n import('./pages/compliance/CompliancePage').then((m) => ({ default: m.CompliancePage }))\n);\nconst ProvenancePage = lazy(() =>\n import('./pages/provenance/ProvenancePage').then((m) => ({ default: m.ProvenancePage }))\n);\n\n// Sustainability — framework-aligned ESG disclosures (BOFF-4185).\nconst EsgDisclosuresPage = lazy(() =>\n import('./pages/esg-disclosures/EsgDisclosuresPage').then((m) => ({\n default: m.EsgDisclosuresPage,\n }))\n);\n\n// Safety — process-safety / EHS incident management (BOFF-4186).\nconst SafetyDashboardPage = lazy(() =>\n import('./pages/safety/SafetyDashboardPage').then((m) => ({ default: m.SafetyDashboardPage }))\n);\nconst IncidentsPage = lazy(() =>\n import('./pages/safety/IncidentsPage').then((m) => ({ default: m.IncidentsPage }))\n);\n\n// Maintenance / EAM — equipment register, preventive schedules, work orders and\n// the technician field queue (BOFF-4184).\nconst MaintenanceDashboardPage = lazy(() =>\n import('./pages/maintenance/MaintenanceDashboardPage').then((m) => ({\n default: m.MaintenanceDashboardPage,\n }))\n);\nconst WorkOrdersPage = lazy(() =>\n import('./pages/maintenance/WorkOrdersPage').then((m) => ({ default: m.WorkOrdersPage }))\n);\nconst EquipmentPage = lazy(() =>\n import('./pages/maintenance/EquipmentPage').then((m) => ({ default: m.EquipmentPage }))\n);\nconst FieldWorkOrdersPage = lazy(() =>\n import('./pages/field/FieldWorkOrdersPage').then((m) => ({ default: m.FieldWorkOrdersPage }))\n);\n\n// Cross-cutting operator surfaces — analytics, report extracts and exceptions.\nconst AnalyticsPage = lazy(() =>\n import('./pages/analytics/AnalyticsPage').then((m) => ({ default: m.AnalyticsPage }))\n);\nconst ReportsPage = lazy(() =>\n import('./pages/reports/ReportsPage').then((m) => ({ default: m.ReportsPage }))\n);\nconst AlertsPage = lazy(() =>\n import('./pages/alerts/AlertsPage').then((m) => ({ default: m.AlertsPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\nfunction FeatureDisabledFallback() {\n return (\n <div className=\"flex min-h-[400px] flex-col items-center justify-center gap-3 text-center p-6\">\n <p className=\"text-sm font-medium text-text-secondary\">This feature is not available.</p>\n <p className=\"text-xs text-text-tertiary\">Ask your workspace admin to enable it.</p>\n </div>\n );\n}\n\nfunction gated(flag: string, element: ReactNode): React.ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const TheGlobalFuelRoutes: FC = () => {\n const { basePath, isStandalone } = useTheGlobalFuel();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={gated('theglobalfuel.dashboard', <DashboardPage />)} />\n\n <Route path=\"assets\" element={gated('theglobalfuel.assets', <AssetsPage />)} />\n <Route path=\"assets/:id\" element={gated('theglobalfuel.assets', <AssetDetailPage />)} />\n\n <Route\n path=\"production\"\n element={gated('theglobalfuel.production', <ProductionPage />)}\n />\n\n <Route path=\"reserves\" element={gated('theglobalfuel.reserves', <ReservesPage />)} />\n\n <Route path=\"contracts\" element={gated('theglobalfuel.contracts', <ContractsPage />)} />\n <Route\n path=\"contracts/:id\"\n element={gated('theglobalfuel.contracts', <ContractDetailPage />)}\n />\n\n <Route path=\"shipments\" element={gated('theglobalfuel.shipments', <ShipmentsPage />)} />\n\n <Route path=\"inventory\" element={gated('theglobalfuel.inventory', <InventoryPage />)} />\n\n <Route path=\"emissions\" element={gated('theglobalfuel.emissions', <EmissionsPage />)} />\n\n <Route\n path=\"compliance\"\n element={gated('theglobalfuel.compliance', <CompliancePage />)}\n />\n\n <Route\n path=\"provenance\"\n element={gated('theglobalfuel.provenance', <ProvenancePage />)}\n />\n\n <Route\n path=\"esg-disclosures\"\n element={gated('theglobalfuel.esg-disclosures', <EsgDisclosuresPage />)}\n />\n\n <Route path=\"safety\" element={gated('theglobalfuel.safety', <SafetyDashboardPage />)} />\n <Route\n path=\"safety/incidents\"\n element={gated('theglobalfuel.safety', <IncidentsPage />)}\n />\n\n <Route\n path=\"maintenance\"\n element={gated('theglobalfuel.maintenance', <MaintenanceDashboardPage />)}\n />\n <Route\n path=\"maintenance/work-orders\"\n element={gated('theglobalfuel.maintenance', <WorkOrdersPage />)}\n />\n <Route\n path=\"maintenance/equipment\"\n element={gated('theglobalfuel.maintenance', <EquipmentPage />)}\n />\n <Route\n path=\"field\"\n element={gated('theglobalfuel.maintenance', <FieldWorkOrdersPage />)}\n />\n\n <Route path=\"analytics\" element={gated('theglobalfuel.analytics', <AnalyticsPage />)} />\n\n <Route path=\"reports\" element={gated('theglobalfuel.reports', <ReportsPage />)} />\n\n <Route path=\"alerts\" element={gated('theglobalfuel.alerts', <AlertsPage />)} />\n\n {/* Unknown subpaths (e.g. /theglobalfuel/dashboard, stale bookmarks) canonicalize\n to the product root (the dashboard index). An absolute target avoids the\n self-referential `to=\"\"` loop that renders blank inside the nested Routes. */}\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * BulkAllocateSheet — apply one set of pro-rata factors (e.g. the latest well
3
+ * tests) to every unallocated production record of a field or facility in a
4
+ * period, in one action (BOFF-10788).
5
+ * @module theglobalfuel/components
6
+ *
7
+ * "Validate" runs `theBulkAllocateProduction` as a dry run (nothing is
8
+ * written) so the operator sees which records would be allocated, skipped or
9
+ * refused (for example because the period is closed). "Allocate" runs it for
10
+ * real, optionally approving every allocation it creates. Each record is
11
+ * reported with its own outcome.
12
+ */
13
+ interface BulkAllocateSheetProps {
14
+ open: boolean;
15
+ onOpenChange: (open: boolean) => void;
16
+ }
17
+ export declare function BulkAllocateSheet({ open, onOpenChange }: BulkAllocateSheetProps): import("react").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=BulkAllocateSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkAllocateSheet.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/components/BulkAllocateSheet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8BH,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAID,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,sBAAsB,+BA4V/E"}