@burdenoff/microfe-theglobalfuel 2026.1015.1 → 2026.1026.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.
@@ -26,10 +26,10 @@ export interface TheComment {
26
26
  replyCount: number;
27
27
  }
28
28
  /** Top-level (root) comments for an eco entity, oldest first. */
29
- export declare const useTheComments: (entityType: string, entityId: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
29
+ export declare const useTheComments: (entityType: string, entityId: string | undefined) => import('@tanstack/react-query').UseQueryResult<{
30
30
  items: TheComment[];
31
31
  total: number;
32
- }>, Error>;
32
+ }, Error>;
33
33
  export declare const useTheCreateComment: (entityType: string, entityId: string) => import('@tanstack/react-query').UseMutationResult<{
34
34
  id: string;
35
35
  }, Error, string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"useTheComments.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheComments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,iEAAiE;AACjE,eAAO,MAAM,cAAc,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS;;;UAwC9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAKN,MAAM;0BAmBvE,CAAC"}
1
+ {"version":3,"file":"useTheComments.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheComments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,iEAAiE;AACjE,eAAO,MAAM,cAAc,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS;;;SAwC9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAKN,MAAM;0BAmBvE,CAAC"}
@@ -43,5 +43,5 @@ export interface TheFileMeta {
43
43
  mimeType: string;
44
44
  size: string;
45
45
  }
46
- export declare const useTheFile: (id: string | null | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheFileMeta | null>, Error>;
46
+ export declare const useTheFile: (id: string | null | undefined) => import('@tanstack/react-query').UseQueryResult<TheFileMeta | null, Error>;
47
47
  //# sourceMappingURL=useTheFiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheFiles.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheFiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA8BH,8EAA8E;AAC9E,eAAO,MAAM,WAAW,GAAU,KAAK,EACrC,OAAO,MAAM,EACb,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,MAAM,KACf,OAAO,CAAC,KAAK,CAmBf,CAAC;AAMF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+BD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAO,sBAuFnC,CAAC;AAMF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,uFAsBvD,CAAC"}
1
+ {"version":3,"file":"useTheFiles.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheFiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA8BH,8EAA8E;AAC9E,eAAO,MAAM,WAAW,GAAU,KAAK,EACrC,OAAO,MAAM,EACb,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,MAAM,KACf,OAAO,CAAC,KAAK,CAmBf,CAAC;AAMF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+BD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAO,sBAuFnC,CAAC;AAMF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,8EAsBvD,CAAC"}
@@ -6,8 +6,8 @@ export interface AssetFilters {
6
6
  status?: TheAssetStatus;
7
7
  pagination?: PaginationInput;
8
8
  }
9
- export declare const useTheAssets: (filters?: AssetFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheAsset>>, Error>;
10
- export declare const useTheAsset: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheAsset | null>, Error>;
9
+ export declare const useTheAssets: (filters?: AssetFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheAsset>, Error>;
10
+ export declare const useTheAsset: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<TheAsset | null, Error>;
11
11
  export declare const useTheCreateAsset: () => import('@tanstack/react-query').UseMutationResult<TheAsset, Error, TheCreateAssetInput, unknown>;
12
12
  export declare const useTheUpdateAsset: () => import('@tanstack/react-query').UseMutationResult<TheAsset, Error, {
13
13
  id: string;
@@ -22,9 +22,9 @@ export interface ProductionFilters {
22
22
  assetId?: string;
23
23
  pagination?: PaginationInput;
24
24
  }
25
- export declare const useTheProductionRecords: (filters?: ProductionFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheProductionRecord>>, Error>;
25
+ export declare const useTheProductionRecords: (filters?: ProductionFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheProductionRecord>, Error>;
26
26
  export declare const useTheRecordProduction: () => import('@tanstack/react-query').UseMutationResult<TheProductionRecord, Error, TheRecordProductionInput, unknown>;
27
- export declare const useTheReserveEstimates: (assetId?: string, category?: TheReserveCategory, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheReserveEstimate>>, Error>;
27
+ export declare const useTheReserveEstimates: (assetId?: string, category?: TheReserveCategory, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheReserveEstimate>, Error>;
28
28
  export declare const useTheCreateReserveEstimate: () => import('@tanstack/react-query').UseMutationResult<TheReserveEstimate, Error, TheCreateReserveEstimateInput, unknown>;
29
29
  export interface ContractFilters {
30
30
  commodity?: TheCommodityType;
@@ -32,8 +32,8 @@ export interface ContractFilters {
32
32
  status?: TheContractStatus;
33
33
  pagination?: PaginationInput;
34
34
  }
35
- export declare const useTheContracts: (filters?: ContractFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheOfftakeContract>>, Error>;
36
- export declare const useTheContract: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheOfftakeContract | null>, Error>;
35
+ export declare const useTheContracts: (filters?: ContractFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheOfftakeContract>, Error>;
36
+ export declare const useTheContract: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<TheOfftakeContract | null, Error>;
37
37
  export declare const useTheCreateContract: () => import('@tanstack/react-query').UseMutationResult<TheOfftakeContract, Error, TheCreateOfftakeContractInput, unknown>;
38
38
  export declare const useTheUpdateContract: () => import('@tanstack/react-query').UseMutationResult<TheOfftakeContract, Error, {
39
39
  id: string;
@@ -43,7 +43,7 @@ export declare const useTheTransitionContract: () => import('@tanstack/react-que
43
43
  id: string;
44
44
  status: TheContractStatus;
45
45
  }, unknown>;
46
- export declare const useTheShipments: (contractId?: string, status?: TheShipmentStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheShipment>>, Error>;
46
+ export declare const useTheShipments: (contractId?: string, status?: TheShipmentStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheShipment>, Error>;
47
47
  export declare const useTheTransitionShipment: () => import('@tanstack/react-query').UseMutationResult<TheShipment, Error, {
48
48
  id: string;
49
49
  status: TheShipmentStatus;
@@ -64,7 +64,7 @@ export interface InventoryFilters {
64
64
  status?: TheInventoryStatus;
65
65
  pagination?: PaginationInput;
66
66
  }
67
- export declare const useTheInventoryLots: (filters?: InventoryFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheInventoryLot>>, Error>;
67
+ export declare const useTheInventoryLots: (filters?: InventoryFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheInventoryLot>, Error>;
68
68
  export declare const useTheCreateInventoryLot: () => import('@tanstack/react-query').UseMutationResult<TheInventoryLot, Error, TheCreateInventoryLotInput, unknown>;
69
69
  export declare const useTheSetInventoryLotStatus: () => import('@tanstack/react-query').UseMutationResult<TheInventoryLot, Error, {
70
70
  id: string;
@@ -75,11 +75,11 @@ export interface EmissionFilters {
75
75
  scope?: TheEmissionScope;
76
76
  pagination?: PaginationInput;
77
77
  }
78
- export declare const useTheEmissionRecords: (filters?: EmissionFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheEmissionRecord>>, Error>;
78
+ export declare const useTheEmissionRecords: (filters?: EmissionFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheEmissionRecord>, Error>;
79
79
  export declare const useTheRecordEmission: () => import('@tanstack/react-query').UseMutationResult<TheEmissionRecord, Error, TheRecordEmissionInput, unknown>;
80
80
  export declare const useTheVerifyEmission: () => import('@tanstack/react-query').UseMutationResult<TheEmissionRecord, Error, string, unknown>;
81
- export declare const useTheComplianceCerts: (assetId?: string, category?: TheComplianceCategory, status?: TheComplianceStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheComplianceCert>>, Error>;
82
- export declare const useTheComplianceCert: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheComplianceCert | null>, Error>;
81
+ export declare const useTheComplianceCerts: (assetId?: string, category?: TheComplianceCategory, status?: TheComplianceStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheComplianceCert>, Error>;
82
+ export declare const useTheComplianceCert: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<TheComplianceCert | null, Error>;
83
83
  export declare const useTheCreateComplianceCert: () => import('@tanstack/react-query').UseMutationResult<TheComplianceCert, Error, TheCreateComplianceCertInput, unknown>;
84
84
  export declare const useTheTransitionComplianceCert: () => import('@tanstack/react-query').UseMutationResult<TheComplianceCert, Error, {
85
85
  id: string;
@@ -92,8 +92,8 @@ export interface SafetyIncidentFilters {
92
92
  status?: TheSafetyIncidentStatus;
93
93
  pagination?: PaginationInput;
94
94
  }
95
- export declare const useTheSafetyIncidents: (filters?: SafetyIncidentFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheSafetyIncident>>, Error>;
96
- export declare const useTheSafetyIncident: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheSafetyIncident | null>, Error>;
95
+ export declare const useTheSafetyIncidents: (filters?: SafetyIncidentFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheSafetyIncident>, Error>;
96
+ export declare const useTheSafetyIncident: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<TheSafetyIncident | null, Error>;
97
97
  export declare const useTheReportSafetyIncident: () => import('@tanstack/react-query').UseMutationResult<TheSafetyIncident, Error, TheReportSafetyIncidentInput, unknown>;
98
98
  export declare const useTheTransitionSafetyIncident: () => import('@tanstack/react-query').UseMutationResult<TheSafetyIncident, Error, {
99
99
  id: string;
@@ -103,18 +103,18 @@ export declare const useTheUpdateIncidentInvestigation: () => import('@tanstack/
103
103
  id: string;
104
104
  investigationNotes: string;
105
105
  }, unknown>;
106
- export declare const useTheCorrectiveActions: (incidentId?: string, status?: TheCorrectiveActionStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheCorrectiveAction>>, Error>;
106
+ export declare const useTheCorrectiveActions: (incidentId?: string, status?: TheCorrectiveActionStatus, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheCorrectiveAction>, Error>;
107
107
  export declare const useTheCreateCorrectiveAction: () => import('@tanstack/react-query').UseMutationResult<TheCorrectiveAction, Error, TheCreateCorrectiveActionInput, unknown>;
108
108
  export declare const useTheTransitionCorrectiveAction: () => import('@tanstack/react-query').UseMutationResult<TheCorrectiveAction, Error, {
109
109
  id: string;
110
110
  status: TheCorrectiveActionStatus;
111
111
  }, unknown>;
112
- export declare const useTheSafetyDashboard: () => import('@tanstack/react-query').UseQueryResult<NoInfer<TheSafetyDashboard>, Error>;
112
+ export declare const useTheSafetyDashboard: () => import('@tanstack/react-query').UseQueryResult<TheSafetyDashboard, Error>;
113
113
  export interface EsgDisclosureFilters {
114
114
  framework?: TheEsgFramework;
115
115
  pagination?: PaginationInput;
116
116
  }
117
- export declare const useTheEsgDisclosures: (filters?: EsgDisclosureFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheConnection<TheEsgDisclosure>>, Error>;
117
+ export declare const useTheEsgDisclosures: (filters?: EsgDisclosureFilters) => import('@tanstack/react-query').UseQueryResult<TheConnection<TheEsgDisclosure>, Error>;
118
118
  export declare const useTheGenerateEsgDisclosure: () => import('@tanstack/react-query').UseMutationResult<TheEsgDisclosure, Error, TheGenerateEsgDisclosureInput, unknown>;
119
119
  export declare const useTheFinalizeEsgDisclosure: () => import('@tanstack/react-query').UseMutationResult<TheEsgDisclosure, Error, string, unknown>;
120
120
  //# sourceMappingURL=useTheGlobalFuelApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheGlobalFuelApi.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheGlobalFuelApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTheGlobalFuelApi.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheGlobalFuelApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,8BAA8B,EAC9B,eAAe,EAChB,MAAM,UAAU,CAAC;AA6IlB,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,GAAI,UAAS,YAAiB,mFAuBtD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,GAAG,SAAS,2EAgBjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,wGAgB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;QAIc,MAAM;WAAS,mBAAmB;WAe7E,CAAC;AAEF,eAAO,MAAM,qBAAqB;QAIW,MAAM;YAAU,cAAc;WAe1E,CAAC;AAEF,eAAO,MAAM,iBAAiB,0FAc7B,CAAC;AAMF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,GAAI,UAAS,iBAAsB,8FAkBtE,CAAC;AAEF,eAAO,MAAM,sBAAsB,wHAmBlC,CAAC;AAMF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,WAAW,kBAAkB,EAC7B,aAAa,eAAe,6FAmB7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,4HAmBvC,CAAC;AAMF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,GAAI,UAAS,eAAoB,6FAuB5D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,GAAG,SAAS,qFAgBpD,CAAC;AAEF,eAAO,MAAM,oBAAoB,4HAgBhC,CAAC;AAEF,eAAO,MAAM,oBAAoB;QAIW,MAAM;WAAS,6BAA6B;WAevF,CAAC;AAEF,eAAO,MAAM,wBAAwB;QAIQ,MAAM;YAAU,iBAAiB;WAe7E,CAAC;AAMF,eAAO,MAAM,eAAe,GAC1B,aAAa,MAAM,EACnB,SAAS,iBAAiB,EAC1B,aAAa,eAAe,sFAmB7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;QAIQ,MAAM;YAAU,iBAAiB;WAe7E,CAAC;AAEF,eAAO,MAAM,sBAAsB,8GAmBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;QAIW,MAAM;WAAS,sBAAsB;WAehF,CAAC;AAEF,eAAO,MAAM,qBAAqB,8FAoBjC,CAAC;AAMF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,GAAI,UAAS,gBAAqB,0FAsBjE,CAAC;AAEF,eAAO,MAAM,wBAAwB,sHAgBpC,CAAC;AAEF,eAAO,MAAM,2BAA2B;QAIK,MAAM;YAAU,kBAAkB;WAY9E,CAAC;AAMF,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,GAAI,UAAS,eAAoB,4FAsBlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,oHAgBhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oGAgBhC,CAAC;AAMF,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,EAChB,WAAW,qBAAqB,EAChC,SAAS,mBAAmB,EAC5B,aAAa,eAAe,4FAyB7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,GAAG,SAAS,oFAgB1D,CAAC;AAEF,eAAO,MAAM,0BAA0B,0HAgBtC,CAAC;AAEF,eAAO,MAAM,8BAA8B;QAIE,MAAM;YAAU,mBAAmB;WAe/E,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,GAAI,UAAS,qBAA0B,4FA0BxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,GAAG,SAAS,oFAgB1D,CAAC;AAEF,eAAO,MAAM,0BAA0B,0HAmBtC,CAAC;AAEF,eAAO,MAAM,8BAA8B;QAIE,MAAM;YAAU,uBAAuB;WAgBnF,CAAC;AAEF,eAAO,MAAM,iCAAiC;QAIW,MAAM;wBAAsB,MAAM;WAe1F,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,EACnB,SAAS,yBAAyB,EAClC,aAAa,eAAe,8FAqB7B,CAAC;AAEF,eAAO,MAAM,4BAA4B,8HAmBxC,CAAC;AAEF,eAAO,MAAM,gCAAgC;QAIA,MAAM;YAAU,yBAAyB;WAerF,CAAC;AAEF,eAAO,MAAM,qBAAqB,iFAqBjC,CAAC;AAMF,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAS,oBAAyB,2FAkBtE,CAAC;AAEF,eAAO,MAAM,2BAA2B,0HAgBvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,mGAgBvC,CAAC"}
@@ -28,9 +28,9 @@ export interface TheTagAssignment {
28
28
  tag: TheTag;
29
29
  }
30
30
  /** Current tag assignments for an eco entity. */
31
- export declare const useTheEntityTags: (entityType: string, entityId: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheTagAssignment[]>, Error>;
31
+ export declare const useTheEntityTags: (entityType: string, entityId: string | undefined) => import('@tanstack/react-query').UseQueryResult<TheTagAssignment[], Error>;
32
32
  /** Search existing tags (enabled only for a non-empty query). */
33
- export declare const useTheTagSearch: (query: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<TheTag[]>, Error>;
33
+ export declare const useTheTagSearch: (query: string) => import('@tanstack/react-query').UseQueryResult<TheTag[], Error>;
34
34
  /** Assign an existing tag to the entity. */
35
35
  export declare const useTheAssignTag: (entityType: string, entityId: string) => import('@tanstack/react-query').UseMutationResult<{
36
36
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useTheTags.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheTags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAiBD,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,uFAmBhF,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,6EAiB5C,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAKZ,MAAM;0BAW7D,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,uFAgB7E,CAAC;AA+BF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAalB,MAAM;0BAkBhE,CAAC"}
1
+ {"version":3,"file":"useTheTags.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/hooks/useTheTags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAiBD,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,8EAmBhF,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,oEAiB5C,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAKZ,MAAM;0BAW7D,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,uFAgB7E,CAAC;AA+BF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM;QAalB,MAAM;0BAkBhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPage.d.ts","sourceRoot":"","sources":["../../../../src/theglobalfuel/pages/assets/AssetsPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4IH,wBAAgB,UAAU,gCAsfzB"}
1
+ {"version":3,"file":"AssetsPage.d.ts","sourceRoot":"","sources":["../../../../src/theglobalfuel/pages/assets/AssetsPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4IH,wBAAgB,UAAU,gCAogBzB"}
@@ -122,6 +122,7 @@ function F() {
122
122
  {
123
123
  key: "name",
124
124
  header: "Asset",
125
+ className: "min-w-[14rem] sm:min-w-[18rem]",
125
126
  render: (e) => /* @__PURE__ */ y("div", {
126
127
  className: "flex items-center gap-3",
127
128
  children: [/* @__PURE__ */ v("span", {
@@ -131,9 +132,11 @@ function F() {
131
132
  className: "min-w-0",
132
133
  children: [/* @__PURE__ */ v("p", {
133
134
  className: "truncate font-semibold text-text-primary",
135
+ title: e.name,
134
136
  children: e.name
135
137
  }), e.code && /* @__PURE__ */ v("p", {
136
138
  className: "truncate text-xs text-text-tertiary",
139
+ title: e.code,
137
140
  children: e.code
138
141
  })]
139
142
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPage.js","names":[],"sources":["../../../../src/theglobalfuel/pages/assets/AssetsPage.tsx"],"sourcesContent":["/**\n * Assets — the resource registry: list, filter & register energy/mineral assets.\n * @module theglobalfuel/pages/assets\n *\n * Reads `theListAssets` (cursor-paginated) with status / commodity / kind\n * filters; writes `theCreateAsset`. Rows drill into `assets/:id`. No mock data —\n * every field comes from the `wspace-theglobalfuel-svc` GraphQL contract.\n */\n\nimport { useMemo, useState } from 'react';\nimport { Plus, Fuel, MapPin } from 'lucide-react';\nimport {\n Button,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n} from '@burdenoff/fe-libs/ui';\nimport {\n PageLayout,\n StatusBadge,\n DataTable,\n type Column,\n FilterTabs,\n type FilterOption,\n LoadingView,\n ErrorView,\n EmptyState,\n Pagination,\n} from '../../components';\nimport { useTheGlobalFuel } from '../../context';\nimport {\n useTheAssets,\n useTheCreateAsset,\n useCursorPager,\n useNotify,\n useTheAnalytics,\n useThePageView,\n useTheNativeControls,\n useTheTranslation,\n} from '../../hooks';\nimport {\n formatEnumLabel,\n formatVolume,\n formatPercent,\n formatRelativeTime,\n toBackendDate,\n} from '../../utils';\nimport type {\n TheAsset,\n TheAssetKind,\n TheAssetStatus,\n TheCommodityType,\n TheUnit,\n} from '../../types';\n\nconst STATUS_FILTERS: FilterOption<TheAssetStatus | 'ALL'>[] = [\n { value: 'ALL', label: 'All' },\n { value: 'EXPLORATION', label: 'Exploration' },\n { value: 'APPRAISAL', label: 'Appraisal' },\n { value: 'DEVELOPMENT', label: 'Development' },\n { value: 'PRODUCING', label: 'Producing' },\n { value: 'SUSPENDED', label: 'Suspended' },\n { value: 'DECOMMISSIONING', label: 'Decommissioning' },\n { value: 'RETIRED', label: 'Retired' },\n];\n\nconst ASSET_KINDS: TheAssetKind[] = [\n 'OIL_FIELD',\n 'GAS_FIELD',\n 'WELL',\n 'MINE',\n 'QUARRY',\n 'REFINERY',\n 'PROCESSING_PLANT',\n 'POWER_PLANT',\n 'SOLAR_FARM',\n 'WIND_FARM',\n 'STORAGE_TERMINAL',\n 'PIPELINE',\n];\n\nconst COMMODITIES: TheCommodityType[] = [\n 'CRUDE_OIL',\n 'NATURAL_GAS',\n 'LNG',\n 'COAL',\n 'ELECTRICITY',\n 'HYDROGEN',\n 'BIOFUEL',\n 'IRON_ORE',\n 'COPPER',\n 'BAUXITE',\n 'GOLD',\n 'LITHIUM',\n 'RARE_EARTH',\n];\n\nconst UNITS: TheUnit[] = ['BARRELS', 'CUBIC_METERS', 'TONNES', 'KILOGRAMS', 'MWH', 'GJ', 'MCF'];\n\nconst PAGE_SIZE = 25;\n\ninterface CreateFormState {\n name: string;\n code: string;\n commodity: TheCommodityType;\n kind: TheAssetKind;\n status: TheAssetStatus;\n location: string;\n latitude: string;\n longitude: string;\n capacityPerDay: string;\n capacityUnit: TheUnit;\n workingInterestPct: string;\n discoveryAt: string;\n area: string;\n reservoirType: string;\n waterDepth: string;\n}\n\nconst EMPTY_FORM: CreateFormState = {\n name: '',\n code: '',\n commodity: 'CRUDE_OIL',\n kind: 'OIL_FIELD',\n status: 'EXPLORATION',\n location: '',\n latitude: '',\n longitude: '',\n capacityPerDay: '',\n capacityUnit: 'BARRELS',\n workingInterestPct: '',\n discoveryAt: '',\n area: '',\n reservoirType: '',\n waterDepth: '',\n};\n\nexport function AssetsPage() {\n useThePageView('assets');\n const t = useTheTranslation();\n const { navigateTo } = useTheGlobalFuel();\n const notify = useNotify();\n const { haptic } = useTheNativeControls();\n const { trackAssetCreateClicked, trackAssetCreated } = useTheAnalytics();\n const [status, setStatus] = useState<TheAssetStatus | 'ALL'>('ALL');\n const [commodity, setCommodity] = useState<TheCommodityType | 'ALL'>('ALL');\n const [kind, setKind] = useState<TheAssetKind | 'ALL'>('ALL');\n const pager = useCursorPager();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [form, setForm] = useState<CreateFormState>(EMPTY_FORM);\n const [formError, setFormError] = useState<string | null>(null);\n\n const { data, isLoading, isError, refetch } = useTheAssets({\n status: status === 'ALL' ? undefined : status,\n commodity: commodity === 'ALL' ? undefined : commodity,\n kind: kind === 'ALL' ? undefined : kind,\n pagination: { limit: PAGE_SIZE, offset: pager.page * PAGE_SIZE },\n });\n const createAsset = useTheCreateAsset();\n\n const rows = useMemo(() => data?.items ?? [], [data]);\n const filtersActive = status !== 'ALL' || commodity !== 'ALL' || kind !== 'ALL';\n\n const columns: Column<TheAsset>[] = [\n {\n key: 'name',\n header: 'Asset',\n render: (a) => (\n <div className=\"flex items-center gap-3\">\n <span className=\"grid size-9 shrink-0 place-items-center rounded-lg bg-bg-sunken text-text-secondary\">\n <Fuel className=\"h-4 w-4\" />\n </span>\n <div className=\"min-w-0\">\n <p className=\"truncate font-semibold text-text-primary\">{a.name}</p>\n {a.code && <p className=\"truncate text-xs text-text-tertiary\">{a.code}</p>}\n </div>\n </div>\n ),\n },\n {\n key: 'kind',\n header: 'Kind',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-secondary\">{formatEnumLabel(a.kind)}</span>,\n },\n {\n key: 'commodity',\n header: 'Commodity',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-secondary\">{formatEnumLabel(a.commodity)}</span>,\n },\n { key: 'status', header: 'Status', render: (a) => <StatusBadge status={a.status} /> },\n {\n key: 'capacity',\n header: 'Capacity',\n align: 'right',\n hideOnMobile: true,\n sortValue: (a) => a.capacityPerDay,\n render: (a) =>\n a.capacityPerDay > 0 ? (\n <span className=\"tabular-nums text-text-secondary\">\n {formatVolume(a.capacityPerDay, a.capacityUnit)}/day\n </span>\n ) : (\n <span className=\"text-text-tertiary\">—</span>\n ),\n },\n {\n key: 'workingInterest',\n header: 'Working interest',\n align: 'right',\n hideOnMobile: true,\n sortValue: (a) => a.workingInterestPct,\n render: (a) => (\n <span className=\"tabular-nums text-text-secondary\">\n {formatPercent(a.workingInterestPct)}\n </span>\n ),\n },\n {\n key: 'location',\n header: 'Location',\n hideOnMobile: true,\n render: (a) =>\n a.location ? (\n <span className=\"inline-flex items-center gap-1.5 text-text-secondary\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0 text-text-tertiary\" />\n {a.location}\n </span>\n ) : (\n <span className=\"text-text-tertiary\">—</span>\n ),\n },\n {\n key: 'updated',\n header: 'Updated',\n align: 'right',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-tertiary\">{formatRelativeTime(a.updatedAt)}</span>,\n },\n ];\n\n const resetForm = () => {\n setForm(EMPTY_FORM);\n setFormError(null);\n };\n\n const handleCreate = async () => {\n if (!form.name.trim()) {\n setFormError('Asset name is required.');\n return;\n }\n setFormError(null);\n haptic('light');\n trackAssetCreateClicked();\n try {\n const created = await createAsset.mutateAsync({\n name: form.name.trim(),\n code: form.code.trim() || null,\n commodity: form.commodity,\n kind: form.kind,\n status: form.status,\n location: form.location.trim() || null,\n latitude: form.latitude ? Number(form.latitude) : null,\n longitude: form.longitude ? Number(form.longitude) : null,\n capacityPerDay: form.capacityPerDay ? Number(form.capacityPerDay) : null,\n capacityUnit: form.capacityUnit,\n workingInterestPct: form.workingInterestPct ? Number(form.workingInterestPct) : null,\n discoveryAt: toBackendDate(form.discoveryAt) || null,\n area: form.area ? Number(form.area) : null,\n reservoirType: form.reservoirType.trim() || null,\n waterDepth: form.waterDepth ? Number(form.waterDepth) : null,\n });\n trackAssetCreated(created.id);\n notify.success('Asset created');\n setDialogOpen(false);\n resetForm();\n navigateTo(`assets/${created.id}`);\n } catch (err) {\n notify.fromError(err);\n setFormError(err instanceof Error ? err.message : 'Failed to create asset.');\n }\n };\n\n return (\n <PageLayout\n title={t('theglobalfuel.pages.assets.title', 'Assets')}\n description={t(\n 'theglobalfuel.pages.assets.description',\n 'Resource registry — fields, wells, mines, plants, terminals & pipelines across every commodity.'\n )}\n dataTour=\"theglobalfuel-assets-page\"\n actions={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New asset\n </Button>\n }\n >\n <div className=\"mb-5 flex flex-wrap items-center gap-3\">\n <FilterTabs\n options={STATUS_FILTERS}\n value={status}\n onChange={(v) => {\n setStatus(v);\n pager.reset();\n }}\n />\n <Select\n value={commodity}\n onValueChange={(v) => {\n setCommodity(v as TheCommodityType | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-48\" aria-label=\"Filter by commodity\">\n <SelectValue placeholder=\"All commodities\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All commodities</SelectItem>\n {COMMODITIES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Select\n value={kind}\n onValueChange={(v) => {\n setKind(v as TheAssetKind | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-48\" aria-label=\"Filter by kind\">\n <SelectValue placeholder=\"All kinds\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All kinds</SelectItem>\n {ASSET_KINDS.map((k) => (\n <SelectItem key={k} value={k}>\n {formatEnumLabel(k)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {isLoading ? (\n <LoadingView label=\"Loading assets…\" />\n ) : isError ? (\n <ErrorView message=\"Couldn't load assets.\" onRetry={() => refetch()} />\n ) : rows.length === 0 ? (\n <EmptyState\n illustration=\"empty-data\"\n icon={<Fuel className=\"h-10 w-10\" />}\n title=\"No assets yet\"\n description={\n filtersActive\n ? 'No assets match these filters.'\n : 'Register your first resource asset to start tracking production, reserves & emissions.'\n }\n action={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New asset\n </Button>\n }\n />\n ) : (\n <>\n <DataTable\n columns={columns}\n rows={rows}\n rowKey={(a) => a.id}\n onRowClick={(a) => navigateTo(`assets/${a.id}`)}\n rowLabel={(a) => `Open ${a.name}`}\n />\n <Pagination\n page={pager.page}\n pageSize={PAGE_SIZE}\n itemCount={rows.length}\n hasMore={data?.pageInfo?.hasMore ?? false}\n onPageChange={pager.onPageChange}\n />\n </>\n )}\n\n {/* New asset dialog */}\n <ResponsiveDialog\n open={dialogOpen}\n onOpenChange={(open) => {\n setDialogOpen(open);\n if (!open) resetForm();\n }}\n >\n <ResponsiveDialogContent>\n <ResponsiveDialogHeader>\n <ResponsiveDialogTitle>New asset</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>\n Register a resource asset — a field, well, mine, plant, terminal or pipeline.\n </ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n\n <form\n id=\"createAssetForm\"\n onSubmit={(e) => {\n e.preventDefault();\n handleCreate();\n }}\n className=\"grid gap-4 py-2\"\n >\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetName\">Name *</Label>\n <Input\n id=\"assetName\"\n value={form.name}\n onChange={(e) => setForm({ ...form, name: e.target.value })}\n placeholder=\"Rumaila North Field\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetCode\">Code</Label>\n <Input\n id=\"assetCode\"\n value={form.code}\n onChange={(e) => setForm({ ...form, code: e.target.value })}\n placeholder=\"AST-RMB-N\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-3\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetCommodity\">Commodity *</Label>\n <Select\n value={form.commodity}\n onValueChange={(v) => setForm({ ...form, commodity: v as TheCommodityType })}\n >\n <SelectTrigger id=\"assetCommodity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {COMMODITIES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetKind\">Kind</Label>\n <Select\n value={form.kind}\n onValueChange={(v) => setForm({ ...form, kind: v as TheAssetKind })}\n >\n <SelectTrigger id=\"assetKind\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {ASSET_KINDS.map((k) => (\n <SelectItem key={k} value={k}>\n {formatEnumLabel(k)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetStatus\">Status</Label>\n <Select\n value={form.status}\n onValueChange={(v) => setForm({ ...form, status: v as TheAssetStatus })}\n >\n <SelectTrigger id=\"assetStatus\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {STATUS_FILTERS.filter((o) => o.value !== 'ALL').map((o) => (\n <SelectItem key={o.value} value={o.value}>\n {o.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLocation\">Location</Label>\n <Input\n id=\"assetLocation\"\n value={form.location}\n onChange={(e) => setForm({ ...form, location: e.target.value })}\n placeholder=\"Basra, Iraq\"\n />\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLat\">Latitude</Label>\n <Input\n id=\"assetLat\"\n type=\"number\"\n step=\"any\"\n value={form.latitude}\n onChange={(e) => setForm({ ...form, latitude: e.target.value })}\n placeholder=\"30.5085\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLng\">Longitude</Label>\n <Input\n id=\"assetLng\"\n type=\"number\"\n step=\"any\"\n value={form.longitude}\n onChange={(e) => setForm({ ...form, longitude: e.target.value })}\n placeholder=\"47.7804\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-3\">\n <div className=\"grid gap-1.5 sm:col-span-1\">\n <Label htmlFor=\"assetCapacity\">Capacity / day</Label>\n <Input\n id=\"assetCapacity\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.capacityPerDay}\n onChange={(e) => setForm({ ...form, capacityPerDay: e.target.value })}\n placeholder=\"120000\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetUnit\">Capacity unit</Label>\n <Select\n value={form.capacityUnit}\n onValueChange={(v) => setForm({ ...form, capacityUnit: v as TheUnit })}\n >\n <SelectTrigger id=\"assetUnit\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {UNITS.map((u) => (\n <SelectItem key={u} value={u}>\n {formatEnumLabel(u)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetWi\">Working interest (%)</Label>\n <Input\n id=\"assetWi\"\n type=\"number\"\n min=\"0\"\n max=\"100\"\n step=\"any\"\n value={form.workingInterestPct}\n onChange={(e) => setForm({ ...form, workingInterestPct: e.target.value })}\n placeholder=\"47.5\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetDiscovery\">Field discovery</Label>\n <Input\n id=\"assetDiscovery\"\n type=\"date\"\n value={form.discoveryAt}\n onChange={(e) => setForm({ ...form, discoveryAt: e.target.value })}\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetArea\">Area (km²)</Label>\n <Input\n id=\"assetArea\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.area}\n onChange={(e) => setForm({ ...form, area: e.target.value })}\n placeholder=\"2600\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetReservoirType\">Reservoir type</Label>\n <Input\n id=\"assetReservoirType\"\n value={form.reservoirType}\n onChange={(e) => setForm({ ...form, reservoirType: e.target.value })}\n placeholder=\"Carbonate\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetWaterDepth\">Water depth (m)</Label>\n <Input\n id=\"assetWaterDepth\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.waterDepth}\n onChange={(e) => setForm({ ...form, waterDepth: e.target.value })}\n placeholder=\"Leave blank for onshore\"\n />\n </div>\n </div>\n\n {formError && <p className=\"text-sm text-status-error-text\">{formError}</p>}\n </form>\n\n <ResponsiveDialogFooter>\n <Button\n variant=\"outline\"\n type=\"button\"\n onClick={() => {\n setDialogOpen(false);\n resetForm();\n }}\n >\n Cancel\n </Button>\n <Button type=\"submit\" form=\"createAssetForm\" disabled={createAsset.isPending}>\n {createAsset.isPending ? 'Creating…' : 'Create asset'}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetsPage.js","names":[],"sources":["../../../../src/theglobalfuel/pages/assets/AssetsPage.tsx"],"sourcesContent":["/**\n * Assets — the resource registry: list, filter & register energy/mineral assets.\n * @module theglobalfuel/pages/assets\n *\n * Reads `theListAssets` (cursor-paginated) with status / commodity / kind\n * filters; writes `theCreateAsset`. Rows drill into `assets/:id`. No mock data —\n * every field comes from the `wspace-theglobalfuel-svc` GraphQL contract.\n */\n\nimport { useMemo, useState } from 'react';\nimport { Plus, Fuel, MapPin } from 'lucide-react';\nimport {\n Button,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n} from '@burdenoff/fe-libs/ui';\nimport {\n PageLayout,\n StatusBadge,\n DataTable,\n type Column,\n FilterTabs,\n type FilterOption,\n LoadingView,\n ErrorView,\n EmptyState,\n Pagination,\n} from '../../components';\nimport { useTheGlobalFuel } from '../../context';\nimport {\n useTheAssets,\n useTheCreateAsset,\n useCursorPager,\n useNotify,\n useTheAnalytics,\n useThePageView,\n useTheNativeControls,\n useTheTranslation,\n} from '../../hooks';\nimport {\n formatEnumLabel,\n formatVolume,\n formatPercent,\n formatRelativeTime,\n toBackendDate,\n} from '../../utils';\nimport type {\n TheAsset,\n TheAssetKind,\n TheAssetStatus,\n TheCommodityType,\n TheUnit,\n} from '../../types';\n\nconst STATUS_FILTERS: FilterOption<TheAssetStatus | 'ALL'>[] = [\n { value: 'ALL', label: 'All' },\n { value: 'EXPLORATION', label: 'Exploration' },\n { value: 'APPRAISAL', label: 'Appraisal' },\n { value: 'DEVELOPMENT', label: 'Development' },\n { value: 'PRODUCING', label: 'Producing' },\n { value: 'SUSPENDED', label: 'Suspended' },\n { value: 'DECOMMISSIONING', label: 'Decommissioning' },\n { value: 'RETIRED', label: 'Retired' },\n];\n\nconst ASSET_KINDS: TheAssetKind[] = [\n 'OIL_FIELD',\n 'GAS_FIELD',\n 'WELL',\n 'MINE',\n 'QUARRY',\n 'REFINERY',\n 'PROCESSING_PLANT',\n 'POWER_PLANT',\n 'SOLAR_FARM',\n 'WIND_FARM',\n 'STORAGE_TERMINAL',\n 'PIPELINE',\n];\n\nconst COMMODITIES: TheCommodityType[] = [\n 'CRUDE_OIL',\n 'NATURAL_GAS',\n 'LNG',\n 'COAL',\n 'ELECTRICITY',\n 'HYDROGEN',\n 'BIOFUEL',\n 'IRON_ORE',\n 'COPPER',\n 'BAUXITE',\n 'GOLD',\n 'LITHIUM',\n 'RARE_EARTH',\n];\n\nconst UNITS: TheUnit[] = ['BARRELS', 'CUBIC_METERS', 'TONNES', 'KILOGRAMS', 'MWH', 'GJ', 'MCF'];\n\nconst PAGE_SIZE = 25;\n\ninterface CreateFormState {\n name: string;\n code: string;\n commodity: TheCommodityType;\n kind: TheAssetKind;\n status: TheAssetStatus;\n location: string;\n latitude: string;\n longitude: string;\n capacityPerDay: string;\n capacityUnit: TheUnit;\n workingInterestPct: string;\n discoveryAt: string;\n area: string;\n reservoirType: string;\n waterDepth: string;\n}\n\nconst EMPTY_FORM: CreateFormState = {\n name: '',\n code: '',\n commodity: 'CRUDE_OIL',\n kind: 'OIL_FIELD',\n status: 'EXPLORATION',\n location: '',\n latitude: '',\n longitude: '',\n capacityPerDay: '',\n capacityUnit: 'BARRELS',\n workingInterestPct: '',\n discoveryAt: '',\n area: '',\n reservoirType: '',\n waterDepth: '',\n};\n\nexport function AssetsPage() {\n useThePageView('assets');\n const t = useTheTranslation();\n const { navigateTo } = useTheGlobalFuel();\n const notify = useNotify();\n const { haptic } = useTheNativeControls();\n const { trackAssetCreateClicked, trackAssetCreated } = useTheAnalytics();\n const [status, setStatus] = useState<TheAssetStatus | 'ALL'>('ALL');\n const [commodity, setCommodity] = useState<TheCommodityType | 'ALL'>('ALL');\n const [kind, setKind] = useState<TheAssetKind | 'ALL'>('ALL');\n const pager = useCursorPager();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [form, setForm] = useState<CreateFormState>(EMPTY_FORM);\n const [formError, setFormError] = useState<string | null>(null);\n\n const { data, isLoading, isError, refetch } = useTheAssets({\n status: status === 'ALL' ? undefined : status,\n commodity: commodity === 'ALL' ? undefined : commodity,\n kind: kind === 'ALL' ? undefined : kind,\n pagination: { limit: PAGE_SIZE, offset: pager.page * PAGE_SIZE },\n });\n const createAsset = useTheCreateAsset();\n\n const rows = useMemo(() => data?.items ?? [], [data]);\n const filtersActive = status !== 'ALL' || commodity !== 'ALL' || kind !== 'ALL';\n\n const columns: Column<TheAsset>[] = [\n {\n key: 'name',\n header: 'Asset',\n // The Asset column carries the icon + the two-line stack (name + code),\n // and every other column auto-sizes from its own content. Without a\n // min-width the Asset column is squeezed down to ~2–3 characters before\n // any other column gives up width — see BOFF-8082. Pinning a min-width\n // here keeps common 15–25 char names identifiable at a glance, and the\n // `title` attributes on the inner <p>s keep the full values one hover\n // away when a name does run longer than the column.\n className: 'min-w-[14rem] sm:min-w-[18rem]',\n render: (a) => (\n <div className=\"flex items-center gap-3\">\n <span className=\"grid size-9 shrink-0 place-items-center rounded-lg bg-bg-sunken text-text-secondary\">\n <Fuel className=\"h-4 w-4\" />\n </span>\n <div className=\"min-w-0\">\n <p className=\"truncate font-semibold text-text-primary\" title={a.name}>\n {a.name}\n </p>\n {a.code && (\n <p className=\"truncate text-xs text-text-tertiary\" title={a.code}>\n {a.code}\n </p>\n )}\n </div>\n </div>\n ),\n },\n {\n key: 'kind',\n header: 'Kind',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-secondary\">{formatEnumLabel(a.kind)}</span>,\n },\n {\n key: 'commodity',\n header: 'Commodity',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-secondary\">{formatEnumLabel(a.commodity)}</span>,\n },\n { key: 'status', header: 'Status', render: (a) => <StatusBadge status={a.status} /> },\n {\n key: 'capacity',\n header: 'Capacity',\n align: 'right',\n hideOnMobile: true,\n sortValue: (a) => a.capacityPerDay,\n render: (a) =>\n a.capacityPerDay > 0 ? (\n <span className=\"tabular-nums text-text-secondary\">\n {formatVolume(a.capacityPerDay, a.capacityUnit)}/day\n </span>\n ) : (\n <span className=\"text-text-tertiary\">—</span>\n ),\n },\n {\n key: 'workingInterest',\n header: 'Working interest',\n align: 'right',\n hideOnMobile: true,\n sortValue: (a) => a.workingInterestPct,\n render: (a) => (\n <span className=\"tabular-nums text-text-secondary\">\n {formatPercent(a.workingInterestPct)}\n </span>\n ),\n },\n {\n key: 'location',\n header: 'Location',\n hideOnMobile: true,\n render: (a) =>\n a.location ? (\n <span className=\"inline-flex items-center gap-1.5 text-text-secondary\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0 text-text-tertiary\" />\n {a.location}\n </span>\n ) : (\n <span className=\"text-text-tertiary\">—</span>\n ),\n },\n {\n key: 'updated',\n header: 'Updated',\n align: 'right',\n hideOnMobile: true,\n render: (a) => <span className=\"text-text-tertiary\">{formatRelativeTime(a.updatedAt)}</span>,\n },\n ];\n\n const resetForm = () => {\n setForm(EMPTY_FORM);\n setFormError(null);\n };\n\n const handleCreate = async () => {\n if (!form.name.trim()) {\n setFormError('Asset name is required.');\n return;\n }\n setFormError(null);\n haptic('light');\n trackAssetCreateClicked();\n try {\n const created = await createAsset.mutateAsync({\n name: form.name.trim(),\n code: form.code.trim() || null,\n commodity: form.commodity,\n kind: form.kind,\n status: form.status,\n location: form.location.trim() || null,\n latitude: form.latitude ? Number(form.latitude) : null,\n longitude: form.longitude ? Number(form.longitude) : null,\n capacityPerDay: form.capacityPerDay ? Number(form.capacityPerDay) : null,\n capacityUnit: form.capacityUnit,\n workingInterestPct: form.workingInterestPct ? Number(form.workingInterestPct) : null,\n discoveryAt: toBackendDate(form.discoveryAt) || null,\n area: form.area ? Number(form.area) : null,\n reservoirType: form.reservoirType.trim() || null,\n waterDepth: form.waterDepth ? Number(form.waterDepth) : null,\n });\n trackAssetCreated(created.id);\n notify.success('Asset created');\n setDialogOpen(false);\n resetForm();\n navigateTo(`assets/${created.id}`);\n } catch (err) {\n notify.fromError(err);\n setFormError(err instanceof Error ? err.message : 'Failed to create asset.');\n }\n };\n\n return (\n <PageLayout\n title={t('theglobalfuel.pages.assets.title', 'Assets')}\n description={t(\n 'theglobalfuel.pages.assets.description',\n 'Resource registry — fields, wells, mines, plants, terminals & pipelines across every commodity.'\n )}\n dataTour=\"theglobalfuel-assets-page\"\n actions={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New asset\n </Button>\n }\n >\n <div className=\"mb-5 flex flex-wrap items-center gap-3\">\n <FilterTabs\n options={STATUS_FILTERS}\n value={status}\n onChange={(v) => {\n setStatus(v);\n pager.reset();\n }}\n />\n <Select\n value={commodity}\n onValueChange={(v) => {\n setCommodity(v as TheCommodityType | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-48\" aria-label=\"Filter by commodity\">\n <SelectValue placeholder=\"All commodities\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All commodities</SelectItem>\n {COMMODITIES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Select\n value={kind}\n onValueChange={(v) => {\n setKind(v as TheAssetKind | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-48\" aria-label=\"Filter by kind\">\n <SelectValue placeholder=\"All kinds\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All kinds</SelectItem>\n {ASSET_KINDS.map((k) => (\n <SelectItem key={k} value={k}>\n {formatEnumLabel(k)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {isLoading ? (\n <LoadingView label=\"Loading assets…\" />\n ) : isError ? (\n <ErrorView message=\"Couldn't load assets.\" onRetry={() => refetch()} />\n ) : rows.length === 0 ? (\n <EmptyState\n illustration=\"empty-data\"\n icon={<Fuel className=\"h-10 w-10\" />}\n title=\"No assets yet\"\n description={\n filtersActive\n ? 'No assets match these filters.'\n : 'Register your first resource asset to start tracking production, reserves & emissions.'\n }\n action={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New asset\n </Button>\n }\n />\n ) : (\n <>\n <DataTable\n columns={columns}\n rows={rows}\n rowKey={(a) => a.id}\n onRowClick={(a) => navigateTo(`assets/${a.id}`)}\n rowLabel={(a) => `Open ${a.name}`}\n />\n <Pagination\n page={pager.page}\n pageSize={PAGE_SIZE}\n itemCount={rows.length}\n hasMore={data?.pageInfo?.hasMore ?? false}\n onPageChange={pager.onPageChange}\n />\n </>\n )}\n\n {/* New asset dialog */}\n <ResponsiveDialog\n open={dialogOpen}\n onOpenChange={(open) => {\n setDialogOpen(open);\n if (!open) resetForm();\n }}\n >\n <ResponsiveDialogContent>\n <ResponsiveDialogHeader>\n <ResponsiveDialogTitle>New asset</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>\n Register a resource asset — a field, well, mine, plant, terminal or pipeline.\n </ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n\n <form\n id=\"createAssetForm\"\n onSubmit={(e) => {\n e.preventDefault();\n handleCreate();\n }}\n className=\"grid gap-4 py-2\"\n >\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetName\">Name *</Label>\n <Input\n id=\"assetName\"\n value={form.name}\n onChange={(e) => setForm({ ...form, name: e.target.value })}\n placeholder=\"Rumaila North Field\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetCode\">Code</Label>\n <Input\n id=\"assetCode\"\n value={form.code}\n onChange={(e) => setForm({ ...form, code: e.target.value })}\n placeholder=\"AST-RMB-N\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-3\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetCommodity\">Commodity *</Label>\n <Select\n value={form.commodity}\n onValueChange={(v) => setForm({ ...form, commodity: v as TheCommodityType })}\n >\n <SelectTrigger id=\"assetCommodity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {COMMODITIES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetKind\">Kind</Label>\n <Select\n value={form.kind}\n onValueChange={(v) => setForm({ ...form, kind: v as TheAssetKind })}\n >\n <SelectTrigger id=\"assetKind\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {ASSET_KINDS.map((k) => (\n <SelectItem key={k} value={k}>\n {formatEnumLabel(k)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetStatus\">Status</Label>\n <Select\n value={form.status}\n onValueChange={(v) => setForm({ ...form, status: v as TheAssetStatus })}\n >\n <SelectTrigger id=\"assetStatus\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {STATUS_FILTERS.filter((o) => o.value !== 'ALL').map((o) => (\n <SelectItem key={o.value} value={o.value}>\n {o.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLocation\">Location</Label>\n <Input\n id=\"assetLocation\"\n value={form.location}\n onChange={(e) => setForm({ ...form, location: e.target.value })}\n placeholder=\"Basra, Iraq\"\n />\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLat\">Latitude</Label>\n <Input\n id=\"assetLat\"\n type=\"number\"\n step=\"any\"\n value={form.latitude}\n onChange={(e) => setForm({ ...form, latitude: e.target.value })}\n placeholder=\"30.5085\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetLng\">Longitude</Label>\n <Input\n id=\"assetLng\"\n type=\"number\"\n step=\"any\"\n value={form.longitude}\n onChange={(e) => setForm({ ...form, longitude: e.target.value })}\n placeholder=\"47.7804\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-3\">\n <div className=\"grid gap-1.5 sm:col-span-1\">\n <Label htmlFor=\"assetCapacity\">Capacity / day</Label>\n <Input\n id=\"assetCapacity\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.capacityPerDay}\n onChange={(e) => setForm({ ...form, capacityPerDay: e.target.value })}\n placeholder=\"120000\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetUnit\">Capacity unit</Label>\n <Select\n value={form.capacityUnit}\n onValueChange={(v) => setForm({ ...form, capacityUnit: v as TheUnit })}\n >\n <SelectTrigger id=\"assetUnit\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {UNITS.map((u) => (\n <SelectItem key={u} value={u}>\n {formatEnumLabel(u)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetWi\">Working interest (%)</Label>\n <Input\n id=\"assetWi\"\n type=\"number\"\n min=\"0\"\n max=\"100\"\n step=\"any\"\n value={form.workingInterestPct}\n onChange={(e) => setForm({ ...form, workingInterestPct: e.target.value })}\n placeholder=\"47.5\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetDiscovery\">Field discovery</Label>\n <Input\n id=\"assetDiscovery\"\n type=\"date\"\n value={form.discoveryAt}\n onChange={(e) => setForm({ ...form, discoveryAt: e.target.value })}\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetArea\">Area (km²)</Label>\n <Input\n id=\"assetArea\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.area}\n onChange={(e) => setForm({ ...form, area: e.target.value })}\n placeholder=\"2600\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetReservoirType\">Reservoir type</Label>\n <Input\n id=\"assetReservoirType\"\n value={form.reservoirType}\n onChange={(e) => setForm({ ...form, reservoirType: e.target.value })}\n placeholder=\"Carbonate\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"assetWaterDepth\">Water depth (m)</Label>\n <Input\n id=\"assetWaterDepth\"\n type=\"number\"\n min=\"0\"\n step=\"any\"\n value={form.waterDepth}\n onChange={(e) => setForm({ ...form, waterDepth: e.target.value })}\n placeholder=\"Leave blank for onshore\"\n />\n </div>\n </div>\n\n {formError && <p className=\"text-sm text-status-error-text\">{formError}</p>}\n </form>\n\n <ResponsiveDialogFooter>\n <Button\n variant=\"outline\"\n type=\"button\"\n onClick={() => {\n setDialogOpen(false);\n resetForm();\n }}\n >\n Cancel\n </Button>\n <Button type=\"submit\" form=\"createAssetForm\" disabled={createAsset.isPending}>\n {createAsset.isPending ? 'Creating…' : 'Create asset'}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-theglobalfuel",
3
- "version": "2026.1015.1",
3
+ "version": "2026.1026.1",
4
4
  "description": "Burdenoff TheGlobalFuel Microfrontend — Energy, Mineral & Commodity Resource operating system",
5
5
  "type": "module",
6
6
  "files": [