@zerocarbon/erp-config-sdk 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1209,6 +1209,18 @@ declare const createEmissionSourceGenerator: (billManager: BillManager) => Emiss
1209
1209
  declare const INDUSTRY_MAPPING: Record<string, IndustryType>;
1210
1210
  declare const getApiIndustryType: (erpIndustry: string) => IndustryType;
1211
1211
 
1212
+ declare const normalizeConfigText: (value: unknown) => string;
1213
+ declare const normalizeConfigKeyText: (value: unknown) => string;
1214
+ declare const buildUserConfigItemKey: ({ scope, category, subCategory, itemName, }: {
1215
+ scope?: unknown;
1216
+ category?: unknown;
1217
+ subCategory?: unknown;
1218
+ itemName?: unknown;
1219
+ }) => string;
1220
+ declare const sameUserConfigText: (left: unknown, right: unknown) => boolean;
1221
+
1222
+ declare const mergeUserItemsIntoIndustryConfig: <T extends BackendIndustryConfig>(baseConfig: T, userItems?: UserConfigItem[]) => T;
1223
+
1212
1224
  type JsonResponse<T> = {
1213
1225
  json: () => Promise<T>;
1214
1226
  };
@@ -1217,6 +1229,9 @@ type UserConfigApiClient = {
1217
1229
  post: <T = any>(path: string, options: {
1218
1230
  json: unknown;
1219
1231
  }) => JsonResponse<T>;
1232
+ put?: <T = any>(path: string, options: {
1233
+ json: unknown;
1234
+ }) => JsonResponse<T>;
1220
1235
  patch?: <T = any>(path: string, options: {
1221
1236
  json: unknown;
1222
1237
  }) => JsonResponse<T>;
@@ -1239,6 +1254,11 @@ type UserConfigItem = {
1239
1254
  };
1240
1255
  requiresMassData?: boolean;
1241
1256
  aliases?: string[];
1257
+ normalizedKey?: string;
1258
+ baseItemKey?: string;
1259
+ baseEmissionFactor?: number;
1260
+ overrideKind?: "custom-item" | "sdk-emission-factor" | string;
1261
+ isOverride?: boolean;
1242
1262
  source?: string;
1243
1263
  };
1244
1264
  type UserEmissionFactorResolution = Partial<UserConfigItem> & {
@@ -1263,14 +1283,32 @@ declare const addItemForUser: (apiClient: UserConfigApiClient, options: {
1263
1283
  category: string;
1264
1284
  items: Partial<UserConfigItem>[];
1265
1285
  }) => Promise<UserConfigItem[]>;
1286
+ type UserEmissionFactorApprovalResponse = {
1287
+ success?: boolean;
1288
+ pendingApproval?: boolean;
1289
+ approvalId?: string;
1290
+ approverEmail?: string;
1291
+ message?: string;
1292
+ item?: UserConfigItem;
1293
+ updatedBills?: number;
1294
+ };
1266
1295
  declare const updateItemEmissionFactorForUser: (apiClient: UserConfigApiClient, options: {
1267
1296
  itemId: string;
1268
1297
  emissionFactor: number;
1269
- }) => Promise<{
1270
- item?: UserConfigItem;
1271
- updatedBills?: number;
1272
- }>;
1273
- declare const mergeUserItemsIntoIndustryConfig: <T extends BackendIndustryConfig>(baseConfig: T, userItems?: UserConfigItem[]) => T;
1298
+ plant?: string;
1299
+ }) => Promise<UserEmissionFactorApprovalResponse>;
1300
+ declare const updateSdkItemEmissionFactorForUser: (apiClient: UserConfigApiClient, options: {
1301
+ industry: string;
1302
+ scope: string;
1303
+ category: string;
1304
+ subCategory: string;
1305
+ itemName: string;
1306
+ unit: string;
1307
+ emissionFactor: number;
1308
+ baseEmissionFactor?: number;
1309
+ requiresMassData?: boolean;
1310
+ plant?: string;
1311
+ }) => Promise<UserEmissionFactorApprovalResponse>;
1274
1312
 
1275
1313
  interface MappingRules {
1276
1314
  includeIfCategoryContains?: string[];
@@ -4271,5 +4309,5 @@ declare namespace index {
4271
4309
  };
4272
4310
  }
4273
4311
 
4274
- export { ALL_SCOPES_3_RCO, API_ENDPOINTS, API_SCOPE3_CEMENT_CONFIG, BILL_CALCULATION_CONFIGS, BillManager, CCTS_ALLSCOPES_CEMENT, CCTS_CALCINATION_PRODUCTS, CCTS_ELECTRICITY_PRODUCTS, CCTS_FIRE_EXTINGUISHER_PRODUCTS, CCTS_FUEL_COMBUSTION_PRODUCTS, CCTS_LPG_PRODUCTS, CCTS_MINING_OPERATIONS_PRODUCTS, CCTS_ONSITE_POWER_PRODUCTS, CCTS_PURCHASED_ELECTRICITY, CCTS_REFRIGERANTS, CCTS_SCOPE1_CEMENT, CCTS_SCOPE2_CEMENT, CCTS_SF6_PRODUCTS, CCTS_TABLE_COLUMNS, DEFAULT_BILL_MATCHING_CONFIG, EmissionSourceGenerator, FRONTEND_INDUSTRY_CONFIGS, HTTP_STATUS, INDUSTRIES_CONFIG, INDUSTRY_MAPPING, INDUSTRY_SPECIFIC_FIELDS, INTENSITY_FIELD_LABELS, ISO_CATEGORIES_PACKAGING, index as Industries, UI_FEATURES, WATER_PRODUCTS, addItemForUser, calculateCCTSEmission, calculateIntensityMetrics, categorizeApiItem, cleanValue, createBillManager, createCapitalizedMonthMapping, createEmissionSourceGenerator, createMonthMapping, debugCarbonIntensityMapping, extractCarbonIntensityData, formatEmissionValue, formatIntensityValue, formatKPIEmission, formatMonthlyEmission, formatPercentage, getAllConfig, getApiIndustryType, getAvailableFieldsForIndustry, getCombinedBackendConfig, getIndustryBackendConfig, getIndustryConfig$1 as getIndustryConfig, getIndustryFieldConfig, getIntensityFormulas, getItemsForUser, getPlantNameConfig, getRCOConfigByName, getScope3ConfigByName, getUserNameBackendConfig, getUserNameScopeConfig, hasIntensities, isUIFeatureEnabled, mapIndustryToApiType, mergeUserItemsIntoIndustryConfig, resolveEmissionFactorsForUser, sanitizeNumber, supportsIntensityCalculations, updateItemEmissionFactorForUser, validateCarbonIntensityData };
4275
- export type { AllConfigurations, AlloyRequest, AlloyResponse, AluminiumRequest, AluminiumResponse, ApiEndpointConfig, ApiResponse, AutomobileRequest, AutomobileResponse, AviationRequest, AviationResponse, BackendAdditionalScopeItem, BackendEmissionItem, BackendEmissions, BackendEquipmentCategory, BackendIndustries, BackendIndustryConfig, BackendProduct, BackendScope, BackendScope3Item, BackendUserConfig, BackendUserConfigs, BaseRequest, BaseResponse, Bill, BillCalculationConfig, BillFilterOptions, BillMatchingConfig, BusinessTravelEmission, BusinessTravelEmissionAttributes, BusinessTravelEmissionsResponse, BillsAnalyzed$1 as CarbonIntensityBillsAnalyzed, Calculations$1 as CarbonIntensityCalculations, EmissionData$2 as CarbonIntensityEmissionData, ErrorResponse$1 as CarbonIntensityErrorResponse, CarbonIntensityRequest, CarbonIntensityResponse, ChemicalRequest, ChemicalResponse, DetailedCarbonIntensityResponse, EditableItem, EmissionData$3 as EmissionData, EmissionSource, Emissions$j as Emissions, EmissionsDataAttributes, EmissionsDataResponse, FieldConfig, FoodBeveragesRequest, FoodBeveragesResponse, FormData, FormValidationResult, FrontendIndustryConfig, HospitalityRequest, HospitalityResponse, IndustryConfig$1 as IndustryConfig, EmissionData as IndustryEmissionData, IndustryFieldConfig, IndustryFieldSection, ProductionData as IndustryProductionData, IndustryType, IntensityCalculation, IntensityValue, LogisticsRequest, LogisticsResponse, ManufacturingRequest, ManufacturingResponse, Meta, MetalEnergyRequest, MetalEnergyResponse, PackagingRequest, PackagingResponse, Pagination, PetrochemicalRequest, PetrochemicalResponse, PharmaRequest, PharmaResponse, PlantNameConfig, ProcessedEmissionCategory, ProcessedEmissionItem, ProcessedScope3Data, RealEstateRequest, RealEstateResponse, BillsAnalyzed as ResponseBillsAnalyzed, Calculations as ResponseCalculations, EmissionData$1 as ResponseEmissionData, ErrorResponse as ResponseErrorResponse, ScopeConfig, ScopeProduct, ShippingRequest, ShippingResponse, SteelRequest, SteelResponse, StrapiItem, StrapiResponse, TelecommunicationRequest, TelecommunicationResponse, TextileRequest, TextileResponse, TransportationEmission, TransportationEmissionAttributes, TransportationEmissionsResponse, UserConfigApiClient, UserConfigItem, UserData, UserEmissionFactorResolution, UtilitiesRequest, UtilitiesResponse, ValidationError, VehicleEmission, VehicleEmissionAttributes, VehicleEmissionsResponse };
4312
+ export { ALL_SCOPES_3_RCO, API_ENDPOINTS, API_SCOPE3_CEMENT_CONFIG, BILL_CALCULATION_CONFIGS, BillManager, CCTS_ALLSCOPES_CEMENT, CCTS_CALCINATION_PRODUCTS, CCTS_ELECTRICITY_PRODUCTS, CCTS_FIRE_EXTINGUISHER_PRODUCTS, CCTS_FUEL_COMBUSTION_PRODUCTS, CCTS_LPG_PRODUCTS, CCTS_MINING_OPERATIONS_PRODUCTS, CCTS_ONSITE_POWER_PRODUCTS, CCTS_PURCHASED_ELECTRICITY, CCTS_REFRIGERANTS, CCTS_SCOPE1_CEMENT, CCTS_SCOPE2_CEMENT, CCTS_SF6_PRODUCTS, CCTS_TABLE_COLUMNS, DEFAULT_BILL_MATCHING_CONFIG, EmissionSourceGenerator, FRONTEND_INDUSTRY_CONFIGS, HTTP_STATUS, INDUSTRIES_CONFIG, INDUSTRY_MAPPING, INDUSTRY_SPECIFIC_FIELDS, INTENSITY_FIELD_LABELS, ISO_CATEGORIES_PACKAGING, index as Industries, UI_FEATURES, WATER_PRODUCTS, addItemForUser, buildUserConfigItemKey, calculateCCTSEmission, calculateIntensityMetrics, categorizeApiItem, cleanValue, createBillManager, createCapitalizedMonthMapping, createEmissionSourceGenerator, createMonthMapping, debugCarbonIntensityMapping, extractCarbonIntensityData, formatEmissionValue, formatIntensityValue, formatKPIEmission, formatMonthlyEmission, formatPercentage, getAllConfig, getApiIndustryType, getAvailableFieldsForIndustry, getCombinedBackendConfig, getIndustryBackendConfig, getIndustryConfig$1 as getIndustryConfig, getIndustryFieldConfig, getIntensityFormulas, getItemsForUser, getPlantNameConfig, getRCOConfigByName, getScope3ConfigByName, getUserNameBackendConfig, getUserNameScopeConfig, hasIntensities, isUIFeatureEnabled, mapIndustryToApiType, mergeUserItemsIntoIndustryConfig, normalizeConfigKeyText, normalizeConfigText, resolveEmissionFactorsForUser, sameUserConfigText, sanitizeNumber, supportsIntensityCalculations, updateItemEmissionFactorForUser, updateSdkItemEmissionFactorForUser, validateCarbonIntensityData };
4313
+ export type { AllConfigurations, AlloyRequest, AlloyResponse, AluminiumRequest, AluminiumResponse, ApiEndpointConfig, ApiResponse, AutomobileRequest, AutomobileResponse, AviationRequest, AviationResponse, BackendAdditionalScopeItem, BackendEmissionItem, BackendEmissions, BackendEquipmentCategory, BackendIndustries, BackendIndustryConfig, BackendProduct, BackendScope, BackendScope3Item, BackendUserConfig, BackendUserConfigs, BaseRequest, BaseResponse, Bill, BillCalculationConfig, BillFilterOptions, BillMatchingConfig, BusinessTravelEmission, BusinessTravelEmissionAttributes, BusinessTravelEmissionsResponse, BillsAnalyzed$1 as CarbonIntensityBillsAnalyzed, Calculations$1 as CarbonIntensityCalculations, EmissionData$2 as CarbonIntensityEmissionData, ErrorResponse$1 as CarbonIntensityErrorResponse, CarbonIntensityRequest, CarbonIntensityResponse, ChemicalRequest, ChemicalResponse, DetailedCarbonIntensityResponse, EditableItem, EmissionData$3 as EmissionData, EmissionSource, Emissions$j as Emissions, EmissionsDataAttributes, EmissionsDataResponse, FieldConfig, FoodBeveragesRequest, FoodBeveragesResponse, FormData, FormValidationResult, FrontendIndustryConfig, HospitalityRequest, HospitalityResponse, IndustryConfig$1 as IndustryConfig, EmissionData as IndustryEmissionData, IndustryFieldConfig, IndustryFieldSection, ProductionData as IndustryProductionData, IndustryType, IntensityCalculation, IntensityValue, LogisticsRequest, LogisticsResponse, ManufacturingRequest, ManufacturingResponse, Meta, MetalEnergyRequest, MetalEnergyResponse, PackagingRequest, PackagingResponse, Pagination, PetrochemicalRequest, PetrochemicalResponse, PharmaRequest, PharmaResponse, PlantNameConfig, ProcessedEmissionCategory, ProcessedEmissionItem, ProcessedScope3Data, RealEstateRequest, RealEstateResponse, BillsAnalyzed as ResponseBillsAnalyzed, Calculations as ResponseCalculations, EmissionData$1 as ResponseEmissionData, ErrorResponse as ResponseErrorResponse, ScopeConfig, ScopeProduct, ShippingRequest, ShippingResponse, SteelRequest, SteelResponse, StrapiItem, StrapiResponse, TelecommunicationRequest, TelecommunicationResponse, TextileRequest, TextileResponse, TransportationEmission, TransportationEmissionAttributes, TransportationEmissionsResponse, UserConfigApiClient, UserConfigItem, UserData, UserEmissionFactorApprovalResponse, UserEmissionFactorResolution, UtilitiesRequest, UtilitiesResponse, ValidationError, VehicleEmission, VehicleEmissionAttributes, VehicleEmissionsResponse };
package/dist/index.esm.js CHANGED
@@ -34638,6 +34638,81 @@ const getApiIndustryType = (erpIndustry) => {
34638
34638
  return INDUSTRY_MAPPING[erpIndustry] || "manufacturing";
34639
34639
  };
34640
34640
 
34641
+ const normalizeConfigText = (value) => String(value !== null && value !== void 0 ? value : "").replace(/\s+/g, " ").trim();
34642
+ const normalizeConfigKeyText = (value) => normalizeConfigText(value)
34643
+ .toLowerCase()
34644
+ .replace(/[^a-z0-9]+/g, " ")
34645
+ .trim();
34646
+ const buildUserConfigItemKey = ({ scope, category, subCategory, itemName, }) => [scope, category, subCategory, itemName].map(normalizeConfigKeyText).join("|");
34647
+ const sameUserConfigText = (left, right) => normalizeConfigKeyText(left) === normalizeConfigKeyText(right);
34648
+
34649
+ const itemMeta = (item) => ({
34650
+ customItemId: item.id,
34651
+ source: item.source === "sdk-override" ? "sdk-override" : "company-custom",
34652
+ isCompanyCustom: item.source !== "sdk-override",
34653
+ isCompanyOverride: item.source === "sdk-override" || item.isOverride,
34654
+ baseEmissionFactor: item.baseEmissionFactor,
34655
+ overrideKind: item.overrideKind,
34656
+ });
34657
+ const applyScope3Item = (config, item) => {
34658
+ var _a;
34659
+ const scope = config.scope3.find((entry) => sameUserConfigText(entry.name, item.category));
34660
+ const group = scope === null || scope === void 0 ? void 0 : scope.subProducts.find((entry) => sameUserConfigText(entry.category, item.subCategory));
34661
+ if (!group)
34662
+ return;
34663
+ const existing = group.items.find((entry) => sameUserConfigText(entry.item, item.itemName));
34664
+ if (existing) {
34665
+ Object.assign(existing, {
34666
+ emissionFactor: item.emissionFactor,
34667
+ unit: item.unit || existing.unit,
34668
+ requiresMassData: (_a = item.requiresMassData) !== null && _a !== void 0 ? _a : existing.requiresMassData,
34669
+ ...itemMeta(item),
34670
+ });
34671
+ return;
34672
+ }
34673
+ group.items = [{
34674
+ item: item.itemName,
34675
+ unit: item.unit,
34676
+ emissionFactor: item.emissionFactor,
34677
+ requiresMassData: item.requiresMassData,
34678
+ ...itemMeta(item),
34679
+ }, ...group.items];
34680
+ };
34681
+ const applyFlatItem = (config, item) => {
34682
+ const scopeList = item.scope === "scope2" ? config.scope2 : config.scope1;
34683
+ const scope = scopeList.find((entry) => sameUserConfigText(entry.name, item.category));
34684
+ if (!scope)
34685
+ return;
34686
+ const existing = scope.subProducts.find((entry) => sameUserConfigText(entry.name, item.itemName) &&
34687
+ sameUserConfigText(entry.type, item.subCategory));
34688
+ if (existing) {
34689
+ Object.assign(existing, {
34690
+ emissionFactor: item.emissionFactor,
34691
+ unit: item.unit || existing.unit,
34692
+ ...itemMeta(item),
34693
+ });
34694
+ return;
34695
+ }
34696
+ scope.subProducts = [{
34697
+ name: item.itemName,
34698
+ type: item.subCategory,
34699
+ unit: item.unit,
34700
+ emissionFactor: item.emissionFactor,
34701
+ calorificValue: 0,
34702
+ ...itemMeta(item),
34703
+ }, ...scope.subProducts];
34704
+ };
34705
+ const mergeUserItemsIntoIndustryConfig = (baseConfig, userItems = []) => {
34706
+ const config = JSON.parse(JSON.stringify(baseConfig));
34707
+ for (const item of userItems.slice().reverse()) {
34708
+ if (item.scope === "scope3")
34709
+ applyScope3Item(config, item);
34710
+ else
34711
+ applyFlatItem(config, item);
34712
+ }
34713
+ return config;
34714
+ };
34715
+
34641
34716
  const getItemsForUser = async (apiClient, options = {}) => {
34642
34717
  const params = new URLSearchParams();
34643
34718
  if (options.industry)
@@ -34680,39 +34755,18 @@ const updateItemEmissionFactorForUser = async (apiClient, options) => {
34680
34755
  throw new Error("apiClient.patch is required to update emission factors");
34681
34756
  }
34682
34757
  const data = await apiClient
34683
- .patch(`erp-config/items/${options.itemId}/emission-factor`, { json: { emissionFactor: options.emissionFactor } })
34758
+ .patch(`erp-config/items/${options.itemId}/emission-factor`, { json: { emissionFactor: options.emissionFactor, plant: options.plant } })
34684
34759
  .json();
34685
34760
  return data;
34686
34761
  };
34687
- const mergeUserItemsIntoIndustryConfig = (baseConfig, userItems = []) => {
34688
- const config = JSON.parse(JSON.stringify(baseConfig));
34689
- for (const item of userItems) {
34690
- if (item.scope === "scope3") {
34691
- const scope = config.scope3.find((entry) => entry.name === item.category);
34692
- const group = scope === null || scope === void 0 ? void 0 : scope.subProducts.find((entry) => entry.category === item.subCategory);
34693
- if (group && !group.items.some((entry) => entry.item === item.itemName)) {
34694
- group.items.push({
34695
- item: item.itemName,
34696
- unit: item.unit,
34697
- emissionFactor: item.emissionFactor,
34698
- requiresMassData: item.requiresMassData,
34699
- });
34700
- }
34701
- continue;
34702
- }
34703
- const scopeList = item.scope === "scope2" ? config.scope2 : config.scope1;
34704
- const scope = scopeList.find((entry) => entry.name === item.category);
34705
- if (scope && !scope.subProducts.some((entry) => entry.name === item.itemName)) {
34706
- scope.subProducts.push({
34707
- name: item.itemName,
34708
- type: item.subCategory,
34709
- unit: item.unit,
34710
- emissionFactor: item.emissionFactor,
34711
- calorificValue: 0,
34712
- });
34713
- }
34762
+ const updateSdkItemEmissionFactorForUser = async (apiClient, options) => {
34763
+ if (!apiClient.put) {
34764
+ throw new Error("apiClient.put is required to override SDK item emission factors");
34714
34765
  }
34715
- return config;
34766
+ const data = await apiClient
34767
+ .put("erp-config/items/emission-factor-override", { json: options })
34768
+ .json();
34769
+ return data;
34716
34770
  };
34717
34771
 
34718
34772
  // Scope 3 categories configuration for cement industry using API data
@@ -40212,5 +40266,5 @@ var index = /*#__PURE__*/Object.freeze({
40212
40266
  getRCOConfigByName: getRCOConfigByName
40213
40267
  });
40214
40268
 
40215
- export { ALL_SCOPES_3_RCO, API_ENDPOINTS, API_SCOPE3_CEMENT_CONFIG, BILL_CALCULATION_CONFIGS, BillManager, CCTS_ALLSCOPES_CEMENT, CCTS_CALCINATION_PRODUCTS, CCTS_ELECTRICITY_PRODUCTS, CCTS_FIRE_EXTINGUISHER_PRODUCTS, CCTS_FUEL_COMBUSTION_PRODUCTS, CCTS_LPG_PRODUCTS, CCTS_MINING_OPERATIONS_PRODUCTS, CCTS_ONSITE_POWER_PRODUCTS, CCTS_PURCHASED_ELECTRICITY, CCTS_REFRIGERANTS, CCTS_SCOPE1_CEMENT, CCTS_SCOPE2_CEMENT, CCTS_SF6_PRODUCTS, CCTS_TABLE_COLUMNS, DEFAULT_BILL_MATCHING_CONFIG, EmissionSourceGenerator, FRONTEND_INDUSTRY_CONFIGS, HTTP_STATUS, INDUSTRIES_CONFIG, INDUSTRY_MAPPING, INDUSTRY_SPECIFIC_FIELDS, INTENSITY_FIELD_LABELS, ISO_CATEGORIES_PACKAGING, index as Industries, UI_FEATURES, WATER_PRODUCTS$1 as WATER_PRODUCTS, addItemForUser, calculateCCTSEmission, calculateIntensityMetrics, categorizeApiItem, cleanValue, createBillManager, createCapitalizedMonthMapping, createEmissionSourceGenerator, createMonthMapping, debugCarbonIntensityMapping, extractCarbonIntensityData, formatEmissionValue, formatIntensityValue, formatKPIEmission, formatMonthlyEmission, formatPercentage, getAllConfig, getApiIndustryType, getAvailableFieldsForIndustry, getCombinedBackendConfig, getIndustryBackendConfig, getIndustryConfig, getIndustryFieldConfig, getIntensityFormulas, getItemsForUser, getPlantNameConfig, getRCOConfigByName, getScope3ConfigByName, getUserNameBackendConfig, getUserNameScopeConfig, hasIntensities, isUIFeatureEnabled, mapIndustryToApiType, mergeUserItemsIntoIndustryConfig, resolveEmissionFactorsForUser, sanitizeNumber, supportsIntensityCalculations, updateItemEmissionFactorForUser, validateCarbonIntensityData };
40269
+ export { ALL_SCOPES_3_RCO, API_ENDPOINTS, API_SCOPE3_CEMENT_CONFIG, BILL_CALCULATION_CONFIGS, BillManager, CCTS_ALLSCOPES_CEMENT, CCTS_CALCINATION_PRODUCTS, CCTS_ELECTRICITY_PRODUCTS, CCTS_FIRE_EXTINGUISHER_PRODUCTS, CCTS_FUEL_COMBUSTION_PRODUCTS, CCTS_LPG_PRODUCTS, CCTS_MINING_OPERATIONS_PRODUCTS, CCTS_ONSITE_POWER_PRODUCTS, CCTS_PURCHASED_ELECTRICITY, CCTS_REFRIGERANTS, CCTS_SCOPE1_CEMENT, CCTS_SCOPE2_CEMENT, CCTS_SF6_PRODUCTS, CCTS_TABLE_COLUMNS, DEFAULT_BILL_MATCHING_CONFIG, EmissionSourceGenerator, FRONTEND_INDUSTRY_CONFIGS, HTTP_STATUS, INDUSTRIES_CONFIG, INDUSTRY_MAPPING, INDUSTRY_SPECIFIC_FIELDS, INTENSITY_FIELD_LABELS, ISO_CATEGORIES_PACKAGING, index as Industries, UI_FEATURES, WATER_PRODUCTS$1 as WATER_PRODUCTS, addItemForUser, buildUserConfigItemKey, calculateCCTSEmission, calculateIntensityMetrics, categorizeApiItem, cleanValue, createBillManager, createCapitalizedMonthMapping, createEmissionSourceGenerator, createMonthMapping, debugCarbonIntensityMapping, extractCarbonIntensityData, formatEmissionValue, formatIntensityValue, formatKPIEmission, formatMonthlyEmission, formatPercentage, getAllConfig, getApiIndustryType, getAvailableFieldsForIndustry, getCombinedBackendConfig, getIndustryBackendConfig, getIndustryConfig, getIndustryFieldConfig, getIntensityFormulas, getItemsForUser, getPlantNameConfig, getRCOConfigByName, getScope3ConfigByName, getUserNameBackendConfig, getUserNameScopeConfig, hasIntensities, isUIFeatureEnabled, mapIndustryToApiType, mergeUserItemsIntoIndustryConfig, normalizeConfigKeyText, normalizeConfigText, resolveEmissionFactorsForUser, sameUserConfigText, sanitizeNumber, supportsIntensityCalculations, updateItemEmissionFactorForUser, updateSdkItemEmissionFactorForUser, validateCarbonIntensityData };
40216
40270
  //# sourceMappingURL=index.esm.js.map