@erpsquad/common 1.10.61 → 1.10.63
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/chunks/{ERPUIProvider-J0ITULsH.esm.js → ERPUIProvider-BBpkVsj9.esm.js} +6 -6
- package/dist/chunks/{ERPUIProvider-J0ITULsH.esm.js.map → ERPUIProvider-BBpkVsj9.esm.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-BK3ErZzr.js → ERPUIProvider-PAl_tpW_.js} +6 -6
- package/dist/chunks/{ERPUIProvider-BK3ErZzr.js.map → ERPUIProvider-PAl_tpW_.js.map} +1 -1
- package/dist/chunks/{android-12-switch-DwQ80MjS.js → android-12-switch-WBRkjBCP.js} +22 -15
- package/dist/chunks/{android-12-switch-DwQ80MjS.js.map → android-12-switch-WBRkjBCP.js.map} +1 -1
- package/dist/chunks/{android-12-switch-CWsjQ9_V.esm.js → android-12-switch-XAicROeO.esm.js} +22 -15
- package/dist/chunks/{android-12-switch-CWsjQ9_V.esm.js.map → android-12-switch-XAicROeO.esm.js.map} +1 -1
- package/dist/chunks/{appbar-BKCYuYKD.js → appbar-17zpqli4.js} +6 -6
- package/dist/chunks/appbar-17zpqli4.js.map +1 -0
- package/dist/chunks/{appbar-CQ5FSUhV.esm.js → appbar-BBLrVA6U.esm.js} +6 -6
- package/dist/chunks/appbar-BBLrVA6U.esm.js.map +1 -0
- package/dist/chunks/{checkbox-DVpvboV2.esm.js → checkbox-BG9DbVQ5.esm.js} +3 -3
- package/dist/chunks/{checkbox-DVpvboV2.esm.js.map → checkbox-BG9DbVQ5.esm.js.map} +1 -1
- package/dist/chunks/{checkbox-D9Q_dONB.js → checkbox-CS7OvJZk.js} +3 -3
- package/dist/chunks/{checkbox-D9Q_dONB.js.map → checkbox-CS7OvJZk.js.map} +1 -1
- package/dist/chunks/{default-data-B1mGeShg.esm.js → default-data-CK-90IND.esm.js} +12 -12
- package/dist/chunks/{default-data-B1mGeShg.esm.js.map → default-data-CK-90IND.esm.js.map} +1 -1
- package/dist/chunks/{default-data-BOPncQrd.js → default-data-Do_oTvMU.js} +12 -12
- package/dist/chunks/{default-data-BOPncQrd.js.map → default-data-Do_oTvMU.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-B7Ico4Wt.js → form-builder-deconversion-CtfddwVS.js} +2 -2
- package/dist/chunks/form-builder-deconversion-CtfddwVS.js.map +1 -0
- package/dist/chunks/{form-builder-deconversion-CUr6uDVY.esm.js → form-builder-deconversion-DNCtkxQC.esm.js} +2 -2
- package/dist/chunks/form-builder-deconversion-DNCtkxQC.esm.js.map +1 -0
- package/dist/chunks/{fullScreen-C6wmX53f.esm.js → fullScreen-B5e0kvj4.esm.js} +2 -2
- package/dist/chunks/{fullScreen-C6wmX53f.esm.js.map → fullScreen-B5e0kvj4.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-Ilje5t_2.js → fullScreen-CzRFGTzg.js} +2 -2
- package/dist/chunks/{fullScreen-Ilje5t_2.js.map → fullScreen-CzRFGTzg.js.map} +1 -1
- package/dist/chunks/{modules-DhLwjN8v.js → modules-BEfRrTxc.js} +2 -2
- package/dist/chunks/{modules-DhLwjN8v.js.map → modules-BEfRrTxc.js.map} +1 -1
- package/dist/chunks/{modules-tItvvhnF.esm.js → modules-BjL8mfuw.esm.js} +2 -2
- package/dist/chunks/{modules-tItvvhnF.esm.js.map → modules-BjL8mfuw.esm.js.map} +1 -1
- package/dist/chunks/{page-context-CvxEbMEs.esm.js → page-context-BR0JEfCp.esm.js} +3 -3
- package/dist/chunks/{page-context-CvxEbMEs.esm.js.map → page-context-BR0JEfCp.esm.js.map} +1 -1
- package/dist/chunks/{page-context-C1aLBCMN.js → page-context-D32zeXhS.js} +3 -3
- package/dist/chunks/{page-context-C1aLBCMN.js.map → page-context-D32zeXhS.js.map} +1 -1
- package/dist/chunks/{reducer-CEIlU0Ko.esm.js → reducer-BTCTEHl_.esm.js} +2 -2
- package/dist/chunks/{reducer-CEIlU0Ko.esm.js.map → reducer-BTCTEHl_.esm.js.map} +1 -1
- package/dist/chunks/{reducer-DDNHc1q8.js → reducer-DznW4Uhk.js} +2 -2
- package/dist/chunks/{reducer-DDNHc1q8.js.map → reducer-DznW4Uhk.js.map} +1 -1
- package/dist/chunks/{route-page-map-pK2cJVjt.js → route-page-map-CuVKVc8s.js} +12 -5
- package/dist/chunks/route-page-map-CuVKVc8s.js.map +1 -0
- package/dist/chunks/{route-page-map-B-P_qkAc.esm.js → route-page-map-gBJ6YfCI.esm.js} +12 -5
- package/dist/chunks/route-page-map-gBJ6YfCI.esm.js.map +1 -0
- package/dist/chunks/{sidebar-CuuG9Cro.js → sidebar-CGHpNE59.js} +2 -2
- package/dist/chunks/{sidebar-CuuG9Cro.js.map → sidebar-CGHpNE59.js.map} +1 -1
- package/dist/chunks/{sidebar-XnB3MZSx.esm.js → sidebar-CaMjOaT0.esm.js} +2 -2
- package/dist/chunks/{sidebar-XnB3MZSx.esm.js.map → sidebar-CaMjOaT0.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-oRVnKUwK.js → sidebarScreen-BMRTGPNT.js} +3 -3
- package/dist/chunks/{sidebarScreen-oRVnKUwK.js.map → sidebarScreen-BMRTGPNT.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-wd1XHW7h.esm.js → sidebarScreen-vQN2vT2D.esm.js} +3 -3
- package/dist/chunks/{sidebarScreen-wd1XHW7h.esm.js.map → sidebarScreen-vQN2vT2D.esm.js.map} +1 -1
- package/dist/chunks/{store-4PjkVqCL.js → store-BlcYtLUe.js} +2 -2
- package/dist/chunks/{store-4PjkVqCL.js.map → store-BlcYtLUe.js.map} +1 -1
- package/dist/chunks/{store-0dCHFFVS.esm.js → store-Djcai2P1.esm.js} +2 -2
- package/dist/chunks/{store-0dCHFFVS.esm.js.map → store-Djcai2P1.esm.js.map} +1 -1
- package/dist/chunks/{translations-C3zIy7AK.js → translations-BUtRMBGm.js} +12 -5
- package/dist/chunks/translations-BUtRMBGm.js.map +1 -0
- package/dist/chunks/{translations-DQnNjq2i.esm.js → translations-D-6zNK2j.esm.js} +13 -6
- package/dist/chunks/translations-D-6zNK2j.esm.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-D9vQnJ7u.esm.js → uom-field-wrapper-DtW2ZDgN.esm.js} +48 -36
- package/dist/chunks/uom-field-wrapper-DtW2ZDgN.esm.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-DfH09cqm.js → uom-field-wrapper-xtQt1ONl.js} +48 -36
- package/dist/chunks/uom-field-wrapper-xtQt1ONl.js.map +1 -0
- package/dist/chunks/{useAddressContact-D7bXJ169.js → useAddressContact-CpNYDTXT.js} +4 -4
- package/dist/chunks/{useAddressContact-D7bXJ169.js.map → useAddressContact-CpNYDTXT.js.map} +1 -1
- package/dist/chunks/{useAddressContact-CgADuA2u.esm.js → useAddressContact-Cz2yg1H9.esm.js} +4 -4
- package/dist/chunks/{useAddressContact-CgADuA2u.esm.js.map → useAddressContact-Cz2yg1H9.esm.js.map} +1 -1
- package/dist/components/calculation-summary/calculation-summary.d.ts +2 -0
- package/dist/components/index.esm.js +8 -8
- package/dist/components/index.js +8 -8
- package/dist/constants/index.esm.js +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/contexts/index.esm.js +1 -1
- package/dist/contexts/index.js +1 -1
- package/dist/hooks/index.esm.js +3 -3
- package/dist/hooks/index.js +3 -3
- package/dist/index.esm.js +22 -21
- package/dist/index.js +18 -17
- package/dist/index.js.map +1 -1
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/redux/index.esm.js +2 -2
- package/dist/redux/index.js +2 -2
- package/dist/src/components/calculation-summary/calculation-summary.d.ts +2 -0
- package/dist/src/utils/calculation.d.ts +3 -2
- package/dist/utils/calculation.d.ts +3 -2
- package/dist/utils/index.esm.js +4 -3
- package/dist/utils/index.js +3 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/views/index.esm.js +8 -8
- package/dist/views/index.js +7 -7
- package/package.json +1 -1
- package/dist/chunks/appbar-BKCYuYKD.js.map +0 -1
- package/dist/chunks/appbar-CQ5FSUhV.esm.js.map +0 -1
- package/dist/chunks/form-builder-deconversion-B7Ico4Wt.js.map +0 -1
- package/dist/chunks/form-builder-deconversion-CUr6uDVY.esm.js.map +0 -1
- package/dist/chunks/route-page-map-B-P_qkAc.esm.js.map +0 -1
- package/dist/chunks/route-page-map-pK2cJVjt.js.map +0 -1
- package/dist/chunks/translations-C3zIy7AK.js.map +0 -1
- package/dist/chunks/translations-DQnNjq2i.esm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-D9vQnJ7u.esm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-DfH09cqm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translations-C3zIy7AK.js","sources":["../../src/utils/calculation.ts","../../src/utils/translations.ts"],"sourcesContent":["import { getApiConfigSafe } from './api-config';\n\nexport function calculateAdditionalDiscountCrossValue(\n sourceValue: number,\n sourceField: 'percentage' | 'amount',\n total: number\n): number {\n if (total <= 0 || sourceValue <= 0) return 0;\n if (sourceField === 'percentage') {\n const result = total * (sourceValue / 100);\n return getApiConfigSafe()?.countryEnv === 'spar' ? result : Number(result.toFixed(2));\n }\n const result = (sourceValue / total) * 100;\n return getApiConfigSafe()?.countryEnv === 'spar' ? result : Number(result.toFixed(2));\n}\n\nexport const calculateEntries = (\n\titems: any[],\n\texpenses?: any[],\n\tadditionalDiscountOn?: string,\n\tadditionalDiscountPercentage?: number,\n\tprovidedAdditionalDiscountAmount?: number,\n\troundOff?: boolean,\n\troundOffAmount?: number,\n promotionAmount?: number\n) => {\n\tlet totalQuantity = 0,\n\t\ttotalDiscount = 0,\n\t\ttotalTaxAmount = 0,\n\t\ttotalAmountExcludingAll = 0,\n\t\ttotalAmountIncludingAll = 0,\n\t\tadditionalDiscountAmount = 0,\n\t\ttotalGrossAmount = 0;\n\n\tif (items.length) {\n\t\titems.forEach((item) => {\n\t\t\ttotalQuantity += Number(item?.quantity || 0);\n\t\t\ttotalDiscount += Number(item?.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll +=\n\t\t\t\tNumber(item.quantity || 0) *\n\t\t\t\tNumber(item.rate || 0);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\tif (expenses?.length) {\n\t\texpenses.forEach((item) => {\n\t\t\ttotalQuantity += 1;\n\t\t\ttotalDiscount += Number(item.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll += 1 * Number(item.rate);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\n\tlet finalAmount = totalAmountIncludingAll;\n\n\tif (additionalDiscountOn) {\n\t\tif (additionalDiscountOn === 'Net Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalAmountIncludingAll * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t} else if (additionalDiscountOn === 'Gross Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalGrossAmount * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tfinalAmount =\n\t\tadditionalDiscountOn === 'Gross Amount'\n\t\t\t? Number(totalAmountIncludingAll) - Number(additionalDiscountAmount)\n\t\t\t: Number(totalAmountIncludingAll) - Number(additionalDiscountAmount);\n \n if(Number(promotionAmount)) {\n finalAmount = finalAmount - Number(promotionAmount)\n }\n\n\tconst actualTotalAmount = finalAmount;\n\tif (roundOff && roundOffAmount && Number(roundOffAmount)) {\n\t\tfinalAmount = Math.round(finalAmount / roundOffAmount) * roundOffAmount;\n\t}\n\tconst roundOffDifference = Number(finalAmount) - Number(actualTotalAmount);\n\tconst totalItemsExpenseDiscount = totalDiscount;\n\ttotalDiscount += Number(additionalDiscountAmount);\n\treturn {\n\t\ttotalQuantity,\n\t\ttotalDiscount,\n\t\ttotalItemsExpenseDiscount,\n\t\ttotalTaxAmount,\n\t\ttotalAmountExludingAll: totalAmountExcludingAll,\n\t\ttotalAmountIncludingAll,\n\t\tadditinoalDiscountAmount: additionalDiscountAmount,\n\t\ttotalGrossAmount,\n\t\tactualTotalAmount,\n\t\troundOffDifference,\n\t\tfinalAmount\n\t};\n};","import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["result","getApiConfigSafe","getV1LanguagesTranslations","getToken","module","_a"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translations-DQnNjq2i.esm.js","sources":["../../src/utils/calculation.ts","../../src/utils/translations.ts"],"sourcesContent":["import { getApiConfigSafe } from './api-config';\n\nexport function calculateAdditionalDiscountCrossValue(\n sourceValue: number,\n sourceField: 'percentage' | 'amount',\n total: number\n): number {\n if (total <= 0 || sourceValue <= 0) return 0;\n if (sourceField === 'percentage') {\n const result = total * (sourceValue / 100);\n return getApiConfigSafe()?.countryEnv === 'spar' ? result : Number(result.toFixed(2));\n }\n const result = (sourceValue / total) * 100;\n return getApiConfigSafe()?.countryEnv === 'spar' ? result : Number(result.toFixed(2));\n}\n\nexport const calculateEntries = (\n\titems: any[],\n\texpenses?: any[],\n\tadditionalDiscountOn?: string,\n\tadditionalDiscountPercentage?: number,\n\tprovidedAdditionalDiscountAmount?: number,\n\troundOff?: boolean,\n\troundOffAmount?: number,\n promotionAmount?: number\n) => {\n\tlet totalQuantity = 0,\n\t\ttotalDiscount = 0,\n\t\ttotalTaxAmount = 0,\n\t\ttotalAmountExcludingAll = 0,\n\t\ttotalAmountIncludingAll = 0,\n\t\tadditionalDiscountAmount = 0,\n\t\ttotalGrossAmount = 0;\n\n\tif (items.length) {\n\t\titems.forEach((item) => {\n\t\t\ttotalQuantity += Number(item?.quantity || 0);\n\t\t\ttotalDiscount += Number(item?.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll +=\n\t\t\t\tNumber(item.quantity || 0) *\n\t\t\t\tNumber(item.rate || 0);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\tif (expenses?.length) {\n\t\texpenses.forEach((item) => {\n\t\t\ttotalQuantity += 1;\n\t\t\ttotalDiscount += Number(item.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll += 1 * Number(item.rate);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\n\tlet finalAmount = totalAmountIncludingAll;\n\n\tif (additionalDiscountOn) {\n\t\tif (additionalDiscountOn === 'Net Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalAmountIncludingAll * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t} else if (additionalDiscountOn === 'Gross Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalGrossAmount * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tfinalAmount =\n\t\tadditionalDiscountOn === 'Gross Amount'\n\t\t\t? Number(totalAmountIncludingAll) - Number(additionalDiscountAmount)\n\t\t\t: Number(totalAmountIncludingAll) - Number(additionalDiscountAmount);\n \n if(Number(promotionAmount)) {\n finalAmount = finalAmount - Number(promotionAmount)\n }\n\n\tconst actualTotalAmount = finalAmount;\n\tif (roundOff && roundOffAmount && Number(roundOffAmount)) {\n\t\tfinalAmount = Math.round(finalAmount / roundOffAmount) * roundOffAmount;\n\t}\n\tconst roundOffDifference = Number(finalAmount) - Number(actualTotalAmount);\n\tconst totalItemsExpenseDiscount = totalDiscount;\n\ttotalDiscount += Number(additionalDiscountAmount);\n\treturn {\n\t\ttotalQuantity,\n\t\ttotalDiscount,\n\t\ttotalItemsExpenseDiscount,\n\t\ttotalTaxAmount,\n\t\ttotalAmountExludingAll: totalAmountExcludingAll,\n\t\ttotalAmountIncludingAll,\n\t\tadditinoalDiscountAmount: additionalDiscountAmount,\n\t\ttotalGrossAmount,\n\t\tactualTotalAmount,\n\t\troundOffDifference,\n\t\tfinalAmount\n\t};\n};","import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["result","_a"],"mappings":"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"}
|