@erpsquad/common 1.8.100 → 1.8.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/_virtual/index/index.esm10.js +3 -3
  2. package/dist/_virtual/index/index.esm11.js +2 -4
  3. package/dist/_virtual/index/index.esm11.js.map +1 -1
  4. package/dist/_virtual/index/index.esm3.js +4 -2
  5. package/dist/_virtual/index/index.esm3.js.map +1 -1
  6. package/dist/_virtual/index/index.esm4.js +3 -3
  7. package/dist/_virtual/index/index.esm5.js +3 -3
  8. package/dist/_virtual/index/index.esm6.js +3 -3
  9. package/dist/_virtual/index/index.esm7.js +3 -3
  10. package/dist/_virtual/index/index.esm8.js +3 -3
  11. package/dist/_virtual/index/index.esm9.js +3 -3
  12. package/dist/_virtual/index/index10.js +1 -1
  13. package/dist/_virtual/index/index11.js +1 -1
  14. package/dist/_virtual/index/index3.js +1 -1
  15. package/dist/_virtual/index/index4.js +1 -1
  16. package/dist/_virtual/index/index5.js +1 -1
  17. package/dist/_virtual/index/index6.js +1 -1
  18. package/dist/_virtual/index/index7.js +1 -1
  19. package/dist/_virtual/index/index8.js +1 -1
  20. package/dist/_virtual/index/index9.js +1 -1
  21. package/dist/components/header/redux/actionCreator/index.esm.js +0 -3
  22. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  23. package/dist/components/header/redux/actionCreator/index.js +1 -1
  24. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  25. package/dist/components/share-modal/redux/actionCreator/index.esm.js +0 -3
  26. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  27. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  28. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  29. package/dist/contexts/languageContext/index.esm.js +4 -2
  30. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  31. package/dist/contexts/languageContext/index.js +2 -2
  32. package/dist/contexts/languageContext/index.js.map +1 -1
  33. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
  34. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
  35. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js.map +1 -1
  36. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  37. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  38. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  39. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  40. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  41. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  42. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  43. package/dist/style.css +74 -74
  44. package/dist/utils/api/index.esm.js +3 -0
  45. package/dist/utils/api/index.esm.js.map +1 -1
  46. package/dist/utils/api/index.js +1 -1
  47. package/dist/utils/api/index.js.map +1 -1
  48. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -2
  49. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  50. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  51. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  52. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.esm.js";
3
- var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/clamp/index/index.esm.js";
3
+ var require$$2 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$1 as default
5
+ require$$2 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm10.js.map
@@ -1,7 +1,5 @@
1
- import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/clamp/index/index.esm.js";
3
- var require$$2 = /* @__PURE__ */ getAugmentedNamespace(index);
1
+ var dist = { exports: {} };
4
2
  export {
5
- require$$2 as default
3
+ dist as __module
6
4
  };
7
5
  //# sourceMappingURL=index.esm11.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm11.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.esm11.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,7 @@
1
- var dist = { exports: {} };
1
+ import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
+ import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
3
+ var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
2
4
  export {
3
- dist as __module
5
+ require$$1 as default
4
6
  };
5
7
  //# sourceMappingURL=index.esm3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.esm3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
3
- var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/deepmerge/index/index.esm.js";
3
+ var require$$4 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$1 as default
5
+ require$$4 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm4.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/deepmerge/index/index.esm.js";
3
- var require$$4 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/capitalize/index/index.esm.js";
3
+ var require$$5 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$4 as default
5
+ require$$5 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm5.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/capitalize/index/index.esm.js";
3
- var require$$5 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/getDisplayName/index/index.esm.js";
3
+ var require$$6 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$5 as default
5
+ require$$6 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm6.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/getDisplayName/index/index.esm.js";
3
- var require$$6 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/system/esm/createTheme/index/index.esm.js";
3
+ var require$$7 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$6 as default
5
+ require$$7 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm7.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/system/esm/createTheme/index/index.esm.js";
3
- var require$$7 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/system/esm/styleFunctionSx/index/index.esm.js";
3
+ var require$$8 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$7 as default
5
+ require$$8 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm8.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/system/esm/styleFunctionSx/index/index.esm.js";
3
- var require$$8 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.esm.js";
3
+ var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$8 as default
5
+ require$$1 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm9.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/clamp/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index10.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/clamp/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
2
2
  //# sourceMappingURL=index11.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/styled-engine/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index3.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/styled-engine/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/deepmerge/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index4.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/deepmerge/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/capitalize/index/index.js"),i=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=i;
2
2
  //# sourceMappingURL=index5.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/capitalize/index/index.js"),i=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/getDisplayName/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index6.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/getDisplayName/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/createTheme/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index7.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/createTheme/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/styleFunctionSx/index/index.js"),t=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=t;
2
2
  //# sourceMappingURL=index8.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/styleFunctionSx/index/index.js"),t=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
2
2
  //# sourceMappingURL=index9.js.map
@@ -1,9 +1,6 @@
1
1
  import { createAsyncThunk } from "@reduxjs/toolkit";
2
- import { setBaseUrl } from "../../../../api-client/api.rbac/api/index.esm.js";
3
2
  import { getV1Languages } from "../../../../api-client/api.system-feature/api/index.esm.js";
4
3
  import { getToken } from "../../../../utils/common/index.esm.js";
5
- import { getApiConfig } from "../../../../utils/api-config/index.esm.js";
6
- setBaseUrl(`${getApiConfig().backendBaseUrl}/rbac`);
7
4
  const fetchLanguages = createAsyncThunk(
8
5
  "header/language/get",
9
6
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/header/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\nimport { getApiConfig } from \"../../../utils\";\n\n\nsetRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n"],"names":["setRoleURL"],"mappings":";;;;;AAOAA,WAAW,GAAG,aAAA,EAAe,cAAc,OAAO;AAE3C,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;;AACV,UAAM,WAAW,MAAM,eAAe;AAAA,MACpC,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AACD,UAAM,SAAO,0CAAU,SAAV,mBAAgB,cAAa,CAAA;AAC1C,UAAM,aAAY,kCAAM,OAAO,CAAA,MAAK,uBAAG,eAArB,mBAAiC;AAAA,MAAI,CAAA,MAAK;AAC1D,eAAO;AAAA,UACL,OAAO,uBAAG;AAAA,UACV,MAAM,uBAAG;AAAA,UACT,WAAW,uBAAG;AAAA,QAAA;AAAA,MAElB;AAAA;AAEA,WAAO,EAAE,UAAA;AAAA,EACX;AAAC;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/header/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n"],"names":[],"mappings":";;;AAIO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;;AACV,UAAM,WAAW,MAAM,eAAe;AAAA,MACpC,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AACD,UAAM,SAAO,0CAAU,SAAV,mBAAgB,cAAa,CAAA;AAC1C,UAAM,aAAY,kCAAM,OAAO,CAAA,MAAK,uBAAG,eAArB,mBAAiC;AAAA,MAAI,CAAA,MAAK;AAC1D,eAAO;AAAA,UACL,OAAO,uBAAG;AAAA,UACV,MAAM,uBAAG;AAAA,UACT,WAAW,uBAAG;AAAA,QAAA;AAAA,MAElB;AAAA;AAEA,WAAO,EAAE,UAAA;AAAA,EACX;AAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),i=require("../../../../api-client/api.rbac/api/index.js"),a=require("../../../../api-client/api.system-feature/api/index.js"),n=require("../../../../utils/common/index.js"),r=require("../../../../utils/api-config/index.js");i.setBaseUrl(`${r.getApiConfig().backendBaseUrl}/rbac`);const l=e.createAsyncThunk("header/language/get",async()=>{var e,i;const r=await a.getV1Languages({order:"id:1",...n.getToken()}),l=(null==(e=null==r?void 0:r.data)?void 0:e.languages)||[];return{languages:null==(i=null==l?void 0:l.filter(e=>null==e?void 0:e.is_active))?void 0:i.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}))}});exports.fetchLanguages=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),i=require("../../../../api-client/api.system-feature/api/index.js"),a=require("../../../../utils/common/index.js");const n=e.createAsyncThunk("header/language/get",async()=>{var e,n;const l=await i.getV1Languages({order:"id:1",...a.getToken()}),t=(null==(e=null==l?void 0:l.data)?void 0:e.languages)||[];return{languages:null==(n=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:n.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}))}});exports.fetchLanguages=n;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/header/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\nimport { getApiConfig } from \"../../../utils\";\n\n\nsetRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n"],"names":["setRoleURL","getApiConfig","backendBaseUrl","fetchLanguages","createAsyncThunk","async","response","getV1Languages","order","getToken","data","_a","languages","_b","filter","d","is_active","map","label","name","code","direction"],"mappings":"sUAOAA,EAAAA,WAAW,GAAGC,EAAAA,eAAeC,uBAEtB,MAAMC,EAAiBC,EAAAA,iBAC5B,sBACAC,kBACE,MAAMC,QAAiBC,iBAAe,CACpCC,MAAO,UACJC,EAAAA,aAECC,GAAO,OAAAC,EAAA,MAAAL,OAAA,EAAAA,EAAUI,WAAV,EAAAC,EAAgBC,YAAa,GAS1C,MAAO,CAAEA,UARS,OAAAC,EAAA,MAAAH,OAAA,EAAAA,EAAMI,OAAOC,GAAK,MAAAA,OAAA,EAAAA,EAAGC,iBAArB,EAAAH,EAAiCI,IAAIF,IAC9C,CACLG,MAAO,MAAAH,OAAA,EAAAA,EAAGI,KACVC,KAAM,MAAAL,OAAA,EAAAA,EAAGK,KACTC,UAAW,MAAAN,OAAA,EAAAA,EAAGM"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/header/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n"],"names":["fetchLanguages","createAsyncThunk","async","response","getV1Languages","order","getToken","data","_a","languages","_b","filter","d","is_active","map","label","name","code","direction"],"mappings":"yNAIO,MAAMA,EAAiBC,EAAAA,iBAC5B,sBACAC,kBACE,MAAMC,QAAiBC,iBAAe,CACpCC,MAAO,UACJC,EAAAA,aAECC,GAAO,OAAAC,EAAA,MAAAL,OAAA,EAAAA,EAAUI,WAAV,EAAAC,EAAgBC,YAAa,GAS1C,MAAO,CAAEA,UARS,OAAAC,EAAA,MAAAH,OAAA,EAAAA,EAAMI,OAAOC,GAAK,MAAAA,OAAA,EAAAA,EAAGC,iBAArB,EAAAH,EAAiCI,IAAIF,IAC9C,CACLG,MAAO,MAAAH,OAAA,EAAAA,EAAGI,KACVC,KAAM,MAAAL,OAAA,EAAAA,EAAGK,KACTC,UAAW,MAAAN,OAAA,EAAAA,EAAGM"}
@@ -1,9 +1,6 @@
1
1
  import { createAsyncThunk } from "@reduxjs/toolkit";
2
- import { setBaseUrl } from "../../../../api-client/api.rbac/api/index.esm.js";
3
2
  import { getV1PagesUserList, postV1PagesShare } from "../../../../api-client/api.system-feature/api/index.esm.js";
4
3
  import { getToken } from "../../../../utils/common/index.esm.js";
5
- import { getApiConfig } from "../../../../utils/api-config/index.esm.js";
6
- setBaseUrl(`${getApiConfig().backendBaseUrl}/rbac`);
7
4
  const getAllUserAndDepartmentDropdown = createAsyncThunk(
8
5
  "share/getUser",
9
6
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\nimport { getApiConfig } from \"../../../utils\";\n\n\nsetRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL"],"mappings":";;;;;AAUAA,WAAW,GAAG,aAAA,EAAe,cAAc,OAAO;AAE3C,MAAM,kCAAkC;AAAA,EAC7C;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,mBAAmB,EAAE,GAAG,SAAA,GAAY;AAC3D,WAAO;AAAA,EACT;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA,OAAO,SAAc;AACnB,UAAM,WAAW,MAAM,iBAAiB,EAAE,GAAG,SAAA,GAAY,MAAM;AAC/D,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":[],"mappings":";;;AAOO,MAAM,kCAAkC;AAAA,EAC7C;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,mBAAmB,EAAE,GAAG,SAAA,GAAY;AAC3D,WAAO;AAAA,EACT;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA,OAAO,SAAc;AACnB,UAAM,WAAW,MAAM,iBAAiB,EAAE,GAAG,SAAA,GAAY,MAAM;AAC/D,WAAO;AAAA,EACT;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),a=require("../../../../api-client/api.rbac/api/index.js"),r=require("../../../../api-client/api.system-feature/api/index.js"),s=require("../../../../utils/common/index.js"),t=require("../../../../utils/api-config/index.js");a.setBaseUrl(`${t.getApiConfig().backendBaseUrl}/rbac`);const i=e.createAsyncThunk("share/getUser",async()=>await r.getV1PagesUserList({...s.getToken()})),n=e.createAsyncThunk("share/sharePage",async e=>await r.postV1PagesShare({...s.getToken(),data:e}));exports.getAllUserAndDepartmentDropdown=i,exports.sharePage=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),s=require("../../../../api-client/api.system-feature/api/index.js"),t=require("../../../../utils/common/index.js");const r=e.createAsyncThunk("share/getUser",async()=>await s.getV1PagesUserList({...t.getToken()})),a=e.createAsyncThunk("share/sharePage",async e=>await s.postV1PagesShare({...t.getToken(),data:e}));exports.getAllUserAndDepartmentDropdown=r,exports.sharePage=a;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\nimport { getApiConfig } from \"../../../utils\";\n\n\nsetRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL","getApiConfig","backendBaseUrl","getAllUserAndDepartmentDropdown","createAsyncThunk","async","getV1PagesUserList","getToken","sharePage","data","postV1PagesShare"],"mappings":"sUAUAA,EAAAA,WAAW,GAAGC,EAAAA,eAAeC,uBAEtB,MAAMC,EAAkCC,EAAAA,iBAC7C,gBACAC,eACyBC,EAAAA,mBAAmB,IAAKC,EAAAA,cAKtCC,EAAYJ,EAAAA,iBACvB,kBACAC,MAAOI,SACkBC,EAAAA,iBAAiB,IAAKH,EAAAA,WAAYE"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["getAllUserAndDepartmentDropdown","createAsyncThunk","async","getV1PagesUserList","getToken","sharePage","data","postV1PagesShare"],"mappings":"yNAOO,MAAMA,EAAkCC,EAAAA,iBAC7C,gBACAC,eACyBC,EAAAA,mBAAmB,IAAKC,EAAAA,cAKtCC,EAAYJ,EAAAA,iBACvB,kBACAC,MAAOI,SACkBC,EAAAA,iBAAiB,IAAKH,EAAAA,WAAYE"}
@@ -5,7 +5,7 @@ import { DEFAULT_LANG } from "../../constants/all-language/index.esm.js";
5
5
  import { getToken } from "../../utils/common/index.esm.js";
6
6
  import { setBaseUrl } from "../../api-client/api.rbac/api/index.esm.js";
7
7
  import { getV1Languages } from "../../api-client/api.system-feature/api/index.esm.js";
8
- import { getApiConfig } from "../../utils/api-config/index.esm.js";
8
+ import { isApiConfigInitialized, getApiConfig } from "../../utils/api-config/index.esm.js";
9
9
  const FALLBACK_LANGUAGES = [
10
10
  "en",
11
11
  // English as primary fallback
@@ -81,7 +81,9 @@ const LanguageProvider = ({ children }) => {
81
81
  const [state, dispatch] = useReducer(languageReducer, initialState);
82
82
  const { i18n } = useTranslation();
83
83
  useEffect(() => {
84
- setBaseUrl(`${getApiConfig().backendBaseUrl}/rbac`);
84
+ if (isApiConfigInitialized()) {
85
+ setBaseUrl(`${getApiConfig().backendBaseUrl}/rbac`);
86
+ }
85
87
  }, []);
86
88
  const safeChangeLanguage = async (langCode) => {
87
89
  if (i18n && typeof i18n.changeLanguage === "function") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\nimport { getApiConfig } from '@/utils';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[],\n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true,\n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n\n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n\n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n\n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n\n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: bestLanguage,\n isFallback\n });\n applyLanguageSettings(bestLanguage);\n\n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n\n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n\n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n\n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n\n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n\n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n\n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport { LanguageContext };\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\nimport { getApiConfig, isApiConfigInitialized } from '@/utils';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[],\n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true,\n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL - only when API config is available\n useEffect(() => {\n if (isApiConfigInitialized()) {\n setRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n }\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n\n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n\n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n\n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n\n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: bestLanguage,\n isFallback\n });\n applyLanguageSettings(bestLanguage);\n\n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n\n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n\n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n\n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n\n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n\n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n\n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport { LanguageContext };\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),i=require("../../utils/common/index.js"),l=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js"),o=require("../../utils/api-config/index.js");const c=["en","en-US",t.DEFAULT_LANG],s={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},d=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},u=a.createContext(void 0);exports.LanguageContext=u,exports.LanguageProvider=({children:t})=>{const[g,E]=a.useReducer(d,s),{i18n:A}=n.useTranslation();a.useEffect(()=>{l.setBaseUrl(`${o.getApiConfig().backendBaseUrl}/rbac`)},[]);const p=async e=>{if(A&&"function"==typeof A.changeLanguage)try{await A.changeLanguage(e)}catch(a){}},_=e=>{document.body.dir=e.direction||"ltr",p(e.code),localStorage.setItem("_language",e.code)},y=async()=>{var e,a;try{E({type:"FETCH_LANGUAGES_START"});const n=await r.getV1Languages({order:"id:1",filters:"(is_active.in=[1])",...i.getToken()}),t=(null==(e=null==n?void 0:n.data)?void 0:e.languages)||[],l=null==(a=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:a.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}));l.some(e=>"en"===e.code)||l.unshift({code:"en",label:"English",direction:"ltr"}),E({type:"FETCH_LANGUAGES_SUCCESS",payload:l});const o=localStorage.getItem("_language"),s=((e,a)=>{if(!e||0===e.length)return null;if(a){const n=e.find(e=>e.code===a);if(n)return n}for(const n of c){const a=e.find(e=>e.code===n);if(a)return a}return e[0]||null})(l,o||void 0);if(s){const e=o&&o!==s.code;E({type:"SET_CURRENT_LANGUAGE",payload:s,isFallback:e}),_(s)}}catch(n){const e=n instanceof Error?n.message:"Failed to fetch languages";E({type:"FETCH_LANGUAGES_ERROR",payload:e});const a={code:"en",label:"English",direction:"ltr"};E({type:"FETCH_LANGUAGES_SUCCESS",payload:[a]}),E({type:"SET_CURRENT_LANGUAGE",payload:a,isFallback:!0}),document.body.dir="ltr",p("en"),localStorage.setItem("_language","en")}};a.useEffect(()=>{y()},[]);const L={...g,changeLanguage:e=>{const a=g.languages.find(a=>a.code===e);if(a)E({type:"SET_CURRENT_LANGUAGE",payload:a}),E({type:"SET_FALLBACK_ACTIVE",payload:!1}),_(a);else{const e={code:"en",label:"English",direction:"ltr"};E({type:"SET_CURRENT_LANGUAGE",payload:e,isFallback:!0}),_(e)}},fetchLanguages:y};/* @__PURE__ */
2
- return e.jsx(u.Provider,{value:L,children:t})},exports.default=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),i=require("../../utils/common/index.js"),l=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js"),o=require("../../utils/api-config/index.js");const c=["en","en-US",t.DEFAULT_LANG],s={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},d=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},u=a.createContext(void 0);exports.LanguageContext=u,exports.LanguageProvider=({children:t})=>{const[g,E]=a.useReducer(d,s),{i18n:A}=n.useTranslation();a.useEffect(()=>{o.isApiConfigInitialized()&&l.setBaseUrl(`${o.getApiConfig().backendBaseUrl}/rbac`)},[]);const p=async e=>{if(A&&"function"==typeof A.changeLanguage)try{await A.changeLanguage(e)}catch(a){}},_=e=>{document.body.dir=e.direction||"ltr",p(e.code),localStorage.setItem("_language",e.code)},f=async()=>{var e,a;try{E({type:"FETCH_LANGUAGES_START"});const n=await r.getV1Languages({order:"id:1",filters:"(is_active.in=[1])",...i.getToken()}),t=(null==(e=null==n?void 0:n.data)?void 0:e.languages)||[],l=null==(a=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:a.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}));l.some(e=>"en"===e.code)||l.unshift({code:"en",label:"English",direction:"ltr"}),E({type:"FETCH_LANGUAGES_SUCCESS",payload:l});const o=localStorage.getItem("_language"),s=((e,a)=>{if(!e||0===e.length)return null;if(a){const n=e.find(e=>e.code===a);if(n)return n}for(const n of c){const a=e.find(e=>e.code===n);if(a)return a}return e[0]||null})(l,o||void 0);if(s){const e=o&&o!==s.code;E({type:"SET_CURRENT_LANGUAGE",payload:s,isFallback:e}),_(s)}}catch(n){const e=n instanceof Error?n.message:"Failed to fetch languages";E({type:"FETCH_LANGUAGES_ERROR",payload:e});const a={code:"en",label:"English",direction:"ltr"};E({type:"FETCH_LANGUAGES_SUCCESS",payload:[a]}),E({type:"SET_CURRENT_LANGUAGE",payload:a,isFallback:!0}),document.body.dir="ltr",p("en"),localStorage.setItem("_language","en")}};a.useEffect(()=>{f()},[]);const y={...g,changeLanguage:e=>{const a=g.languages.find(a=>a.code===e);if(a)E({type:"SET_CURRENT_LANGUAGE",payload:a}),E({type:"SET_FALLBACK_ACTIVE",payload:!1}),_(a);else{const e={code:"en",label:"English",direction:"ltr"};E({type:"SET_CURRENT_LANGUAGE",payload:e,isFallback:!0}),_(e)}},fetchLanguages:f};/* @__PURE__ */
2
+ return e.jsx(u.Provider,{value:y,children:t})},exports.default=u;
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\nimport { getApiConfig } from '@/utils';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[],\n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true,\n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n\n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n\n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n\n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n\n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: bestLanguage,\n isFallback\n });\n applyLanguageSettings(bestLanguage);\n\n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n\n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n\n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n\n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n\n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n\n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n\n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport { LanguageContext };\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","setRoleURL","getApiConfig","backendBaseUrl","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\nimport { getApiConfig, isApiConfigInitialized } from '@/utils';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[],\n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true,\n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL - only when API config is available\n useEffect(() => {\n if (isApiConfigInitialized()) {\n setRoleURL(`${getApiConfig().backendBaseUrl}/rbac`);\n }\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n\n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n\n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n\n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n\n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: bestLanguage,\n isFallback\n });\n applyLanguageSettings(bestLanguage);\n\n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n\n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n\n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n\n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n\n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n\n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n\n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({\n type: 'SET_CURRENT_LANGUAGE',\n payload: englishFallback,\n isFallback: true\n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport { LanguageContext };\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","isApiConfigInitialized","setRoleURL","getApiConfig","backendBaseUrl","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers/index.esm.js";
2
- import { __module as dist } from "../../../../../_virtual/index/index.esm3.js";
2
+ import { __module as dist } from "../../../../../_virtual/index/index.esm11.js";
3
3
  import React__default from "react";
4
4
  import ReactDOM__default from "react-dom";
5
5
  import require$$0 from "react-is";