@erpsquad/common 1.10.46 → 1.10.47
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/{CssBaseline-FmVm1H4u.js → CssBaseline-BtFw_t3c.js} +2 -2
- package/dist/chunks/{CssBaseline-FmVm1H4u.js.map → CssBaseline-BtFw_t3c.js.map} +1 -1
- package/dist/chunks/{CssBaseline-BE_MymKw.esm.js → CssBaseline-DD305XvW.esm.js} +2 -2
- package/dist/chunks/{CssBaseline-BE_MymKw.esm.js.map → CssBaseline-DD305XvW.esm.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-Ci9MeAMt.js → ERPUIProvider-B0UbTkZY.js} +7 -7
- package/dist/chunks/{ERPUIProvider-Ci9MeAMt.js.map → ERPUIProvider-B0UbTkZY.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-BWRPHdFg.esm.js → ERPUIProvider-D9YB9EQO.esm.js} +7 -7
- package/dist/chunks/{ERPUIProvider-BWRPHdFg.esm.js.map → ERPUIProvider-D9YB9EQO.esm.js.map} +1 -1
- package/dist/chunks/{android-12-switch-BqEDLbO8.js → android-12-switch-BxTuSbqu.js} +14 -14
- package/dist/chunks/{android-12-switch-BqEDLbO8.js.map → android-12-switch-BxTuSbqu.js.map} +1 -1
- package/dist/chunks/{android-12-switch-BfinmXsA.esm.js → android-12-switch-ROt3lCqE.esm.js} +14 -14
- package/dist/chunks/{android-12-switch-BfinmXsA.esm.js.map → android-12-switch-ROt3lCqE.esm.js.map} +1 -1
- package/dist/chunks/api-config-DXwDMFn-.js.map +1 -1
- package/dist/chunks/api-config-GOys-syK.esm.js.map +1 -1
- package/dist/chunks/{appbar-BSMZjpV0.esm.js → appbar-B_raEww7.esm.js} +26 -20
- package/dist/chunks/appbar-B_raEww7.esm.js.map +1 -0
- package/dist/chunks/{appbar-xFkckGFf.js → appbar-CUtGg9P0.js} +26 -20
- package/dist/chunks/appbar-CUtGg9P0.js.map +1 -0
- package/dist/chunks/{arrow-up-BedcrblB.esm.js → arrow-up-BDkqlEB_.esm.js} +2 -2
- package/dist/chunks/{arrow-up-BedcrblB.esm.js.map → arrow-up-BDkqlEB_.esm.js.map} +1 -1
- package/dist/chunks/{arrow-up-BlxSDanH.js → arrow-up-Dg35LjrD.js} +2 -2
- package/dist/chunks/{arrow-up-BlxSDanH.js.map → arrow-up-Dg35LjrD.js.map} +1 -1
- package/dist/chunks/{dashboard-DjSjDk1y.js → dashboard-Bya4KFzH.js} +2 -2
- package/dist/chunks/{dashboard-DjSjDk1y.js.map → dashboard-Bya4KFzH.js.map} +1 -1
- package/dist/chunks/{dashboard-Dtei0Khz.esm.js → dashboard-DRNW-CTT.esm.js} +2 -2
- package/dist/chunks/{dashboard-Dtei0Khz.esm.js.map → dashboard-DRNW-CTT.esm.js.map} +1 -1
- package/dist/chunks/{default-data-C0z6QDJm.js → default-data-C2a_a9U_.js} +17 -13
- package/dist/chunks/default-data-C2a_a9U_.js.map +1 -0
- package/dist/chunks/{default-data-96R_HsDl.esm.js → default-data-Dc-m3LiT.esm.js} +17 -13
- package/dist/chunks/default-data-Dc-m3LiT.esm.js.map +1 -0
- package/dist/chunks/{document-BY4ol6iQ.esm.js → document-rki7DMqA.esm.js} +2 -2
- package/dist/chunks/{document-BY4ol6iQ.esm.js.map → document-rki7DMqA.esm.js.map} +1 -1
- package/dist/chunks/{document-DYtlibq0.js → document-zJ0CptA2.js} +2 -2
- package/dist/chunks/{document-DYtlibq0.js.map → document-zJ0CptA2.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-C54MoBJ3.js → form-builder-deconversion-B36OjpvZ.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-C54MoBJ3.js.map → form-builder-deconversion-B36OjpvZ.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-Baw1wL3s.esm.js → form-builder-deconversion-BN3pnLiO.esm.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-Baw1wL3s.esm.js.map → form-builder-deconversion-BN3pnLiO.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-C__xZPZT.esm.js → fullScreen-BZAR9ggK.esm.js} +3 -3
- package/dist/chunks/{fullScreen-C__xZPZT.esm.js.map → fullScreen-BZAR9ggK.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-B_Geael8.js → fullScreen-CuPeq163.js} +3 -3
- package/dist/chunks/{fullScreen-B_Geael8.js.map → fullScreen-CuPeq163.js.map} +1 -1
- package/dist/chunks/{identifier-BB05HqNB.esm.js → identifier-0SZUhw_A.esm.js} +67 -74
- package/dist/chunks/{identifier-BB05HqNB.esm.js.map → identifier-0SZUhw_A.esm.js.map} +1 -1
- package/dist/chunks/{identifier-BSjnVNXF.js → identifier-CaTy7Osd.js} +67 -74
- package/dist/chunks/{identifier-BSjnVNXF.js.map → identifier-CaTy7Osd.js.map} +1 -1
- package/dist/chunks/{languageContext-Ce2XfiCS.esm.js → languageContext-DvTW1NGX.esm.js} +2 -2
- package/dist/chunks/{languageContext-Ce2XfiCS.esm.js.map → languageContext-DvTW1NGX.esm.js.map} +1 -1
- package/dist/chunks/{languageContext-CJJhc5zH.js → languageContext-Dw4OL1Wm.js} +2 -2
- package/dist/chunks/{languageContext-CJJhc5zH.js.map → languageContext-Dw4OL1Wm.js.map} +1 -1
- package/dist/chunks/{migration-utils-FtL5LhHH.esm.js → migration-utils-DOGCUMgN.esm.js} +3 -3
- package/dist/chunks/{migration-utils-FtL5LhHH.esm.js.map → migration-utils-DOGCUMgN.esm.js.map} +1 -1
- package/dist/chunks/{migration-utils-D7nOMiB2.js → migration-utils-DqTbHFlq.js} +3 -3
- package/dist/chunks/{migration-utils-D7nOMiB2.js.map → migration-utils-DqTbHFlq.js.map} +1 -1
- package/dist/chunks/{notification-BIkuYKbC.esm.js → notification-_WEc_EZI.esm.js} +2 -2
- package/dist/chunks/{notification-BIkuYKbC.esm.js.map → notification-_WEc_EZI.esm.js.map} +1 -1
- package/dist/chunks/{notification-Bq2o82vD.js → notification-vWmhkTRo.js} +2 -2
- package/dist/chunks/{notification-Bq2o82vD.js.map → notification-vWmhkTRo.js.map} +1 -1
- package/dist/chunks/{page-context-BqSErzQl.esm.js → page-context-BajNyjXY.esm.js} +3 -3
- package/dist/chunks/{page-context-BqSErzQl.esm.js.map → page-context-BajNyjXY.esm.js.map} +1 -1
- package/dist/chunks/{page-context-D2UXRKyx.js → page-context-DNHWacPV.js} +3 -3
- package/dist/chunks/{page-context-D2UXRKyx.js.map → page-context-DNHWacPV.js.map} +1 -1
- package/dist/chunks/{reducer-ByNHeaYX.esm.js → reducer-BqCQLXEh.esm.js} +9 -7
- package/dist/chunks/{reducer-ByNHeaYX.esm.js.map → reducer-BqCQLXEh.esm.js.map} +1 -1
- package/dist/chunks/{reducer-avNgc-SK.js → reducer-o59TdR-2.js} +5 -3
- package/dist/chunks/{reducer-avNgc-SK.js.map → reducer-o59TdR-2.js.map} +1 -1
- package/dist/chunks/{sidebar-Cz0RyL7a.js → sidebar-BAHwteHA.js} +7 -7
- package/dist/chunks/{sidebar-Cz0RyL7a.js.map → sidebar-BAHwteHA.js.map} +1 -1
- package/dist/chunks/{sidebar-CRkbZ2CT.esm.js → sidebar-CINlCsBR.esm.js} +7 -7
- package/dist/chunks/{sidebar-CRkbZ2CT.esm.js.map → sidebar-CINlCsBR.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-Daaf6HJ2.js → sidebarScreen-B8w0eg8t.js} +4 -4
- package/dist/chunks/{sidebarScreen-Daaf6HJ2.js.map → sidebarScreen-B8w0eg8t.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-CD5QcF2c.esm.js → sidebarScreen-DzP4Fy1-.esm.js} +4 -4
- package/dist/chunks/{sidebarScreen-CD5QcF2c.esm.js.map → sidebarScreen-DzP4Fy1-.esm.js.map} +1 -1
- package/dist/chunks/{store-Vqut1O2z.js → store-B6aznScx.js} +2 -2
- package/dist/chunks/{store-Vqut1O2z.js.map → store-B6aznScx.js.map} +1 -1
- package/dist/chunks/{store-Cih4OLuI.esm.js → store-DY2m64HU.esm.js} +2 -2
- package/dist/chunks/{store-Cih4OLuI.esm.js.map → store-DY2m64HU.esm.js.map} +1 -1
- package/dist/chunks/{theme-impl-DYj6u2Uj.esm.js → theme-impl-BPCaapgh.esm.js} +3 -3
- package/dist/chunks/{theme-impl-DYj6u2Uj.esm.js.map → theme-impl-BPCaapgh.esm.js.map} +1 -1
- package/dist/chunks/{theme-impl-B2IGIgWY.js → theme-impl-VqZAJjv7.js} +3 -3
- package/dist/chunks/{theme-impl-B2IGIgWY.js.map → theme-impl-VqZAJjv7.js.map} +1 -1
- package/dist/chunks/{themeSelector-BWS26_36.js → themeSelector-B1UMQOVw.js} +2 -2
- package/dist/chunks/{themeSelector-BWS26_36.js.map → themeSelector-B1UMQOVw.js.map} +1 -1
- package/dist/chunks/{themeSelector-Beuf11Zn.esm.js → themeSelector-CRTwkja4.esm.js} +2 -2
- package/dist/chunks/{themeSelector-Beuf11Zn.esm.js.map → themeSelector-CRTwkja4.esm.js.map} +1 -1
- package/dist/chunks/{tick-CUJtwriw.esm.js → tick-wc8bi2Fu.esm.js} +2 -2
- package/dist/chunks/{tick-CUJtwriw.esm.js.map → tick-wc8bi2Fu.esm.js.map} +1 -1
- package/dist/chunks/{tick-CVDvHe2s.js → tick-wgixJNsN.js} +2 -2
- package/dist/chunks/{tick-CVDvHe2s.js.map → tick-wgixJNsN.js.map} +1 -1
- package/dist/chunks/{toggle-switch-C-D3Pb1x.esm.js → toggle-switch-BEmygLUi.esm.js} +2 -2
- package/dist/chunks/{toggle-switch-C-D3Pb1x.esm.js.map → toggle-switch-BEmygLUi.esm.js.map} +1 -1
- package/dist/chunks/{toggle-switch-B4pMpNzd.js → toggle-switch-DxtcAFXc.js} +2 -2
- package/dist/chunks/{toggle-switch-B4pMpNzd.js.map → toggle-switch-DxtcAFXc.js.map} +1 -1
- package/dist/chunks/{trash-ihDGOeyw.esm.js → trash-UdiORwWn.esm.js} +2 -2
- package/dist/chunks/{trash-ihDGOeyw.esm.js.map → trash-UdiORwWn.esm.js.map} +1 -1
- package/dist/chunks/{trash-BuynwhTG.js → trash-q79H5Q4U.js} +2 -2
- package/dist/chunks/{trash-BuynwhTG.js.map → trash-q79H5Q4U.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-BVnBZ9TP.js → uom-field-wrapper-870_KnFK.js} +20 -17
- package/dist/chunks/uom-field-wrapper-870_KnFK.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-CacwGww9.esm.js → uom-field-wrapper-DC1mK4-2.esm.js} +20 -17
- package/dist/chunks/uom-field-wrapper-DC1mK4-2.esm.js.map +1 -0
- package/dist/chunks/{useAccountSetting-DTnGA_ej.js → useAccountSetting-BolqaAW4.js} +2 -2
- package/dist/chunks/{useAccountSetting-DTnGA_ej.js.map → useAccountSetting-BolqaAW4.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-DIJxoz5K.esm.js → useAccountSetting-BqPkM0WQ.esm.js} +2 -2
- package/dist/chunks/{useAccountSetting-DIJxoz5K.esm.js.map → useAccountSetting-BqPkM0WQ.esm.js.map} +1 -1
- package/dist/chunks/{useAdditionalDiscountAutoCalc-Cj2TFEUf.esm.js → useAdditionalDiscountAutoCalc-BGR4dtRV.esm.js} +3 -3
- package/dist/chunks/{useAdditionalDiscountAutoCalc-Cj2TFEUf.esm.js.map → useAdditionalDiscountAutoCalc-BGR4dtRV.esm.js.map} +1 -1
- package/dist/chunks/{useAdditionalDiscountAutoCalc-BnoUyFAt.js → useAdditionalDiscountAutoCalc-Blm3Dv9D.js} +3 -3
- package/dist/chunks/{useAdditionalDiscountAutoCalc-BnoUyFAt.js.map → useAdditionalDiscountAutoCalc-Blm3Dv9D.js.map} +1 -1
- package/dist/chunks/{useAuth-BfXZw2ZG.js → useAuth-BxOLRIR3.js} +3 -3
- package/dist/chunks/{useAuth-BfXZw2ZG.js.map → useAuth-BxOLRIR3.js.map} +1 -1
- package/dist/chunks/{useAuth-DI1ZdQmL.esm.js → useAuth-Cc85zx55.esm.js} +3 -3
- package/dist/chunks/{useAuth-DI1ZdQmL.esm.js.map → useAuth-Cc85zx55.esm.js.map} +1 -1
- package/dist/chunks/{useLangauge-DkFW3jmt.js → useLangauge-CH6Qmk_K.js} +2 -2
- package/dist/chunks/{useLangauge-DkFW3jmt.js.map → useLangauge-CH6Qmk_K.js.map} +1 -1
- package/dist/chunks/{useLangauge-HfM5K9im.esm.js → useLangauge-MakL7mDD.esm.js} +2 -2
- package/dist/chunks/{useLangauge-HfM5K9im.esm.js.map → useLangauge-MakL7mDD.esm.js.map} +1 -1
- package/dist/components/index.esm.js +14 -14
- package/dist/components/index.js +14 -14
- package/dist/contexts/index.esm.js +3 -3
- package/dist/contexts/index.js +3 -3
- package/dist/hooks/index.esm.js +5 -5
- package/dist/hooks/index.js +5 -5
- package/dist/icons/index.esm.js +7 -7
- package/dist/icons/index.js +7 -7
- package/dist/index.esm.js +28 -29
- package/dist/index.js +25 -26
- 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/utils/api-config.d.ts +1 -0
- package/dist/theme/index.esm.js +2 -2
- package/dist/theme/index.js +2 -2
- package/dist/utils/api-config.d.ts +1 -0
- package/dist/utils/index.esm.js +3 -3
- package/dist/utils/index.js +3 -3
- package/dist/views/index.esm.js +9 -8
- package/dist/views/index.js +8 -7
- package/dist/views/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/appbar-BSMZjpV0.esm.js.map +0 -1
- package/dist/chunks/appbar-xFkckGFf.js.map +0 -1
- package/dist/chunks/default-data-96R_HsDl.esm.js.map +0 -1
- package/dist/chunks/default-data-C0z6QDJm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-BVnBZ9TP.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-CacwGww9.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-config-DXwDMFn-.js","sources":["../../src/constants/auth.ts","../../src/utils/api-config.ts"],"sourcesContent":["export const auth = {\n storageTokenKeyName: \"_tid\",\n storageUserKeyName: \"_u_data\",\n storageRolePermissionKeyName: \"role-permission\"\n};\n","\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n appLogo: string;\n appFavicon: string;\n appEnv?: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\n\n// Subscriber pattern - callbacks to be notified when config is ready\ntype ConfigSubscriber = (config: ApiConfig) => void;\nconst subscribers: ConfigSubscriber[] = [];\n\n/**\n * Register a callback to be called when API config is initialized.\n * If config is already initialized, the callback is called immediately.\n * This allows modules to register their setBaseUrl calls without\n * worrying about initialization order.\n */\nexport function onApiConfigReady(callback: ConfigSubscriber): void {\n if (apiConfig) {\n // Config already initialized, call immediately\n callback(apiConfig);\n } else {\n // Store for later when config is initialized\n subscribers.push(callback);\n }\n}\n\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n // Notify all subscribers\n subscribers.forEach(callback => {\n try {\n callback(apiConfig!);\n } catch (error) {\n console.error('Error in API config subscriber:', error);\n }\n });\n}\n\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Get API config if available, otherwise return null.\n * Use this for optional access where you want to gracefully handle\n * uninitialized state.\n */\nexport function getApiConfigSafe(): ApiConfig | null {\n return apiConfig;\n}\n\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":";AAAO,MAAM,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,8BAA8B;AAChC;
|
|
1
|
+
{"version":3,"file":"api-config-DXwDMFn-.js","sources":["../../src/constants/auth.ts","../../src/utils/api-config.ts"],"sourcesContent":["export const auth = {\n storageTokenKeyName: \"_tid\",\n storageUserKeyName: \"_u_data\",\n storageRolePermissionKeyName: \"role-permission\"\n};\n","\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n appLogo: string;\n appFavicon: string;\n appEnv?: string;\n aiFeatureEnabled?: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\n\n// Subscriber pattern - callbacks to be notified when config is ready\ntype ConfigSubscriber = (config: ApiConfig) => void;\nconst subscribers: ConfigSubscriber[] = [];\n\n/**\n * Register a callback to be called when API config is initialized.\n * If config is already initialized, the callback is called immediately.\n * This allows modules to register their setBaseUrl calls without\n * worrying about initialization order.\n */\nexport function onApiConfigReady(callback: ConfigSubscriber): void {\n if (apiConfig) {\n // Config already initialized, call immediately\n callback(apiConfig);\n } else {\n // Store for later when config is initialized\n subscribers.push(callback);\n }\n}\n\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n // Notify all subscribers\n subscribers.forEach(callback => {\n try {\n callback(apiConfig!);\n } catch (error) {\n console.error('Error in API config subscriber:', error);\n }\n });\n}\n\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Get API config if available, otherwise return null.\n * Use this for optional access where you want to gracefully handle\n * uninitialized state.\n */\nexport function getApiConfigSafe(): ApiConfig | null {\n return apiConfig;\n}\n\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":";AAAO,MAAM,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,8BAA8B;AAChC;ACOA,IAAI,YAA8B;AAIlC,MAAM,cAAkC,CAAA;AAQjC,SAAS,iBAAiB,UAAkC;AAC/D,MAAI,WAAW;AAEX,aAAS,SAAS;AAAA,EACtB,OAAO;AAEH,gBAAY,KAAK,QAAQ;AAAA,EAC7B;AACJ;AAEO,SAAS,oBAAoB,QAAyB;AACzD,MAAI,WAAW;AACX,YAAQ,KAAK,wEAAwE;AAAA,EACzF;AAGA,MAAI,CAAC,OAAO,gBAAgB;AACxB,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACrE;AAEA,cAAY,EAAE,GAAG,OAAA;AAGjB,cAAY,QAAQ,CAAA,aAAY;AAC5B,QAAI;AACA,eAAS,SAAU;AAAA,IACvB,SAAS,OAAO;AACZ,cAAQ,MAAM,mCAAmC,KAAK;AAAA,IAC1D;AAAA,EACJ,CAAC;AACL;AAEO,SAAS,eAA0B;AACtC,MAAI,CAAC,WAAW;AACZ,UAAM,IAAI;AAAA,MACN;AAAA,IAAA;AAAA,EAGR;AAEA,SAAO;AACX;AAOO,SAAS,mBAAqC;AACjD,SAAO;AACX;AAEO,SAAS,yBAAkC;AAC9C,SAAO,cAAc;AACzB;AAGO,SAAS,iBAAuB;AACnC,cAAY;AAChB;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-config-GOys-syK.esm.js","sources":["../../src/constants/auth.ts","../../src/utils/api-config.ts"],"sourcesContent":["export const auth = {\n storageTokenKeyName: \"_tid\",\n storageUserKeyName: \"_u_data\",\n storageRolePermissionKeyName: \"role-permission\"\n};\n","\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n appLogo: string;\n appFavicon: string;\n appEnv?: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\n\n// Subscriber pattern - callbacks to be notified when config is ready\ntype ConfigSubscriber = (config: ApiConfig) => void;\nconst subscribers: ConfigSubscriber[] = [];\n\n/**\n * Register a callback to be called when API config is initialized.\n * If config is already initialized, the callback is called immediately.\n * This allows modules to register their setBaseUrl calls without\n * worrying about initialization order.\n */\nexport function onApiConfigReady(callback: ConfigSubscriber): void {\n if (apiConfig) {\n // Config already initialized, call immediately\n callback(apiConfig);\n } else {\n // Store for later when config is initialized\n subscribers.push(callback);\n }\n}\n\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n // Notify all subscribers\n subscribers.forEach(callback => {\n try {\n callback(apiConfig!);\n } catch (error) {\n console.error('Error in API config subscriber:', error);\n }\n });\n}\n\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Get API config if available, otherwise return null.\n * Use this for optional access where you want to gracefully handle\n * uninitialized state.\n */\nexport function getApiConfigSafe(): ApiConfig | null {\n return apiConfig;\n}\n\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":"AAAO,MAAM,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,8BAA8B;AAChC;
|
|
1
|
+
{"version":3,"file":"api-config-GOys-syK.esm.js","sources":["../../src/constants/auth.ts","../../src/utils/api-config.ts"],"sourcesContent":["export const auth = {\n storageTokenKeyName: \"_tid\",\n storageUserKeyName: \"_u_data\",\n storageRolePermissionKeyName: \"role-permission\"\n};\n","\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n appLogo: string;\n appFavicon: string;\n appEnv?: string;\n aiFeatureEnabled?: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\n\n// Subscriber pattern - callbacks to be notified when config is ready\ntype ConfigSubscriber = (config: ApiConfig) => void;\nconst subscribers: ConfigSubscriber[] = [];\n\n/**\n * Register a callback to be called when API config is initialized.\n * If config is already initialized, the callback is called immediately.\n * This allows modules to register their setBaseUrl calls without\n * worrying about initialization order.\n */\nexport function onApiConfigReady(callback: ConfigSubscriber): void {\n if (apiConfig) {\n // Config already initialized, call immediately\n callback(apiConfig);\n } else {\n // Store for later when config is initialized\n subscribers.push(callback);\n }\n}\n\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n // Notify all subscribers\n subscribers.forEach(callback => {\n try {\n callback(apiConfig!);\n } catch (error) {\n console.error('Error in API config subscriber:', error);\n }\n });\n}\n\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Get API config if available, otherwise return null.\n * Use this for optional access where you want to gracefully handle\n * uninitialized state.\n */\nexport function getApiConfigSafe(): ApiConfig | null {\n return apiConfig;\n}\n\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":"AAAO,MAAM,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,8BAA8B;AAChC;ACOA,IAAI,YAA8B;AAIlC,MAAM,cAAkC,CAAA;AAQjC,SAAS,iBAAiB,UAAkC;AAC/D,MAAI,WAAW;AAEX,aAAS,SAAS;AAAA,EACtB,OAAO;AAEH,gBAAY,KAAK,QAAQ;AAAA,EAC7B;AACJ;AAEO,SAAS,oBAAoB,QAAyB;AACzD,MAAI,WAAW;AACX,YAAQ,KAAK,wEAAwE;AAAA,EACzF;AAGA,MAAI,CAAC,OAAO,gBAAgB;AACxB,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACrE;AAEA,cAAY,EAAE,GAAG,OAAA;AAGjB,cAAY,QAAQ,CAAA,aAAY;AAC5B,QAAI;AACA,eAAS,SAAU;AAAA,IACvB,SAAS,OAAO;AACZ,cAAQ,MAAM,mCAAmC,KAAK;AAAA,IAC1D;AAAA,EACJ,CAAC;AACL;AAEO,SAAS,eAA0B;AACtC,MAAI,CAAC,WAAW;AACZ,UAAM,IAAI;AAAA,MACN;AAAA,IAAA;AAAA,EAGR;AAEA,SAAO;AACX;AAOO,SAAS,mBAAqC;AACjD,SAAO;AACX;AAEO,SAAS,yBAAkC;AAC9C,SAAO,cAAc;AACzB;AAGO,SAAS,iBAAuB;AACnC,cAAY;AAChB;"}
|
|
@@ -2,28 +2,28 @@ import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import React__default, { useState, useRef, useEffect, useCallback, memo, isValidElement, cloneElement, Children, useMemo } from "react";
|
|
4
4
|
import { marked } from "marked";
|
|
5
|
-
import { e as useForkRef, u as useAuth, r as requireCreateSvgIcon, T as Typography$1, f as useTimeout, j as useIsFocusVisible, k as useEventCallback, l as ownerDocument, o as ownerWindow, d as useEnhancedEffect, s as setRef, m as createChainedFunction, p as isMuiElement, h as debounce$1, i as default_1$6, g as generateRouteWithId } from "./useAuth-
|
|
5
|
+
import { e as useForkRef, u as useAuth, r as requireCreateSvgIcon, T as Typography$1, f as useTimeout, j as useIsFocusVisible, k as useEventCallback, l as ownerDocument, o as ownerWindow, d as useEnhancedEffect, s as setRef, m as createChainedFunction, p as isMuiElement, h as debounce$1, i as default_1$6, g as generateRouteWithId } from "./useAuth-Cc85zx55.esm.js";
|
|
6
|
+
import { b as getApiConfigSafe, g as getApiConfig } from "./api-config-GOys-syK.esm.js";
|
|
6
7
|
import { at as getToken, aK as removeSeriesFromTitle, aa as getErrorMessage, aX as formatText, q as convertToUnderscore } from "./common-KSaUU42L.esm.js";
|
|
7
8
|
import { bh as streamV1CopilotChat, bi as postV1AiFeatureSearchQuery, bj as getV1Notification, bk as getV1NotificationMarkAllAsRead, bl as patchV1NotificationMarkAsReadId } from "./api-CAAYzky9.esm.js";
|
|
8
9
|
import { Add, OpenInFullRounded, Close, ArrowUpwardRounded, Person, CheckCircle, Warning, Email, Assignment, HourglassEmpty, Cancel, AccountBalance } from "@mui/icons-material";
|
|
9
|
-
import { P as PropTypes, _ as _extends, e as _objectWithoutPropertiesLoose, x as styled, v as styleFunctionSx, T as THEME_ID, d as defaultTheme$1, k as interopRequireDefaultExports, g as generateUtilityClass, u as useDefaultProps, j as capitalize, f as alpha_1, C as ClassNameGenerator, a as createTheme } from "./identifier-
|
|
10
|
+
import { P as PropTypes, _ as _extends, e as _objectWithoutPropertiesLoose, x as styled, v as styleFunctionSx, T as THEME_ID, d as defaultTheme$1, k as interopRequireDefaultExports, g as generateUtilityClass, u as useDefaultProps, j as capitalize, f as alpha_1, C as ClassNameGenerator, a as createTheme } from "./identifier-0SZUhw_A.esm.js";
|
|
10
11
|
import { debounce } from "lodash";
|
|
11
12
|
import { CircularProgress, styled as styled$1, Button as Button$1, Dialog, TextField as TextField$1, InputAdornment, IconButton, Tooltip as Tooltip$1, DialogTitle, Box as Box$1, Divider as Divider$1, DialogContent, DialogActions, Snackbar, Alert, Avatar as Avatar$1, SvgIcon, Badge, Menu as Menu$1, Skeleton, MenuItem as MenuItem$1, ListItemAvatar, ListItemText as ListItemText$1 } from "@mui/material";
|
|
12
13
|
/* empty css */
|
|
13
|
-
import { b as SearchStatus, S as Search, T as Tick, E as Eye, a as EyeOff } from "./tick-
|
|
14
|
-
import { a as clsx, e as extendSxProp, g as generateUtilityClasses, b as composeClasses, s as styled$2, f as reactIsExports, r as rootShouldForwardProp, N as Notification } from "./notification-
|
|
14
|
+
import { b as SearchStatus, S as Search, T as Tick, E as Eye, a as EyeOff } from "./tick-wc8bi2Fu.esm.js";
|
|
15
|
+
import { a as clsx, e as extendSxProp, g as generateUtilityClasses, b as composeClasses, s as styled$2, f as reactIsExports, r as rootShouldForwardProp, N as Notification } from "./notification-_WEc_EZI.esm.js";
|
|
15
16
|
import { useNavigate, useLocation, matchRoutes, Link } from "react-router-dom";
|
|
16
17
|
import { useTranslation } from "react-i18next";
|
|
17
18
|
import { m as modules } from "./modules-DP_fWGjs.esm.js";
|
|
18
|
-
import { g as getApiConfig, b as getApiConfigSafe } from "./api-config-GOys-syK.esm.js";
|
|
19
19
|
import { i as images } from "./images-DvZ6-RV8.esm.js";
|
|
20
20
|
import { f as PathnameRental, A as gateEntriesCrudPaths, y as equipmentsCrudPaths, a1 as productionPlanPaths, G as jobCardsCrudPaths, l as buildOrderCrudPaths, h as billOfMaterialCrudPaths, aF as workOrderCrudPaths, c as PathnameInventory, e as PathnamePurchase, b as PathnameCrm, a as PathnameAccounting, P as Pathname, aH as PathnameGenerator, aJ as PathnameGenerator$1, aI as PathnameGenerator$2, aN as ROUTES, aK as PathnameGenerator$3, d as PathnameManufacturing, aL as PathnameGenerator$4, aM as PathnameGenerator$5 } from "./pathname.rental-VYOFVGX6.esm.js";
|
|
21
21
|
import { p as breadcrumbSegmentLabelMap } from "./route-page-map-v5YTqnK1.esm.js";
|
|
22
|
-
import { u as useTheme$1 } from "./CssBaseline-
|
|
22
|
+
import { u as useTheme$1 } from "./CssBaseline-DD305XvW.esm.js";
|
|
23
23
|
import * as ReactDOM from "react-dom";
|
|
24
24
|
import ReactDOM__default from "react-dom";
|
|
25
25
|
import { enqueueSnackbar } from "notistack";
|
|
26
|
-
import { u as useLanguage } from "./useLangauge-
|
|
26
|
+
import { u as useLanguage } from "./useLangauge-MakL7mDD.esm.js";
|
|
27
27
|
import { Controller, appendErrors, useForm } from "react-hook-form";
|
|
28
28
|
import { validateFieldsNatively, toNestErrors } from "@hookform/resolvers";
|
|
29
29
|
import * as Yup from "yup";
|
|
@@ -591,6 +591,9 @@ const ChatBotLauncher = ({ onOpen }) => /* @__PURE__ */ jsxRuntimeExports.jsxs("
|
|
|
591
591
|
] });
|
|
592
592
|
marked.use({ breaks: true, gfm: true });
|
|
593
593
|
const ChatBot = () => {
|
|
594
|
+
var _a;
|
|
595
|
+
const isAiEnabled = ((_a = getApiConfigSafe()) == null ? void 0 : _a.aiFeatureEnabled) === "true";
|
|
596
|
+
if (!isAiEnabled) return null;
|
|
594
597
|
const { user } = useAuth();
|
|
595
598
|
const [isOpen, setIsOpen] = useState(false);
|
|
596
599
|
const [messages, setMessages] = useState([]);
|
|
@@ -609,8 +612,8 @@ const ChatBot = () => {
|
|
|
609
612
|
);
|
|
610
613
|
useEffect(() => {
|
|
611
614
|
if (isOpen) setTimeout(() => {
|
|
612
|
-
var
|
|
613
|
-
return (
|
|
615
|
+
var _a2;
|
|
616
|
+
return (_a2 = textareaRef.current) == null ? void 0 : _a2.focus();
|
|
614
617
|
}, 100);
|
|
615
618
|
}, [isOpen]);
|
|
616
619
|
useEffect(() => {
|
|
@@ -634,8 +637,8 @@ const ChatBot = () => {
|
|
|
634
637
|
setShowSlashMenu(false);
|
|
635
638
|
setSlashIndex(0);
|
|
636
639
|
setTimeout(() => {
|
|
637
|
-
var
|
|
638
|
-
return (
|
|
640
|
+
var _a2;
|
|
641
|
+
return (_a2 = textareaRef.current) == null ? void 0 : _a2.focus();
|
|
639
642
|
}, 0);
|
|
640
643
|
};
|
|
641
644
|
const handleInputChange = (e) => {
|
|
@@ -651,8 +654,8 @@ const ChatBot = () => {
|
|
|
651
654
|
const handleSuggestion = (prompt) => {
|
|
652
655
|
setInputValue(prompt);
|
|
653
656
|
setTimeout(() => {
|
|
654
|
-
var
|
|
655
|
-
return (
|
|
657
|
+
var _a2;
|
|
658
|
+
return (_a2 = textareaRef.current) == null ? void 0 : _a2.focus();
|
|
656
659
|
}, 0);
|
|
657
660
|
};
|
|
658
661
|
const sendMessage = useCallback(
|
|
@@ -7828,6 +7831,9 @@ function Breadcrumb({ selectedModule, segments }) {
|
|
|
7828
7831
|
] });
|
|
7829
7832
|
}
|
|
7830
7833
|
function GlobalSearch() {
|
|
7834
|
+
var _a;
|
|
7835
|
+
const isAiEnabled = ((_a = getApiConfigSafe()) == null ? void 0 : _a.aiFeatureEnabled) === "true";
|
|
7836
|
+
if (!isAiEnabled) return null;
|
|
7831
7837
|
const navigate = useNavigate();
|
|
7832
7838
|
const [gsOpen, setGsOpen] = useState(false);
|
|
7833
7839
|
const [gsQuery, setGsQuery] = useState("");
|
|
@@ -7863,8 +7869,8 @@ function GlobalSearch() {
|
|
|
7863
7869
|
};
|
|
7864
7870
|
}, [gsQuery]);
|
|
7865
7871
|
const gsGrouped = useMemo(() => {
|
|
7866
|
-
var
|
|
7867
|
-
const results = ((
|
|
7872
|
+
var _a2;
|
|
7873
|
+
const results = ((_a2 = gsApiResults == null ? void 0 : gsApiResults.data) == null ? void 0 : _a2.results) ?? [];
|
|
7868
7874
|
const map = /* @__PURE__ */ new Map();
|
|
7869
7875
|
for (const r of results) {
|
|
7870
7876
|
if (!map.has(r.doc_type)) map.set(r.doc_type, []);
|
|
@@ -7921,12 +7927,12 @@ function GlobalSearch() {
|
|
|
7921
7927
|
] })
|
|
7922
7928
|
] }),
|
|
7923
7929
|
items.map((item) => {
|
|
7924
|
-
var
|
|
7925
|
-
const highlightTitle = (_b = (
|
|
7930
|
+
var _a2, _b;
|
|
7931
|
+
const highlightTitle = (_b = (_a2 = item.highlight) == null ? void 0 : _a2.title) == null ? void 0 : _b[0];
|
|
7926
7932
|
const displayTitle = removeSeriesFromTitle(highlightTitle ?? item.title);
|
|
7927
7933
|
const initials = item.title.split(" ").slice(0, 2).map((w) => {
|
|
7928
|
-
var
|
|
7929
|
-
return ((
|
|
7934
|
+
var _a3;
|
|
7935
|
+
return ((_a3 = w[0]) == null ? void 0 : _a3.toUpperCase()) ?? "";
|
|
7930
7936
|
}).join("");
|
|
7931
7937
|
const bgColor = MODULE_THUMB_COLOR[item.module] ?? "linear-gradient(135deg,#6B7280,#4B5563)";
|
|
7932
7938
|
const meta = [item.reference, item.date, item.amount != null ? Number(item.amount).toLocaleString(void 0, { maximumFractionDigits: 2 }) : null].filter(Boolean).join(" · ");
|
|
@@ -8937,4 +8943,4 @@ export {
|
|
|
8937
8943
|
default_1$5 as y,
|
|
8938
8944
|
List as z
|
|
8939
8945
|
};
|
|
8940
|
-
//# sourceMappingURL=appbar-
|
|
8946
|
+
//# sourceMappingURL=appbar-B_raEww7.esm.js.map
|