@erpsquad/common 1.8.99 → 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 (84) hide show
  1. package/dist/_virtual/index/index.esm10.js +3 -3
  2. package/dist/_virtual/index/index.esm2.js +3 -3
  3. package/dist/_virtual/index/index.esm3.js +3 -3
  4. package/dist/_virtual/index/index.esm4.js +3 -3
  5. package/dist/_virtual/index/index.esm5.js +3 -3
  6. package/dist/_virtual/index/index.esm6.js +3 -3
  7. package/dist/_virtual/index/index.esm7.js +3 -3
  8. package/dist/_virtual/index/index.esm8.js +3 -3
  9. package/dist/_virtual/index/index.esm9.js +3 -3
  10. package/dist/_virtual/index/index10.js +1 -1
  11. package/dist/_virtual/index/index2.js +1 -1
  12. package/dist/_virtual/index/index3.js +1 -1
  13. package/dist/_virtual/index/index4.js +1 -1
  14. package/dist/_virtual/index/index5.js +1 -1
  15. package/dist/_virtual/index/index6.js +1 -1
  16. package/dist/_virtual/index/index7.js +1 -1
  17. package/dist/_virtual/index/index8.js +1 -1
  18. package/dist/_virtual/index/index9.js +1 -1
  19. package/dist/components/action-bar/action-bar/index.esm.js +9 -12
  20. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  21. package/dist/components/action-bar/action-bar/index.js +24 -24
  22. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  23. package/dist/components/filter/filter/index.esm.js +7 -10
  24. package/dist/components/filter/filter/index.esm.js.map +1 -1
  25. package/dist/components/filter/filter/index.js +21 -21
  26. package/dist/components/filter/filter/index.js.map +1 -1
  27. package/dist/components/header/redux/actionCreator/index.esm.js +0 -3
  28. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  29. package/dist/components/header/redux/actionCreator/index.js +1 -1
  30. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  31. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -3
  32. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  33. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  34. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  35. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -3
  36. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  37. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  38. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  39. package/dist/components/share-modal/redux/actionCreator/index.esm.js +0 -3
  40. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  41. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  42. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  43. package/dist/contexts/languageContext/index.esm.js +4 -2
  44. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  45. package/dist/contexts/languageContext/index.js +2 -2
  46. package/dist/contexts/languageContext/index.js.map +1 -1
  47. package/dist/index.esm.js +3 -1
  48. package/dist/index.js +1 -1
  49. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  50. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  51. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  52. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  53. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  54. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  55. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  56. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  57. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  58. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  59. package/dist/src/utils/api-config.d.ts +15 -0
  60. package/dist/style.css +75 -75
  61. package/dist/utils/api/index.esm.js +16 -5
  62. package/dist/utils/api/index.esm.js.map +1 -1
  63. package/dist/utils/api/index.js +1 -1
  64. package/dist/utils/api/index.js.map +1 -1
  65. package/dist/utils/api-config/index.esm.js +20 -0
  66. package/dist/utils/api-config/index.esm.js.map +1 -1
  67. package/dist/utils/api-config/index.js +1 -1
  68. package/dist/utils/api-config/index.js.map +1 -1
  69. package/dist/utils/api-config.d.ts +15 -0
  70. package/dist/utils/index.esm.js +3 -1
  71. package/dist/utils/index.js +1 -1
  72. package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -3
  73. package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
  74. package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
  75. package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
  76. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -2
  77. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  78. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  79. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  80. package/dist/views/template-editor/templates/index.esm.js +0 -3
  81. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  82. package/dist/views/template-editor/templates/index.js +5 -5
  83. package/dist/views/template-editor/templates/index.js.map +1 -1
  84. package/package.json +1 -1
@@ -1,4 +1,12 @@
1
1
  let apiConfig = null;
2
+ const subscribers = [];
3
+ function onApiConfigReady(callback) {
4
+ if (apiConfig) {
5
+ callback(apiConfig);
6
+ } else {
7
+ subscribers.push(callback);
8
+ }
9
+ }
2
10
  function initializeApiConfig(config) {
3
11
  if (apiConfig) {
4
12
  console.warn("API configuration is already initialized. Overwriting with new values.");
@@ -12,6 +20,13 @@ function initializeApiConfig(config) {
12
20
  s3BucketUrl: apiConfig.s3BucketUrl,
13
21
  socketBaseUrl: apiConfig.socketBaseUrl
14
22
  });
23
+ subscribers.forEach((callback) => {
24
+ try {
25
+ callback(apiConfig);
26
+ } catch (error) {
27
+ console.error("Error in API config subscriber:", error);
28
+ }
29
+ });
15
30
  }
16
31
  function getApiConfig() {
17
32
  if (!apiConfig) {
@@ -21,6 +36,9 @@ function getApiConfig() {
21
36
  }
22
37
  return apiConfig;
23
38
  }
39
+ function getApiConfigSafe() {
40
+ return apiConfig;
41
+ }
24
42
  function isApiConfigInitialized() {
25
43
  return apiConfig !== null;
26
44
  }
@@ -29,8 +47,10 @@ function resetApiConfig() {
29
47
  }
30
48
  export {
31
49
  getApiConfig,
50
+ getApiConfigSafe,
32
51
  initializeApiConfig,
33
52
  isApiConfigInitialized,
53
+ onApiConfigReady,
34
54
  resetApiConfig
35
55
  };
36
56
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\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 console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\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\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":"AAOA,IAAI,YAA8B;AAE3B,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;AAEjB,UAAQ,IAAI,kCAAkC;AAAA,IAC1C,gBAAgB,UAAU;AAAA,IAC1B,aAAa,UAAU;AAAA,IACvB,eAAe,UAAU;AAAA,EAAA,CAC5B;AACL;AAEO,SAAS,eAA0B;AACtC,MAAI,CAAC,WAAW;AACZ,UAAM,IAAI;AAAA,MACN;AAAA,IAAA;AAAA,EAGR;AAEA,SAAO;AACX;AAGO,SAAS,yBAAkC;AAC9C,SAAO,cAAc;AACzB;AAGO,SAAS,iBAAuB;AACnC,cAAY;AAChB;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: 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 console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\n });\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":"AAOA,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;AAEjB,UAAQ,IAAI,kCAAkC;AAAA,IAC1C,gBAAgB,UAAU;AAAA,IAC1B,aAAa,UAAU;AAAA,IACvB,eAAe,UAAU;AAAA,EAAA,CAC5B;AAGD,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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});let i=null;exports.getApiConfig=function(){if(!i)throw new Error("API configuration not initialized. Please call initializeApiConfig() before using API features. See documentation: https://github.com/erpforce/common#api-configuration");return i},exports.initializeApiConfig=function(e){if(!e.backendBaseUrl)throw new Error("backendBaseUrl is required in API configuration");i={...e}},exports.isApiConfigInitialized=function(){return null!==i},exports.resetApiConfig=function(){i=null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});let i=null;const e=[];exports.getApiConfig=function(){if(!i)throw new Error("API configuration not initialized. Please call initializeApiConfig() before using API features. See documentation: https://github.com/erpforce/common#api-configuration");return i},exports.getApiConfigSafe=function(){return i},exports.initializeApiConfig=function(n){if(!n.backendBaseUrl)throw new Error("backendBaseUrl is required in API configuration");i={...n},e.forEach(e=>{try{e(i)}catch(n){}})},exports.isApiConfigInitialized=function(){return null!==i},exports.onApiConfigReady=function(n){i?n(i):e.push(n)},exports.resetApiConfig=function(){i=null};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n}\n\nlet apiConfig: ApiConfig | null = null;\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 console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\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\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":["apiConfig","Error","config","backendBaseUrl"],"mappings":"oEAOA,IAAIA,EAA8B,0BAqB3B,WACH,IAAKA,EACD,MAAM,IAAIC,MACN,2KAKR,OAAOD,CACX,8BA5BO,SAA6BE,GAMhC,IAAKA,EAAOC,eACR,MAAM,IAAIF,MAAM,mDAGpBD,EAAY,IAAKE,EAOrB,iCAcO,WACH,OAAqB,OAAdF,CACX,yBAGO,WACHA,EAAY,IAChB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: 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 console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\n });\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":["apiConfig","subscribers","Error","config","backendBaseUrl","forEach","callback","error","push"],"mappings":"oEAOA,IAAIA,EAA8B,KAIlC,MAAMC,EAAkC,wBA8CjC,WACH,IAAKD,EACD,MAAM,IAAIE,MACN,2KAKR,OAAOF,CACX,2BAOO,WACH,OAAOA,CACX,8BA9CO,SAA6BG,GAMhC,IAAKA,EAAOC,eACR,MAAM,IAAIF,MAAM,mDAGpBF,EAAY,IAAKG,GASjBF,EAAYI,QAAQC,IAChB,IACIA,EAASN,EACb,OAASO,GAET,GAER,iCAsBO,WACH,OAAqB,OAAdP,CACX,2BA5DO,SAA0BM,GACzBN,EAEAM,EAASN,GAGTC,EAAYO,KAAKF,EAEzB,yBAuDO,WACHN,EAAY,IAChB"}
@@ -3,7 +3,22 @@ export interface ApiConfig {
3
3
  s3BucketUrl: string;
4
4
  socketBaseUrl: string;
5
5
  }
6
+ type ConfigSubscriber = (config: ApiConfig) => void;
7
+ /**
8
+ * Register a callback to be called when API config is initialized.
9
+ * If config is already initialized, the callback is called immediately.
10
+ * This allows modules to register their setBaseUrl calls without
11
+ * worrying about initialization order.
12
+ */
13
+ export declare function onApiConfigReady(callback: ConfigSubscriber): void;
6
14
  export declare function initializeApiConfig(config: ApiConfig): void;
7
15
  export declare function getApiConfig(): ApiConfig;
16
+ /**
17
+ * Get API config if available, otherwise return null.
18
+ * Use this for optional access where you want to gracefully handle
19
+ * uninitialized state.
20
+ */
21
+ export declare function getApiConfigSafe(): ApiConfig | null;
8
22
  export declare function isApiConfigInitialized(): boolean;
9
23
  export declare function resetApiConfig(): void;
24
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { apiConfigurations, fetchApi, getCurrency, getItems, getOptions, initializeApiBaseUrls } from "./api/index.esm.js";
2
- import { getApiConfig, initializeApiConfig, isApiConfigInitialized, resetApiConfig } from "./api-config/index.esm.js";
2
+ import { getApiConfig, getApiConfigSafe, initializeApiConfig, isApiConfigInitialized, onApiConfigReady, resetApiConfig } from "./api-config/index.esm.js";
3
3
  import { calculateEntries } from "./calculation/index.esm.js";
4
4
  import { blue, error, green, lightGreen, magenta, neutral, olive, primaryGreen, red } from "./color/index.esm.js";
5
5
  import { getFileNamesFromUrls, getFileNamesFromUrlsAsLink, renderEmptyRowsFallback, renderValueField, transformTableColumns } from "./common-utility/index.esm.js";
@@ -116,6 +116,7 @@ export {
116
116
  generateRouteWithId,
117
117
  getAccessibleModules,
118
118
  getApiConfig,
119
+ getApiConfigSafe,
119
120
  getCountry,
120
121
  getCountryIdByName,
121
122
  getCurrency,
@@ -169,6 +170,7 @@ export {
169
170
  neutral,
170
171
  olive,
171
172
  omitDataKeys,
173
+ onApiConfigReady,
172
174
  partyDuplicateCheck,
173
175
  partyEmailIds,
174
176
  pastDateValidation,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./api/index.js"),t=require("./api-config/index.js"),r=require("./calculation/index.js"),a=require("./color/index.js"),o=require("./common-utility/index.js"),s=require("./common/index.js"),i=require("./constant/index.js"),n=require("./country/index.js"),p=require("./date-range/index.js"),l=require("./dateFormat/index.js"),d=require("./dateValidation/index.js"),x=require("./deformat-text/index.js"),m=require("./export-filters/index.js"),u=require("./fileSize/index.js"),c=require("./form-builder-conversion/index.js"),g=require("./form-builder-deconversion/index.js"),D=require("./format-text/index.js");require("./i18n/index.js");var T=require("./language/index.js"),I=require("./menu-filter/index.js"),f=require("./metaComponent/index.js"),y=require("./migration-utils/index.js"),A=require("./navigation-utils/index.js"),F=require("./route-utils/index.js"),E=require("./translations/index.js"),S=require("i18next"),C=require("../api-client/api.rbac/api/index.js"),h=require("../api-client/api.drive/api/index.js"),N=require("../api-client/api.system-feature/api/index.js");function R(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=/* @__PURE__ */R(S);exports.apiConfigurations=e.apiConfigurations,exports.fetchApi=e.fetchApi,exports.getCurrency=e.getCurrency,exports.getItems=e.getItems,exports.getOptions=e.getOptions,exports.initializeApiBaseUrls=e.initializeApiBaseUrls,exports.getApiConfig=t.getApiConfig,exports.initializeApiConfig=t.initializeApiConfig,exports.isApiConfigInitialized=t.isApiConfigInitialized,exports.resetApiConfig=t.resetApiConfig,exports.calculateEntries=r.calculateEntries,exports.blue=a.blue,exports.error=a.error,exports.green=a.green,exports.lightGreen=a.lightGreen,exports.magenta=a.magenta,exports.neutral=a.neutral,exports.olive=a.olive,exports.primaryGreen=a.primaryGreen,exports.red=a.red,exports.getFileNamesFromUrls=o.getFileNamesFromUrls,exports.getFileNamesFromUrlsAsLink=o.getFileNamesFromUrlsAsLink,exports.renderEmptyRowsFallback=o.renderEmptyRowsFallback,exports.renderValueField=o.renderValueField,exports.transformTableColumns=o.transformTableColumns,exports.InvoiceStatus=s.InvoiceStatus,exports.addOrEditArray=s.addOrEditArray,exports.appendConditionSafely=s.appendConditionSafely,exports.calculateAmountData=s.calculateAmountData,exports.calculatePeriods=s.calculatePeriods,exports.checkDuplicateTracking=s.checkDuplicateTracking,exports.checkForDuplicate=s.checkForDuplicate,exports.checkSkuAndItemName=s.checkSkuAndItemName,exports.createdOnAndBy=s.createdOnAndBy,exports.defaultCompany=s.defaultCompany,exports.defaultCurrencyFormat=s.defaultCurrencyFormat,exports.defaultCurrencySymbol=s.defaultCurrencySymbol,exports.displayPhone=s.displayPhone,exports.downloadDoc=s.downloadDoc,exports.downloadFile=s.downloadFile,exports.fetchAssemblyItemData=s.fetchAssemblyItemData,exports.fetchCompanyLocations=s.fetchCompanyLocations,exports.fetchDataLocally=s.fetchDataLocally,exports.fetchExchageRate=s.fetchExchageRate,exports.fetchItems=s.fetchItems,exports.fetchOptions=s.fetchOptions,exports.fetchRentalResponseItems=s.fetchRentalResponseItems,exports.fetchRfqItemsByIdForResponse=s.fetchRfqItemsByIdForResponse,exports.filterAccessibleModules=s.filterAccessibleModules,exports.filterCoaByCompanyIdOrNull=s.filterCoaByCompanyIdOrNull,exports.findById=s.findById,exports.formatAmount=s.formatAmount,exports.formatAmountWithCurrency=s.formatAmountWithCurrency,exports.formatAmountWithCurrencyData=s.formatAmountWithCurrencyData,exports.formatDateForPayload=s.formatDateForPayload,exports.formatDateTimeForPayload=s.formatDateTimeForPayload,exports.formatEmptyDataToNull=s.formatEmptyDataToNull,exports.formatResponseDatesToDayJS=s.formatResponseDatesToDayJS,exports.formatResponseOnlyDatesToDayJS=s.formatResponseOnlyDatesToDayJS,exports.formatTimeForPayload=s.formatTimeForPayload,exports.generateAndFormatStringFromObj=s.generateAndFormatStringFromObj,exports.generateFields=s.generateFields,exports.generateQueryString=s.generateQueryString,exports.generateRandomId=s.generateRandomId,exports.getAccessibleModules=s.getAccessibleModules,exports.getCountryIdByName=s.getCountryIdByName,exports.getErrorMessage=s.getErrorMessage,exports.getExcelExportTemplate=s.getExcelExportTemplate,exports.getExcelTemplateGenerateTemplate=s.getExcelTemplateGenerateTemplate,exports.getFieldFilters=s.getFieldFilters,exports.getFileName=s.getFileName,exports.getLabelValuePairs=s.getLabelValuePairs,exports.getName=s.getName,exports.getNestedValue=s.getNestedValue,exports.getNextScheduleDate=s.getNextScheduleDate,exports.getOperatorLabel=s.getOperatorLabel,exports.getOptionsData=s.getOptionsData,exports.getPartyDependentData=s.getPartyDependentData,exports.getPartyName=s.getPartyName,exports.getSlicedValue=s.getSlicedValue,exports.getTaxAmountDataFromMultipleTaxCodes=s.getTaxAmountDataFromMultipleTaxCodes,exports.getTaxAmountFromMultipleTaxCodes=s.getTaxAmountFromMultipleTaxCodes,exports.getToken=s.getToken,exports.handleRegularUpload=s.handleRegularUpload,exports.hasValue=s.hasValue,exports.isBetweenTheDates=s.isBetweenTheDates,exports.isJSONString=s.isJSONString,exports.isJsonParse=s.isJsonParse,exports.manageItems=s.manageItems,exports.mapApiPayload=s.mapApiPayload,exports.mapAsyncApiPayload=s.mapAsyncApiPayload,exports.matchedMaterialCostingTypeLabel=s.matchedMaterialCostingTypeLabel,exports.omitDataKeys=s.omitDataKeys,exports.partyDuplicateCheck=s.partyDuplicateCheck,exports.partyEmailIds=s.partyEmailIds,exports.postImportSheet=s.postImportSheet,exports.remainingMaterialCostingTypes=s.remainingMaterialCostingTypes,exports.removeIdFromObject=s.removeIdFromObject,exports.removeIdStaticIdsFromMongoObject=s.removeIdStaticIdsFromMongoObject,exports.setRateBasedOnPriceRules=s.setRateBasedOnPriceRules,exports.showSnackBar=s.showSnackBar,exports.skuGenerator=s.skuGenerator,exports.toFixedWithNumbers=s.toFixedWithNumbers,exports.updateFieldsDisabledState=s.updateFieldsDisabledState,exports.uploadAttachments=s.uploadAttachments,exports.uploadFiles=s.uploadFiles,exports.validateDiscountValidity=s.validateDiscountValidity,exports.INVENTORY_ADD_MODE_DISABLED_FIELDS=i.INVENTORY_ADD_MODE_DISABLED_FIELDS,exports.INVENTORY_ALWAYS_DISABLED_FIELDS=i.INVENTORY_ALWAYS_DISABLED_FIELDS,exports.INVENTORY_EDIT_MODE_DISABLED_FIELDS=i.INVENTORY_EDIT_MODE_DISABLED_FIELDS,exports.INVENTORY_FIELDS_TO_BE_DISABLED=i.INVENTORY_FIELDS_TO_BE_DISABLED,exports.INVENTORY_MATERIAL_COSTING_TYPE_ARR=i.INVENTORY_MATERIAL_COSTING_TYPE_ARR,exports.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS=i.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS,exports.INVENTORY_VARIANT_DISABLED_FIELDS=i.INVENTORY_VARIANT_DISABLED_FIELDS,exports.SECTION_TYPES=i.SECTION_TYPES,exports.responseItemDetailsColumns=i.responseItemDetailsColumns,exports.getCountry=n.getCountry,exports.RANGE=p.RANGE,exports.handleCompareDateRange=p.handleCompareDateRange,exports.handleCompareDateRangeSync=p.handleCompareDateRangeSync,exports.UTCDateFormat=l.UTCDateFormat,exports.dateFormat=l.dateFormat,exports.formatDataTime=l.formatDataTime,exports.formatDate=l.formatDate,exports.formatOnlyTime=l.formatOnlyTime,exports.formatUtcDate=l.formatUtcDate,exports.getMinutesFromTime=l.getMinutesFromTime,exports.getTimeFromMinutes=l.getTimeFromMinutes,exports.COMMON_DATE_VALIDATIONS=d.COMMON_DATE_VALIDATIONS,exports.anyDateValidation=d.anyDateValidation,exports.businessDateValidation=d.businessDateValidation,exports.conditionalDateValidation=d.conditionalDateValidation,exports.createCustomMessages=d.createCustomMessages,exports.createDateValidation=d.createDateValidation,exports.dateRangeValidation=d.dateRangeValidation,exports.dateTimeValidation=d.dateTimeValidation,exports.dateValidation=d.dateValidation,exports.futureDateValidation=d.futureDateValidation,exports.pastDateValidation=d.pastDateValidation,exports.deFormatText=x.deFormatText,exports.specificFilters=m.specificFilters,exports.subModuleMappings=m.subModuleMappings,exports.fileSize=u.fileSize,exports.formBuilderConversion=c.formBuilderConversion,exports.convertTableColumns=g.convertTableColumns,exports.formBuilderDeConversion=g.formBuilderDeConversion,exports.convertToUnderscore=D.convertToUnderscore,exports.formatLabel=D.formatLabel,exports.formatText=D.formatText,exports.fetchLanguages=T.fetchLanguages,exports.MenuFilter=I.MenuFilter,exports.MenuFilterService=I.MenuFilterService,exports.ModuleAccessService=I.ModuleAccessService,exports.StorageUtils=I.StorageUtils,exports.MetaComponent=f.MetaComponent,exports.createParameterizedNavigationHandler=y.createParameterizedNavigationHandler,exports.migrateRoutesToUseParams=y.migrateRoutesToUseParams,exports.migrateToPathWithId=y.migrateToPathWithId,exports.updateTableConfigForParameterizedNavigation=y.updateTableConfigForParameterizedNavigation,exports.getEntityId=A.getEntityId,exports.navigateWithId=A.navigateWithId,exports.convertRoutesToUseIdParams=F.convertRoutesToUseIdParams,exports.generateRouteWithId=F.generateRouteWithId,exports.navigateToRouteWithId=F.navigateToRouteWithId,exports.updatePathnameWithIdParams=F.updatePathnameWithIdParams,exports.loadModuleTranslations=E.loadModuleTranslations,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return O.default}}),exports.setRoleURL=C.setBaseUrl,exports.setDriveURL=h.setBaseUrl,exports.setSystemFeatureURL=N.setBaseUrl;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./api/index.js"),t=require("./api-config/index.js"),r=require("./calculation/index.js"),a=require("./color/index.js"),o=require("./common-utility/index.js"),s=require("./common/index.js"),i=require("./constant/index.js"),n=require("./country/index.js"),p=require("./date-range/index.js"),l=require("./dateFormat/index.js"),d=require("./dateValidation/index.js"),x=require("./deformat-text/index.js"),m=require("./export-filters/index.js"),u=require("./fileSize/index.js"),c=require("./form-builder-conversion/index.js"),g=require("./form-builder-deconversion/index.js"),D=require("./format-text/index.js");require("./i18n/index.js");var f=require("./language/index.js"),T=require("./menu-filter/index.js"),I=require("./metaComponent/index.js"),y=require("./migration-utils/index.js"),A=require("./navigation-utils/index.js"),F=require("./route-utils/index.js"),E=require("./translations/index.js"),S=require("i18next"),C=require("../api-client/api.rbac/api/index.js"),h=require("../api-client/api.drive/api/index.js"),N=require("../api-client/api.system-feature/api/index.js");function R(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=/* @__PURE__ */R(S);exports.apiConfigurations=e.apiConfigurations,exports.fetchApi=e.fetchApi,exports.getCurrency=e.getCurrency,exports.getItems=e.getItems,exports.getOptions=e.getOptions,exports.initializeApiBaseUrls=e.initializeApiBaseUrls,exports.getApiConfig=t.getApiConfig,exports.getApiConfigSafe=t.getApiConfigSafe,exports.initializeApiConfig=t.initializeApiConfig,exports.isApiConfigInitialized=t.isApiConfigInitialized,exports.onApiConfigReady=t.onApiConfigReady,exports.resetApiConfig=t.resetApiConfig,exports.calculateEntries=r.calculateEntries,exports.blue=a.blue,exports.error=a.error,exports.green=a.green,exports.lightGreen=a.lightGreen,exports.magenta=a.magenta,exports.neutral=a.neutral,exports.olive=a.olive,exports.primaryGreen=a.primaryGreen,exports.red=a.red,exports.getFileNamesFromUrls=o.getFileNamesFromUrls,exports.getFileNamesFromUrlsAsLink=o.getFileNamesFromUrlsAsLink,exports.renderEmptyRowsFallback=o.renderEmptyRowsFallback,exports.renderValueField=o.renderValueField,exports.transformTableColumns=o.transformTableColumns,exports.InvoiceStatus=s.InvoiceStatus,exports.addOrEditArray=s.addOrEditArray,exports.appendConditionSafely=s.appendConditionSafely,exports.calculateAmountData=s.calculateAmountData,exports.calculatePeriods=s.calculatePeriods,exports.checkDuplicateTracking=s.checkDuplicateTracking,exports.checkForDuplicate=s.checkForDuplicate,exports.checkSkuAndItemName=s.checkSkuAndItemName,exports.createdOnAndBy=s.createdOnAndBy,exports.defaultCompany=s.defaultCompany,exports.defaultCurrencyFormat=s.defaultCurrencyFormat,exports.defaultCurrencySymbol=s.defaultCurrencySymbol,exports.displayPhone=s.displayPhone,exports.downloadDoc=s.downloadDoc,exports.downloadFile=s.downloadFile,exports.fetchAssemblyItemData=s.fetchAssemblyItemData,exports.fetchCompanyLocations=s.fetchCompanyLocations,exports.fetchDataLocally=s.fetchDataLocally,exports.fetchExchageRate=s.fetchExchageRate,exports.fetchItems=s.fetchItems,exports.fetchOptions=s.fetchOptions,exports.fetchRentalResponseItems=s.fetchRentalResponseItems,exports.fetchRfqItemsByIdForResponse=s.fetchRfqItemsByIdForResponse,exports.filterAccessibleModules=s.filterAccessibleModules,exports.filterCoaByCompanyIdOrNull=s.filterCoaByCompanyIdOrNull,exports.findById=s.findById,exports.formatAmount=s.formatAmount,exports.formatAmountWithCurrency=s.formatAmountWithCurrency,exports.formatAmountWithCurrencyData=s.formatAmountWithCurrencyData,exports.formatDateForPayload=s.formatDateForPayload,exports.formatDateTimeForPayload=s.formatDateTimeForPayload,exports.formatEmptyDataToNull=s.formatEmptyDataToNull,exports.formatResponseDatesToDayJS=s.formatResponseDatesToDayJS,exports.formatResponseOnlyDatesToDayJS=s.formatResponseOnlyDatesToDayJS,exports.formatTimeForPayload=s.formatTimeForPayload,exports.generateAndFormatStringFromObj=s.generateAndFormatStringFromObj,exports.generateFields=s.generateFields,exports.generateQueryString=s.generateQueryString,exports.generateRandomId=s.generateRandomId,exports.getAccessibleModules=s.getAccessibleModules,exports.getCountryIdByName=s.getCountryIdByName,exports.getErrorMessage=s.getErrorMessage,exports.getExcelExportTemplate=s.getExcelExportTemplate,exports.getExcelTemplateGenerateTemplate=s.getExcelTemplateGenerateTemplate,exports.getFieldFilters=s.getFieldFilters,exports.getFileName=s.getFileName,exports.getLabelValuePairs=s.getLabelValuePairs,exports.getName=s.getName,exports.getNestedValue=s.getNestedValue,exports.getNextScheduleDate=s.getNextScheduleDate,exports.getOperatorLabel=s.getOperatorLabel,exports.getOptionsData=s.getOptionsData,exports.getPartyDependentData=s.getPartyDependentData,exports.getPartyName=s.getPartyName,exports.getSlicedValue=s.getSlicedValue,exports.getTaxAmountDataFromMultipleTaxCodes=s.getTaxAmountDataFromMultipleTaxCodes,exports.getTaxAmountFromMultipleTaxCodes=s.getTaxAmountFromMultipleTaxCodes,exports.getToken=s.getToken,exports.handleRegularUpload=s.handleRegularUpload,exports.hasValue=s.hasValue,exports.isBetweenTheDates=s.isBetweenTheDates,exports.isJSONString=s.isJSONString,exports.isJsonParse=s.isJsonParse,exports.manageItems=s.manageItems,exports.mapApiPayload=s.mapApiPayload,exports.mapAsyncApiPayload=s.mapAsyncApiPayload,exports.matchedMaterialCostingTypeLabel=s.matchedMaterialCostingTypeLabel,exports.omitDataKeys=s.omitDataKeys,exports.partyDuplicateCheck=s.partyDuplicateCheck,exports.partyEmailIds=s.partyEmailIds,exports.postImportSheet=s.postImportSheet,exports.remainingMaterialCostingTypes=s.remainingMaterialCostingTypes,exports.removeIdFromObject=s.removeIdFromObject,exports.removeIdStaticIdsFromMongoObject=s.removeIdStaticIdsFromMongoObject,exports.setRateBasedOnPriceRules=s.setRateBasedOnPriceRules,exports.showSnackBar=s.showSnackBar,exports.skuGenerator=s.skuGenerator,exports.toFixedWithNumbers=s.toFixedWithNumbers,exports.updateFieldsDisabledState=s.updateFieldsDisabledState,exports.uploadAttachments=s.uploadAttachments,exports.uploadFiles=s.uploadFiles,exports.validateDiscountValidity=s.validateDiscountValidity,exports.INVENTORY_ADD_MODE_DISABLED_FIELDS=i.INVENTORY_ADD_MODE_DISABLED_FIELDS,exports.INVENTORY_ALWAYS_DISABLED_FIELDS=i.INVENTORY_ALWAYS_DISABLED_FIELDS,exports.INVENTORY_EDIT_MODE_DISABLED_FIELDS=i.INVENTORY_EDIT_MODE_DISABLED_FIELDS,exports.INVENTORY_FIELDS_TO_BE_DISABLED=i.INVENTORY_FIELDS_TO_BE_DISABLED,exports.INVENTORY_MATERIAL_COSTING_TYPE_ARR=i.INVENTORY_MATERIAL_COSTING_TYPE_ARR,exports.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS=i.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS,exports.INVENTORY_VARIANT_DISABLED_FIELDS=i.INVENTORY_VARIANT_DISABLED_FIELDS,exports.SECTION_TYPES=i.SECTION_TYPES,exports.responseItemDetailsColumns=i.responseItemDetailsColumns,exports.getCountry=n.getCountry,exports.RANGE=p.RANGE,exports.handleCompareDateRange=p.handleCompareDateRange,exports.handleCompareDateRangeSync=p.handleCompareDateRangeSync,exports.UTCDateFormat=l.UTCDateFormat,exports.dateFormat=l.dateFormat,exports.formatDataTime=l.formatDataTime,exports.formatDate=l.formatDate,exports.formatOnlyTime=l.formatOnlyTime,exports.formatUtcDate=l.formatUtcDate,exports.getMinutesFromTime=l.getMinutesFromTime,exports.getTimeFromMinutes=l.getTimeFromMinutes,exports.COMMON_DATE_VALIDATIONS=d.COMMON_DATE_VALIDATIONS,exports.anyDateValidation=d.anyDateValidation,exports.businessDateValidation=d.businessDateValidation,exports.conditionalDateValidation=d.conditionalDateValidation,exports.createCustomMessages=d.createCustomMessages,exports.createDateValidation=d.createDateValidation,exports.dateRangeValidation=d.dateRangeValidation,exports.dateTimeValidation=d.dateTimeValidation,exports.dateValidation=d.dateValidation,exports.futureDateValidation=d.futureDateValidation,exports.pastDateValidation=d.pastDateValidation,exports.deFormatText=x.deFormatText,exports.specificFilters=m.specificFilters,exports.subModuleMappings=m.subModuleMappings,exports.fileSize=u.fileSize,exports.formBuilderConversion=c.formBuilderConversion,exports.convertTableColumns=g.convertTableColumns,exports.formBuilderDeConversion=g.formBuilderDeConversion,exports.convertToUnderscore=D.convertToUnderscore,exports.formatLabel=D.formatLabel,exports.formatText=D.formatText,exports.fetchLanguages=f.fetchLanguages,exports.MenuFilter=T.MenuFilter,exports.MenuFilterService=T.MenuFilterService,exports.ModuleAccessService=T.ModuleAccessService,exports.StorageUtils=T.StorageUtils,exports.MetaComponent=I.MetaComponent,exports.createParameterizedNavigationHandler=y.createParameterizedNavigationHandler,exports.migrateRoutesToUseParams=y.migrateRoutesToUseParams,exports.migrateToPathWithId=y.migrateToPathWithId,exports.updateTableConfigForParameterizedNavigation=y.updateTableConfigForParameterizedNavigation,exports.getEntityId=A.getEntityId,exports.navigateWithId=A.navigateWithId,exports.convertRoutesToUseIdParams=F.convertRoutesToUseIdParams,exports.generateRouteWithId=F.generateRouteWithId,exports.navigateToRouteWithId=F.navigateToRouteWithId,exports.updatePathnameWithIdParams=F.updatePathnameWithIdParams,exports.loadModuleTranslations=E.loadModuleTranslations,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return O.default}}),exports.setRoleURL=C.setBaseUrl,exports.setDriveURL=h.setBaseUrl,exports.setSystemFeatureURL=N.setBaseUrl;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,6 @@
1
- import { patchV1FormBuilderId, getV1FormBuilderId, getV1FormBuilderFieldsId, setBaseUrl } from "../../../../api-client/api.system-feature/api/index.esm.js";
1
+ import { patchV1FormBuilderId, getV1FormBuilderId, getV1FormBuilderFieldsId } from "../../../../api-client/api.system-feature/api/index.esm.js";
2
2
  import { createAsyncThunk } from "@reduxjs/toolkit";
3
3
  import { getToken } from "../../../../utils/common/index.esm.js";
4
- import { getApiConfig } from "../../../../utils/api-config/index.esm.js";
5
- setBaseUrl(`${getApiConfig().backendBaseUrl}/system-feature`);
6
4
  const patchFormDataById = createAsyncThunk(
7
5
  "formBuilder/put",
8
6
  async ({ id, data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getApiConfig } from \"@/utils\";\n\nsetBaseUrl(`${getApiConfig().backendBaseUrl}/system-feature`);\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":[],"mappings":";;;;AAMA,WAAW,GAAG,aAAA,EAAe,cAAc,iBAAiB;AAErD,MAAM,oBAAoB;AAAA,EAE/B;AAAA,EACA,OAAO,EAAE,IAAI,WAAgB;AAC3B,UAAM,WAAW,MAAM,qBAAqB;AAAA,MAC1C,GAAG,SAAA;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AACD,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA,OAAO,OAAe;AACpB,UAAM,WAAW,MAAM,mBAAmB;AAAA,MACxC,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO;AAAA,EACT;AACF;AAIO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,OAAO,EAAE,GAAA,MAA0C;AAEjD,UAAM,WAAgB,MAAM,yBAAyB;AAAA,MACnD,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO,qCAAU,KAAK;AAAA,EACxB;AACF;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":[],"mappings":";;;AAKO,MAAM,oBAAoB;AAAA,EAE/B;AAAA,EACA,OAAO,EAAE,IAAI,WAAgB;AAC3B,UAAM,WAAW,MAAM,qBAAqB;AAAA,MAC1C,GAAG,SAAA;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AACD,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA,OAAO,OAAe;AACpB,UAAM,WAAW,MAAM,mBAAmB;AAAA,MACxC,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO;AAAA,EACT;AACF;AAIO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,OAAO,EAAE,GAAA,MAA0C;AAEjD,UAAM,WAAgB,MAAM,yBAAyB;AAAA,MACnD,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO,qCAAU,KAAK;AAAA,EACxB;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../api-client/api.system-feature/api/index.js"),t=require("@reduxjs/toolkit"),r=require("../../../../utils/common/index.js"),i=require("../../../../utils/api-config/index.js");e.setBaseUrl(`${i.getApiConfig().backendBaseUrl}/system-feature`);const a=t.createAsyncThunk("formBuilder/put",async({id:t,data:i})=>await e.patchV1FormBuilderId({...r.getToken(),id:t,...i})),d=t.createAsyncThunk("formBuilder/getById",async t=>await e.getV1FormBuilderId({...r.getToken(),id:t})),s=t.createAsyncThunk("formBuilder/fields/get",async({id:t})=>{const i=await e.getV1FormBuilderFieldsId({...r.getToken(),id:t});return null==i?void 0:i.data.fields});exports.getFieldsByFormId=s,exports.getFormDataById=d,exports.patchFormDataById=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../api-client/api.system-feature/api/index.js"),t=require("@reduxjs/toolkit"),r=require("../../../../utils/common/index.js");const i=t.createAsyncThunk("formBuilder/put",async({id:t,data:i})=>await e.patchV1FormBuilderId({...r.getToken(),id:t,...i})),d=t.createAsyncThunk("formBuilder/getById",async t=>await e.getV1FormBuilderId({...r.getToken(),id:t})),a=t.createAsyncThunk("formBuilder/fields/get",async({id:t})=>{const i=await e.getV1FormBuilderFieldsId({...r.getToken(),id:t});return null==i?void 0:i.data.fields});exports.getFieldsByFormId=a,exports.getFormDataById=d,exports.patchFormDataById=i;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getApiConfig } from \"@/utils\";\n\nsetBaseUrl(`${getApiConfig().backendBaseUrl}/system-feature`);\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":["setBaseUrl","getApiConfig","backendBaseUrl","patchFormDataById","createAsyncThunk","async","id","data","patchV1FormBuilderId","getToken","getFormDataById","getV1FormBuilderId","getFieldsByFormId","response","getV1FormBuilderFieldsId","fields"],"mappings":"4QAMAA,EAAAA,WAAW,GAAGC,EAAAA,eAAeC,iCAEtB,MAAMC,EAAoBC,EAAAA,iBAE/B,kBACAC,OAASC,KAAIC,gBACYC,uBAAqB,IACvCC,aACHH,QACGC,KAMIG,EAAkBN,EAAAA,iBAC7B,sBACAC,MAAOC,SACkBK,qBAAmB,IACrCF,aACHH,QAQOM,EAAoBR,EAAAA,iBAC/B,yBACAC,OAASC,SAEP,MAAMO,QAAsBC,2BAAyB,IAChDL,aACHH,OAEF,aAAOO,WAAUN,KAAKQ"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":["patchFormDataById","createAsyncThunk","async","id","data","patchV1FormBuilderId","getToken","getFormDataById","getV1FormBuilderId","getFieldsByFormId","response","getV1FormBuilderFieldsId","fields"],"mappings":"yNAKO,MAAMA,EAAoBC,EAAAA,iBAE/B,kBACAC,OAASC,KAAIC,gBACYC,uBAAqB,IACvCC,aACHH,QACGC,KAMIG,EAAkBN,EAAAA,iBAC7B,sBACAC,MAAOC,SACkBK,qBAAmB,IACrCF,aACHH,QAQOM,EAAoBR,EAAAA,iBAC/B,yBACAC,OAASC,SAEP,MAAMO,QAAsBC,2BAAyB,IAChDL,aACHH,OAEF,aAAOO,WAAUN,KAAKQ"}
@@ -3,7 +3,7 @@ import { useState, useCallback, useEffect } from "react";
3
3
  import { useDraggable } from "../../../../node_modules/@dnd-kit/core/dist/core.esm/index.esm.js";
4
4
  import { useDropzone } from "react-dropzone";
5
5
  import default_1 from "../../../../node_modules/@mui/icons-material/ExpandMore/index.esm.js";
6
- import { postV1Drive, getV1Drive, setBaseUrl } from "../../../../api-client/api.drive/api/index.esm.js";
6
+ import { postV1Drive, getV1Drive } from "../../../../api-client/api.drive/api/index.esm.js";
7
7
  import { SearchBar } from "../../../../components/search-bar/search-bar/index.esm.js";
8
8
  import { uploadFiles, getToken } from "../../../../utils/common/index.esm.js";
9
9
  import Box from "../../../../node_modules/@mui/material/Box/Box/index.esm.js";
@@ -27,7 +27,6 @@ import ListItemIcon from "../../../../node_modules/@mui/material/ListItemIcon/Li
27
27
  import ListItemText from "../../../../node_modules/@mui/material/ListItemText/ListItemText/index.esm.js";
28
28
  import ListItem from "../../../../node_modules/@mui/material/ListItem/ListItem/index.esm.js";
29
29
  import { getApiConfig } from "../../../../utils/api-config/index.esm.js";
30
- setBaseUrl(`${getApiConfig().backendBaseUrl}/document`);
31
30
  const StyledListItem = styled(ListItem)(({ theme }) => ({
32
31
  padding: theme.spacing(1.5),
33
32
  cursor: "grab",
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive, setBaseUrl as setDriveUrl } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nsetDriveUrl(`${getApiConfig().backendBaseUrl}/document`);\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["setDriveUrl","TextIcon","ImageIcon","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","error","ExpandMoreIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["TextIcon","ImageIcon","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","error","ExpandMoreIcon"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("../../../../node_modules/@dnd-kit/core/dist/core.esm/index.js"),d=require("react-dropzone"),t=require("../../../../node_modules/@mui/icons-material/ExpandMore/index.js"),a=require("../../../../api-client/api.drive/api/index.js"),s=require("../../../../components/search-bar/search-bar/index.js"),o=require("../../../../utils/common/index.js"),l=require("../../../../node_modules/@mui/material/Box/Box/index.js"),n=require("../../../../node_modules/lucide-react/dist/esm/icons/heading/index.js"),c=require("../../../../node_modules/lucide-react/dist/esm/icons/text/index.js"),u=require("../../../../node_modules/@mui/material/styles/styled/index.js"),x=require("../../../../node_modules/@mui/material/Typography/Typography/index.js"),m=require("../../../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),g=require("../../../../node_modules/@mui/material/Alert/Alert/index.js"),p=require("../../../../node_modules/@mui/material/Grid/Grid/index.js"),j=require("../../../../node_modules/lucide-react/dist/esm/icons/image/index.js"),b=require("../../../../node_modules/@mui/material/Divider/Divider/index.js"),f=require("../../../../node_modules/lucide-react/dist/esm/icons/table/index.js"),h=require("../../../../node_modules/lucide-react/dist/esm/icons/blocks/index.js"),y=require("../../../../node_modules/lucide-react/dist/esm/icons/qr-code/index.js"),q=require("../../../../node_modules/lucide-react/dist/esm/icons/barcode/index.js"),v=require("../../../../node_modules/@mui/material/Accordion/Accordion/index.js"),_=require("../../../../node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js"),z=require("../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js"),C=require("../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js"),k=require("../../../../node_modules/@mui/material/ListItemText/ListItemText/index.js"),S=require("../../../../node_modules/@mui/material/ListItem/ListItem/index.js"),B=require("../../../../utils/api-config/index.js");a.setBaseUrl(`${B.getApiConfig().backendBaseUrl}/document`);const D=u.default(S.default)(({theme:e})=>({padding:e.spacing(1.5),cursor:"grab",borderRadius:e.shape.borderRadius,"&:hover":{backgroundColor:e.palette.grey[100]},"&.dragging":{opacity:.5}})),I=u.default(l.default)(({theme:e})=>({border:`2px dashed ${e.palette.grey[400]}`,borderRadius:e.shape.borderRadius,padding:e.spacing(2),textAlign:"center",backgroundColor:e.palette.grey[50],cursor:"pointer","&:hover":{backgroundColor:e.palette.grey[100]}})),w=({id:i,icon:d,label:t,imageUrl:a})=>{const s="string"==typeof i?i.replace("sidebar-",""):i,{attributes:o,listeners:l,setNodeRef:n,isDragging:c}=r.useDraggable({id:i,data:{type:a?"image":s,imageUrl:a,label:t}});/* @__PURE__ */
2
- return e.jsx(D,{ref:n,...l,...o,className:c?"dragging":"",sx:{border:"1px solid",borderColor:"grey.200",p:.75},children:a?/* @__PURE__ */e.jsx("img",{src:a,alt:t,style:{width:"100%",height:140,objectFit:"cover",marginRight:8}}):/* @__PURE__ */e.jsxs(e.Fragment,{children:[
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("../../../../node_modules/@dnd-kit/core/dist/core.esm/index.js"),d=require("react-dropzone"),t=require("../../../../node_modules/@mui/icons-material/ExpandMore/index.js"),a=require("../../../../api-client/api.drive/api/index.js"),s=require("../../../../components/search-bar/search-bar/index.js"),o=require("../../../../utils/common/index.js"),l=require("../../../../node_modules/@mui/material/Box/Box/index.js"),n=require("../../../../node_modules/lucide-react/dist/esm/icons/heading/index.js"),c=require("../../../../node_modules/lucide-react/dist/esm/icons/text/index.js"),u=require("../../../../node_modules/@mui/material/styles/styled/index.js"),x=require("../../../../node_modules/@mui/material/Typography/Typography/index.js"),m=require("../../../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),g=require("../../../../node_modules/@mui/material/Alert/Alert/index.js"),p=require("../../../../node_modules/@mui/material/Grid/Grid/index.js"),j=require("../../../../node_modules/lucide-react/dist/esm/icons/image/index.js"),b=require("../../../../node_modules/@mui/material/Divider/Divider/index.js"),f=require("../../../../node_modules/lucide-react/dist/esm/icons/table/index.js"),h=require("../../../../node_modules/lucide-react/dist/esm/icons/blocks/index.js"),y=require("../../../../node_modules/lucide-react/dist/esm/icons/qr-code/index.js"),q=require("../../../../node_modules/lucide-react/dist/esm/icons/barcode/index.js"),v=require("../../../../node_modules/@mui/material/Accordion/Accordion/index.js"),_=require("../../../../node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js"),z=require("../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js"),C=require("../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js"),k=require("../../../../node_modules/@mui/material/ListItemText/ListItemText/index.js"),S=require("../../../../node_modules/@mui/material/ListItem/ListItem/index.js"),D=require("../../../../utils/api-config/index.js");const I=u.default(S.default)(({theme:e})=>({padding:e.spacing(1.5),cursor:"grab",borderRadius:e.shape.borderRadius,"&:hover":{backgroundColor:e.palette.grey[100]},"&.dragging":{opacity:.5}})),w=u.default(l.default)(({theme:e})=>({border:`2px dashed ${e.palette.grey[400]}`,borderRadius:e.shape.borderRadius,padding:e.spacing(2),textAlign:"center",backgroundColor:e.palette.grey[50],cursor:"pointer","&:hover":{backgroundColor:e.palette.grey[100]}})),A=({id:i,icon:d,label:t,imageUrl:a})=>{const s="string"==typeof i?i.replace("sidebar-",""):i,{attributes:o,listeners:l,setNodeRef:n,isDragging:c}=r.useDraggable({id:i,data:{type:a?"image":s,imageUrl:a,label:t}});/* @__PURE__ */
2
+ return e.jsx(I,{ref:n,...l,...o,className:c?"dragging":"",sx:{border:"1px solid",borderColor:"grey.200",p:.75},children:a?/* @__PURE__ */e.jsx("img",{src:a,alt:t,style:{width:"100%",height:140,objectFit:"cover",marginRight:8}}):/* @__PURE__ */e.jsxs(e.Fragment,{children:[
3
3
  /* @__PURE__ */e.jsx(C.default,{sx:{minWidth:40},children:d}),
4
- /* @__PURE__ */e.jsx(k.default,{primary:t,primaryTypographyProps:{variant:"body2"}})]})})},A=()=>{const[r,u]=i.useState("text"),[C,k]=i.useState([]),[S,D]=i.useState(!1),[A,T]=i.useState(null),R=i.useCallback(async e=>{D(!0),T(null);try{for(const i of e){const e=await o.uploadFiles([i],"document"),r=o.getToken(),d={...r,"x-timezone":String(r["x-timezone"]||""),title:null==i?void 0:i.name.split(".")[0],path:"/",is_private:!0,is_directory:!1,file_size:i.size,is_child:!1,file_extension:null==i?void 0:i.name.split(".")[1],type:"image",mime_type:i.type,url:`${B.getApiConfig().s3BucketUrl}${e[0]}`};await a.postV1Drive(d),k(r=>[...r,{id:`uploaded-image-${Date.now()}-${Math.random()}`,url:`${B.getApiConfig().s3BucketUrl}${e[0]}`,name:i.name}])}}catch(i){T("Failed to upload image. Please try again.")}finally{D(!1)}},[]),{getRootProps:U,getInputProps:$,isDragActive:H}=d.useDropzone({onDrop:R,accept:{"image/*":[".jpeg",".png",".jpg",".gif"]},multiple:!0}),P=[{id:"text",icon:/* @__PURE__ */e.jsx(c.default,{size:18}),label:"Text",content:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:1},children:[
5
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading",icon:/* @__PURE__ */e.jsx(n.default,{size:20}),label:"Heading 1"}),
6
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-2",icon:/* @__PURE__ */e.jsx(n.default,{size:18}),label:"Heading 2"}),
7
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-3",icon:/* @__PURE__ */e.jsx(n.default,{size:16}),label:"Heading 3"}),
8
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-4",icon:/* @__PURE__ */e.jsx(n.default,{size:14}),label:"Heading 4"}),
9
- /* @__PURE__ */e.jsx(w,{id:"sidebar-text",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Body"}),
10
- /* @__PURE__ */e.jsx(w,{id:"sidebar-text-block",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Text Block"})]})},{id:"images",icon:/* @__PURE__ */e.jsx(j.default,{size:18}),label:"Images",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
11
- /* @__PURE__ */e.jsxs(I,{...U(),children:[
12
- /* @__PURE__ */e.jsx("input",{...$()}),H?/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drop the images here..."}):/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drag and drop images here, or click to select"}),S&&/* @__PURE__ */e.jsx(l.default,{sx:{mt:1},children:/* @__PURE__ */e.jsx(m.default,{size:20})})]}),A&&/* @__PURE__ */e.jsx(g.default,{severity:"error",sx:{mt:2},children:A}),C.length>0&&/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
4
+ /* @__PURE__ */e.jsx(k.default,{primary:t,primaryTypographyProps:{variant:"body2"}})]})})},B=()=>{const[r,u]=i.useState("text"),[C,k]=i.useState([]),[S,I]=i.useState(!1),[B,T]=i.useState(null),R=i.useCallback(async e=>{I(!0),T(null);try{for(const i of e){const e=await o.uploadFiles([i],"document"),r=o.getToken(),d={...r,"x-timezone":String(r["x-timezone"]||""),title:null==i?void 0:i.name.split(".")[0],path:"/",is_private:!0,is_directory:!1,file_size:i.size,is_child:!1,file_extension:null==i?void 0:i.name.split(".")[1],type:"image",mime_type:i.type,url:`${D.getApiConfig().s3BucketUrl}${e[0]}`};await a.postV1Drive(d),k(r=>[...r,{id:`uploaded-image-${Date.now()}-${Math.random()}`,url:`${D.getApiConfig().s3BucketUrl}${e[0]}`,name:i.name}])}}catch(i){T("Failed to upload image. Please try again.")}finally{I(!1)}},[]),{getRootProps:H,getInputProps:P,isDragActive:$}=d.useDropzone({onDrop:R,accept:{"image/*":[".jpeg",".png",".jpg",".gif"]},multiple:!0}),L=[{id:"text",icon:/* @__PURE__ */e.jsx(c.default,{size:18}),label:"Text",content:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:1},children:[
5
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading",icon:/* @__PURE__ */e.jsx(n.default,{size:20}),label:"Heading 1"}),
6
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-2",icon:/* @__PURE__ */e.jsx(n.default,{size:18}),label:"Heading 2"}),
7
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-3",icon:/* @__PURE__ */e.jsx(n.default,{size:16}),label:"Heading 3"}),
8
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-4",icon:/* @__PURE__ */e.jsx(n.default,{size:14}),label:"Heading 4"}),
9
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-text",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Body"}),
10
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-text-block",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Text Block"})]})},{id:"images",icon:/* @__PURE__ */e.jsx(j.default,{size:18}),label:"Images",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
11
+ /* @__PURE__ */e.jsxs(w,{...H(),children:[
12
+ /* @__PURE__ */e.jsx("input",{...P()}),$?/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drop the images here..."}):/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drag and drop images here, or click to select"}),S&&/* @__PURE__ */e.jsx(l.default,{sx:{mt:1},children:/* @__PURE__ */e.jsx(m.default,{size:20})})]}),B&&/* @__PURE__ */e.jsx(g.default,{severity:"error",sx:{mt:2},children:B}),C.length>0&&/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
13
13
  /* @__PURE__ */e.jsx(x.default,{variant:"body2",sx:{mb:1,color:"grey.500"},children:"Uploaded Images"}),
14
- /* @__PURE__ */e.jsx(p.default,{container:!0,spacing:1,children:C.map(i=>/* @__PURE__ */e.jsx(p.default,{item:!0,xs:6,children:/* @__PURE__ */e.jsx(w,{id:i.id,label:i.name,imageUrl:i.url})},i.id))})]})]})})},{id:"buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:16,height:16,bgcolor:"grey.400",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px"},children:"BTN"}),label:"Buttons",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:20,height:20,bgcolor:"success.main",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px"},children:"BTN"}),label:"Buttons"})})},{id:"divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:18}}),label:"Divider",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:20}}),label:"Divider"})})},{id:"table",icon:/* @__PURE__ */e.jsx(f.default,{size:18}),label:"Table",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-table",icon:/* @__PURE__ */e.jsx(f.default,{size:20}),label:"Table"})})},{id:"signature",icon:/* @__PURE__ */e.jsx(h.default,{size:18}),label:"Signature",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-signature",icon:/* @__PURE__ */e.jsx(h.default,{size:20}),label:"Signature"})})},{id:"qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:18}),label:"QR Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:20}),label:"QR Code"})})},{id:"bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:18}),label:"Bar Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:20}),label:"Bar Code"})})}];return i.useEffect(()=>{(async()=>{try{const e=o.getToken(),i=await a.getV1Drive({...e,"x-timezone":String(e["x-timezone"]||""),skip:0,limit:10,filters:"(is_directory.eq=0)"});if("data"in i&&i.data&&"object"==typeof i.data&&"drive"in i.data){const e=i.data.drive||[];k(e)}}catch(e){}})()},[]),/* @__PURE__ */e.jsxs(l.default,{sx:{bgcolor:"background.paper",borderRight:1,borderColor:"grey.200",width:390,display:"flex",flexDirection:"column",height:"calc(100vh - 104px)",boxShadow:"0 2px 8px rgba(0,0,0,0.05)",fontFamily:"Inter, system-ui, Avenir, Helvetica, Arial, sans-serif"},children:[
14
+ /* @__PURE__ */e.jsx(p.default,{container:!0,spacing:1,children:C.map(i=>/* @__PURE__ */e.jsx(p.default,{item:!0,xs:6,children:/* @__PURE__ */e.jsx(A,{id:i.id,label:i.name,imageUrl:i.url})},i.id))})]})]})})},{id:"buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:16,height:16,bgcolor:"grey.400",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px"},children:"BTN"}),label:"Buttons",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:20,height:20,bgcolor:"success.main",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px"},children:"BTN"}),label:"Buttons"})})},{id:"divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:18}}),label:"Divider",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:20}}),label:"Divider"})})},{id:"table",icon:/* @__PURE__ */e.jsx(f.default,{size:18}),label:"Table",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-table",icon:/* @__PURE__ */e.jsx(f.default,{size:20}),label:"Table"})})},{id:"signature",icon:/* @__PURE__ */e.jsx(h.default,{size:18}),label:"Signature",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-signature",icon:/* @__PURE__ */e.jsx(h.default,{size:20}),label:"Signature"})})},{id:"qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:18}),label:"QR Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:20}),label:"QR Code"})})},{id:"bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:18}),label:"Bar Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:20}),label:"Bar Code"})})}];return i.useEffect(()=>{(async()=>{try{const e=o.getToken(),i=await a.getV1Drive({...e,"x-timezone":String(e["x-timezone"]||""),skip:0,limit:10,filters:"(is_directory.eq=0)"});if("data"in i&&i.data&&"object"==typeof i.data&&"drive"in i.data){const e=i.data.drive||[];k(e)}}catch(e){}})()},[]),/* @__PURE__ */e.jsxs(l.default,{sx:{bgcolor:"background.paper",borderRight:1,borderColor:"grey.200",width:390,display:"flex",flexDirection:"column",height:"calc(100vh - 104px)",boxShadow:"0 2px 8px rgba(0,0,0,0.05)",fontFamily:"Inter, system-ui, Avenir, Helvetica, Arial, sans-serif"},children:[
15
15
  /* @__PURE__ */e.jsx(l.default,{sx:{p:2,borderBottom:1,borderColor:"grey.200"},children:/* @__PURE__ */e.jsx(s.SearchBar,{handleSearch:e=>{},sx:{backgroundColor:"#fff !important",border:"1px solid grey"}})}),
16
- /* @__PURE__ */e.jsx(l.default,{sx:{flexGrow:1,overflowY:"auto",p:1},children:P.map(i=>{/* @__PURE__ */return e.jsxs(v.default,{expanded:r===i.id,onChange:(d=i.id,(e,i)=>{u(!!i&&d)}),sx:{border:"none",boxShadow:"none",backgroundColor:"transparent","&:before":{display:"none"},marginBottom:1},children:[
16
+ /* @__PURE__ */e.jsx(l.default,{sx:{flexGrow:1,overflowY:"auto",p:1},children:L.map(i=>{/* @__PURE__ */return e.jsxs(v.default,{expanded:r===i.id,onChange:(d=i.id,(e,i)=>{u(!!i&&d)}),sx:{border:"none",boxShadow:"none",backgroundColor:"transparent","&:before":{display:"none"},marginBottom:1},children:[
17
17
  /* @__PURE__ */e.jsx(_.default,{expandIcon:/* @__PURE__ */e.jsx(t.default,{sx:{color:"grey.600"}}),sx:{borderRadius:"8px",padding:"0 12px",backgroundColor:r===i.id?"grey.200":"grey.50","&:hover":{backgroundColor:"grey.50"},transition:"background-color 0.2s ease",minHeight:42,"& .MuiAccordionSummary-content":{alignItems:"center",margin:"8px 0"},"&.Mui-expanded":{minHeight:42}},children:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.icon,
18
18
  /* @__PURE__ */e.jsx(x.default,{variant:"body2",sx:{fontWeight:500,color:"text.primary"},children:i.label})]})}),
19
- /* @__PURE__ */e.jsx(z.default,{sx:{padding:"8px 16px"},children:i.content})]},i.id);var d})})]})};exports.EditorSidebar=A,exports.default=A;
19
+ /* @__PURE__ */e.jsx(z.default,{sx:{padding:"8px 16px"},children:i.content})]},i.id);var d})})]})};exports.EditorSidebar=B,exports.default=B;
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive, setBaseUrl as setDriveUrl } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nsetDriveUrl(`${getApiConfig().backendBaseUrl}/document`);\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["setDriveUrl","getApiConfig","backendBaseUrl","StyledListItem","styled","ListItem","theme","padding","spacing","cursor","borderRadius","shape","backgroundColor","palette","grey","opacity","DropzoneBox","Box","border","textAlign","SidebarItem","id","icon","label","imageUrl","elementType","replace","attributes","listeners","setNodeRef","isDragging","useDraggable","data","type","jsx","ref","className","sx","borderColor","p","children","src","alt","style","width","height","objectFit","marginRight","jsxs","Fragment","ListItemIcon","minWidth","ListItemText","primary","primaryTypographyProps","variant","EditorSidebar","expanded","setExpanded","useState","uploadedImages","setUploadedImages","uploading","setUploading","error","setError","onDrop","useCallback","async","acceptedFiles","file","uFiles","uploadFiles","token","getToken","payload","String","title","name","split","path","is_private","is_directory","file_size","size","is_child","file_extension","mime_type","url","s3BucketUrl","postV1Drive","prev","Date","now","Math","random","err","getRootProps","getInputProps","isDragActive","useDropzone","accept","multiple","sections","TextIcon","content","display","gridTemplateColumns","gap","Heading","ImageIcon","mt","Typography","color","CircularProgress","Alert","severity","length","mb","Grid","container","map","image","item","xs","bgcolor","alignItems","justifyContent","fontSize","Divider","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","useEffect","response","getV1Drive","skip","limit","filters","files","drive","getDriveFiles","borderRight","flexDirection","boxShadow","fontFamily","borderBottom","SearchBar","handleSearch","key","flexGrow","overflowY","section","Accordion","onChange","panel","event","isExpanded","marginBottom","AccordionSummary","expandIcon","ExpandMoreIcon","transition","minHeight","margin","fontWeight","AccordionDetails"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["StyledListItem","styled","ListItem","theme","padding","spacing","cursor","borderRadius","shape","backgroundColor","palette","grey","opacity","DropzoneBox","Box","border","textAlign","SidebarItem","id","icon","label","imageUrl","elementType","replace","attributes","listeners","setNodeRef","isDragging","useDraggable","data","type","jsx","ref","className","sx","borderColor","p","children","src","alt","style","width","height","objectFit","marginRight","jsxs","Fragment","ListItemIcon","minWidth","ListItemText","primary","primaryTypographyProps","variant","EditorSidebar","expanded","setExpanded","useState","uploadedImages","setUploadedImages","uploading","setUploading","error","setError","onDrop","useCallback","async","acceptedFiles","file","uFiles","uploadFiles","token","getToken","payload","String","title","name","split","path","is_private","is_directory","file_size","size","is_child","file_extension","mime_type","url","getApiConfig","s3BucketUrl","postV1Drive","prev","Date","now","Math","random","err","getRootProps","getInputProps","isDragActive","useDropzone","accept","multiple","sections","TextIcon","content","display","gridTemplateColumns","gap","Heading","ImageIcon","mt","Typography","color","CircularProgress","Alert","severity","length","mb","Grid","container","map","image","item","xs","bgcolor","alignItems","justifyContent","fontSize","Divider","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","useEffect","response","getV1Drive","skip","limit","filters","files","drive","getDriveFiles","borderRight","flexDirection","boxShadow","fontFamily","borderBottom","SearchBar","handleSearch","key","flexGrow","overflowY","section","Accordion","onChange","panel","event","isExpanded","marginBottom","AccordionSummary","expandIcon","ExpandMoreIcon","transition","minHeight","margin","fontWeight","AccordionDetails"],"mappings":"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"}
@@ -21,11 +21,8 @@ import { usePermissions } from "../../../hooks/use-permissions/index.esm.js";
21
21
  import { getV1Subjects } from "../../../api-client/api.system-feature/api/index.esm.js";
22
22
  import { TemplateModal } from "../template-modal/template-modal/index.esm.js";
23
23
  import CompanySelectionModal from "../company-selection-modal/company-selection-modal/index.esm.js";
24
- import { setBaseUrl } from "../../../api-client/api.rbac/api/index.esm.js";
25
24
  /* empty css */
26
25
  import MenuItem from "../../../node_modules/@mui/material/MenuItem/MenuItem/index.esm.js";
27
- import { getApiConfig } from "../../../utils/api-config/index.esm.js";
28
- setBaseUrl(`${getApiConfig().backendBaseUrl}/rbac`);
29
26
  const Templates = ({ type, module, modulePath }) => {
30
27
  const { t } = useTranslation();
31
28
  const {