@erpsquad/common 1.10.73 → 1.10.74

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 (330) hide show
  1. package/dist/chunks/{ERPUIProvider-BPpcQgND.js → ERPUIProvider-Ce7EhOa_.js} +15 -10
  2. package/dist/chunks/ERPUIProvider-Ce7EhOa_.js.map +1 -0
  3. package/dist/chunks/{ERPUIProvider-DZbxFsRb.esm.js → ERPUIProvider-CmmabhgQ.esm.js} +15 -10
  4. package/dist/chunks/{ERPUIProvider-DZbxFsRb.esm.js.map → ERPUIProvider-CmmabhgQ.esm.js.map} +1 -1
  5. package/dist/chunks/{actionCreator-B1XDiSfb.esm.js → actionCreator-Cy_J6Xfp.esm.js} +2 -2
  6. package/dist/chunks/{actionCreator-B1XDiSfb.esm.js.map → actionCreator-Cy_J6Xfp.esm.js.map} +1 -1
  7. package/dist/chunks/{actionCreator-DlbJbrTk.js → actionCreator-DqVmiGzl.js} +2 -2
  8. package/dist/chunks/{actionCreator-DlbJbrTk.js.map → actionCreator-DqVmiGzl.js.map} +1 -1
  9. package/dist/chunks/{android-12-switch-DcPr9cvn.js → android-12-switch-CXEiaZf0.js} +10 -10
  10. package/dist/chunks/{android-12-switch-DcPr9cvn.js.map → android-12-switch-CXEiaZf0.js.map} +1 -1
  11. package/dist/chunks/{android-12-switch-DSM1b9TA.esm.js → android-12-switch-DOruO2DA.esm.js} +10 -10
  12. package/dist/chunks/{android-12-switch-DSM1b9TA.esm.js.map → android-12-switch-DOruO2DA.esm.js.map} +1 -1
  13. package/dist/chunks/{appbar-DDijzrAm.esm.js → appbar-ByiY9Ehc.esm.js} +4 -4
  14. package/dist/chunks/{appbar-DDijzrAm.esm.js.map → appbar-ByiY9Ehc.esm.js.map} +1 -1
  15. package/dist/chunks/{appbar-Bf_GaMVY.js → appbar-Cht2DM8y.js} +4 -4
  16. package/dist/chunks/{appbar-Bf_GaMVY.js.map → appbar-Cht2DM8y.js.map} +1 -1
  17. package/dist/chunks/{checkbox-Jgx2gkFF.js → checkbox-DNW1SYc0.js} +3 -3
  18. package/dist/chunks/{checkbox-Jgx2gkFF.js.map → checkbox-DNW1SYc0.js.map} +1 -1
  19. package/dist/chunks/{checkbox-C5oERyEy.esm.js → checkbox-Vd4h25n2.esm.js} +3 -3
  20. package/dist/chunks/{checkbox-C5oERyEy.esm.js.map → checkbox-Vd4h25n2.esm.js.map} +1 -1
  21. package/dist/chunks/{common-BtIKVrzA.js → common-B1hGK8kQ.js} +23 -7
  22. package/dist/chunks/{common-BtIKVrzA.js.map → common-B1hGK8kQ.js.map} +1 -1
  23. package/dist/chunks/{common-D8YIf-p0.esm.js → common-BVfS06ca.esm.js} +23 -7
  24. package/dist/chunks/{common-D8YIf-p0.esm.js.map → common-BVfS06ca.esm.js.map} +1 -1
  25. package/dist/chunks/{custom-editor-DxM6_6Mt.esm.js → custom-editor-e50eHmKt.esm.js} +2 -2
  26. package/dist/chunks/{custom-editor-DxM6_6Mt.esm.js.map → custom-editor-e50eHmKt.esm.js.map} +1 -1
  27. package/dist/chunks/{custom-editor-5dpZZW_j.js → custom-editor-iUZb8s2v.js} +2 -2
  28. package/dist/chunks/{custom-editor-5dpZZW_j.js.map → custom-editor-iUZb8s2v.js.map} +1 -1
  29. package/dist/chunks/{default-data-CmARVEBW.js → default-data-AYPWIApH.js} +12 -12
  30. package/dist/chunks/{default-data-CmARVEBW.js.map → default-data-AYPWIApH.js.map} +1 -1
  31. package/dist/chunks/{default-data-DSbmaVFY.esm.js → default-data-BJi3OcW1.esm.js} +12 -12
  32. package/dist/chunks/{default-data-DSbmaVFY.esm.js.map → default-data-BJi3OcW1.esm.js.map} +1 -1
  33. package/dist/chunks/{form-builder-conversion-D9q6WTmq.js → form-builder-conversion-BcJXOpRp.js} +2 -2
  34. package/dist/chunks/{form-builder-conversion-D9q6WTmq.js.map → form-builder-conversion-BcJXOpRp.js.map} +1 -1
  35. package/dist/chunks/{form-builder-conversion-C2frmPH6.esm.js → form-builder-conversion-DrA9C0NQ.esm.js} +2 -2
  36. package/dist/chunks/{form-builder-conversion-C2frmPH6.esm.js.map → form-builder-conversion-DrA9C0NQ.esm.js.map} +1 -1
  37. package/dist/chunks/{form-builder-deconversion-pKIkZ_95.esm.js → form-builder-deconversion-1hYI2jWw.esm.js} +3 -3
  38. package/dist/chunks/{form-builder-deconversion-pKIkZ_95.esm.js.map → form-builder-deconversion-1hYI2jWw.esm.js.map} +1 -1
  39. package/dist/chunks/{form-builder-deconversion-x7TevuHU.js → form-builder-deconversion-BmHlW07j.js} +3 -3
  40. package/dist/chunks/{form-builder-deconversion-x7TevuHU.js.map → form-builder-deconversion-BmHlW07j.js.map} +1 -1
  41. package/dist/chunks/{fullScreen-B73ASpXc.esm.js → fullScreen-BT9r6A8F.esm.js} +2 -2
  42. package/dist/chunks/{fullScreen-B73ASpXc.esm.js.map → fullScreen-BT9r6A8F.esm.js.map} +1 -1
  43. package/dist/chunks/{fullScreen-GATqKdsG.js → fullScreen-C1yKeusg.js} +2 -2
  44. package/dist/chunks/{fullScreen-GATqKdsG.js.map → fullScreen-C1yKeusg.js.map} +1 -1
  45. package/dist/chunks/{languageContext-CsSLzEaN.js → languageContext-CANlRoA0.js} +3 -3
  46. package/dist/chunks/{languageContext-CsSLzEaN.js.map → languageContext-CANlRoA0.js.map} +1 -1
  47. package/dist/chunks/{languageContext-9Nob_HWV.esm.js → languageContext-DfIURMbF.esm.js} +3 -3
  48. package/dist/chunks/{languageContext-9Nob_HWV.esm.js.map → languageContext-DfIURMbF.esm.js.map} +1 -1
  49. package/dist/chunks/{migration-utils-2n9_gMx1.esm.js → migration-utils-D4OMb4fL.esm.js} +2 -2
  50. package/dist/chunks/{migration-utils-2n9_gMx1.esm.js.map → migration-utils-D4OMb4fL.esm.js.map} +1 -1
  51. package/dist/chunks/{migration-utils-hBeA2Gxt.js → migration-utils-Dc_6VdeJ.js} +2 -2
  52. package/dist/chunks/{migration-utils-hBeA2Gxt.js.map → migration-utils-Dc_6VdeJ.js.map} +1 -1
  53. package/dist/chunks/{page-context-_AMJB_ty.js → page-context-Cg2MyCmD.js} +3 -3
  54. package/dist/chunks/{page-context-_AMJB_ty.js.map → page-context-Cg2MyCmD.js.map} +1 -1
  55. package/dist/chunks/{page-context-C_YWMVhh.esm.js → page-context-DfmpUWuf.esm.js} +3 -3
  56. package/dist/chunks/{page-context-C_YWMVhh.esm.js.map → page-context-DfmpUWuf.esm.js.map} +1 -1
  57. package/dist/chunks/{reducer-BMzMjtRW.js → reducer-BuEwR2fM.js} +2 -2
  58. package/dist/chunks/{reducer-BMzMjtRW.js.map → reducer-BuEwR2fM.js.map} +1 -1
  59. package/dist/chunks/{reducer-CUnOsvvx.esm.js → reducer-C0cHDjmv.esm.js} +2 -2
  60. package/dist/chunks/{reducer-CUnOsvvx.esm.js.map → reducer-C0cHDjmv.esm.js.map} +1 -1
  61. package/dist/chunks/{shareSlice-D8QQItpw.js → shareSlice-BHlSQRKw.js} +2 -2
  62. package/dist/chunks/{shareSlice-D8QQItpw.js.map → shareSlice-BHlSQRKw.js.map} +1 -1
  63. package/dist/chunks/{shareSlice-DtNEq6Sr.esm.js → shareSlice-DvnaG9GO.esm.js} +2 -2
  64. package/dist/chunks/{shareSlice-DtNEq6Sr.esm.js.map → shareSlice-DvnaG9GO.esm.js.map} +1 -1
  65. package/dist/chunks/{sidebar-CGU3tdez.esm.js → sidebar-CG90JVRA.esm.js} +4 -4
  66. package/dist/chunks/{sidebar-CGU3tdez.esm.js.map → sidebar-CG90JVRA.esm.js.map} +1 -1
  67. package/dist/chunks/{sidebar-CobitAdp.js → sidebar-CwqNppLF.js} +4 -4
  68. package/dist/chunks/{sidebar-CobitAdp.js.map → sidebar-CwqNppLF.js.map} +1 -1
  69. package/dist/chunks/{sidebarScreen-R_SLQJpq.esm.js → sidebarScreen-C3OHGWsn.esm.js} +5 -5
  70. package/dist/chunks/{sidebarScreen-R_SLQJpq.esm.js.map → sidebarScreen-C3OHGWsn.esm.js.map} +1 -1
  71. package/dist/chunks/{sidebarScreen-Kh58mSpF.js → sidebarScreen-DVwqG-Hi.js} +5 -5
  72. package/dist/chunks/{sidebarScreen-Kh58mSpF.js.map → sidebarScreen-DVwqG-Hi.js.map} +1 -1
  73. package/dist/chunks/{store-BlAfdMng.js → store-6mckWhh4.js} +3 -3
  74. package/dist/chunks/{store-BlAfdMng.js.map → store-6mckWhh4.js.map} +1 -1
  75. package/dist/chunks/{store-CKCweEtz.esm.js → store-giqheYvw.esm.js} +3 -3
  76. package/dist/chunks/{store-CKCweEtz.esm.js.map → store-giqheYvw.esm.js.map} +1 -1
  77. package/dist/chunks/{translations-CURTcJu7.esm.js → translations-DiE6kTBI.esm.js} +2 -2
  78. package/dist/chunks/{translations-CURTcJu7.esm.js.map → translations-DiE6kTBI.esm.js.map} +1 -1
  79. package/dist/chunks/{translations-B5xv1gxS.js → translations-vAZ7RIc7.js} +2 -2
  80. package/dist/chunks/{translations-B5xv1gxS.js.map → translations-vAZ7RIc7.js.map} +1 -1
  81. package/dist/chunks/{uom-field-wrapper-BAFOTp35.js → uom-field-wrapper-DHhz5pod.js} +14 -14
  82. package/dist/chunks/{uom-field-wrapper-BAFOTp35.js.map → uom-field-wrapper-DHhz5pod.js.map} +1 -1
  83. package/dist/chunks/{uom-field-wrapper-Dke2cTpR.esm.js → uom-field-wrapper-DalNHR65.esm.js} +14 -14
  84. package/dist/chunks/{uom-field-wrapper-Dke2cTpR.esm.js.map → uom-field-wrapper-DalNHR65.esm.js.map} +1 -1
  85. package/dist/chunks/{useAddressContact-DRv6rxkI.js → useAddressContact-3jZsdmGS.js} +6 -6
  86. package/dist/chunks/{useAddressContact-DRv6rxkI.js.map → useAddressContact-3jZsdmGS.js.map} +1 -1
  87. package/dist/chunks/{useAddressContact-jJ8XlmC_.esm.js → useAddressContact-VUXo0xxq.esm.js} +6 -6
  88. package/dist/chunks/{useAddressContact-jJ8XlmC_.esm.js.map → useAddressContact-VUXo0xxq.esm.js.map} +1 -1
  89. package/dist/chunks/{useAuth-DtiC6c_b.js → useAuth-BNR7N60-.js} +2 -2
  90. package/dist/chunks/useAuth-BNR7N60-.js.map +1 -0
  91. package/dist/chunks/{useAuth-DnwuL4k3.esm.js → useAuth-b1FMAFmO.esm.js} +2 -2
  92. package/dist/chunks/useAuth-b1FMAFmO.esm.js.map +1 -0
  93. package/dist/chunks/{useLangauge-C_Z9sEw7.js → useLangauge-DsEM05Ll.js} +2 -2
  94. package/dist/chunks/{useLangauge-C_Z9sEw7.js.map → useLangauge-DsEM05Ll.js.map} +1 -1
  95. package/dist/chunks/{useLangauge-P-Sc0U-O.esm.js → useLangauge-dxTIlPe-.esm.js} +2 -2
  96. package/dist/chunks/{useLangauge-P-Sc0U-O.esm.js.map → useLangauge-dxTIlPe-.esm.js.map} +1 -1
  97. package/dist/components/accordion/accordion.d.ts +1 -1
  98. package/dist/components/action-bar/action-bar.d.ts +1 -1
  99. package/dist/components/checkbox/checkbox.d.ts +1 -1
  100. package/dist/components/date-picker/date-picker.d.ts +1 -1
  101. package/dist/components/footer/footer.d.ts +1 -1
  102. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  103. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  104. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  105. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  106. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  107. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  108. package/dist/components/icons/action-arrow.d.ts +3 -3
  109. package/dist/components/icons/add-circle.d.ts +3 -3
  110. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  111. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  112. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  113. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  114. package/dist/components/icons/arrow-down.d.ts +3 -3
  115. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  116. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  117. package/dist/components/icons/arrow-up.d.ts +3 -3
  118. package/dist/components/icons/assignments.d.ts +3 -3
  119. package/dist/components/icons/blank-circle.d.ts +3 -3
  120. package/dist/components/icons/block-filled.d.ts +3 -3
  121. package/dist/components/icons/calendar-add.d.ts +3 -3
  122. package/dist/components/icons/calendar.d.ts +3 -3
  123. package/dist/components/icons/checkbox-square.d.ts +3 -3
  124. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  125. package/dist/components/icons/clock.d.ts +3 -3
  126. package/dist/components/icons/close.d.ts +3 -3
  127. package/dist/components/icons/coin-outline.d.ts +3 -3
  128. package/dist/components/icons/copy.d.ts +3 -3
  129. package/dist/components/icons/coupon.d.ts +3 -3
  130. package/dist/components/icons/cross-hire.d.ts +3 -3
  131. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  132. package/dist/components/icons/dashboard.d.ts +3 -3
  133. package/dist/components/icons/document-download.d.ts +3 -3
  134. package/dist/components/icons/document.d.ts +3 -3
  135. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  136. package/dist/components/icons/dollar-circle.d.ts +3 -3
  137. package/dist/components/icons/edit.d.ts +3 -3
  138. package/dist/components/icons/email.d.ts +3 -3
  139. package/dist/components/icons/export.d.ts +3 -3
  140. package/dist/components/icons/eye-off.d.ts +3 -3
  141. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  142. package/dist/components/icons/eye.d.ts +3 -3
  143. package/dist/components/icons/filled-circle.d.ts +3 -3
  144. package/dist/components/icons/filter-remove.d.ts +3 -3
  145. package/dist/components/icons/filter.d.ts +3 -3
  146. package/dist/components/icons/folder-save.d.ts +3 -3
  147. package/dist/components/icons/grid.d.ts +3 -3
  148. package/dist/components/icons/hashtag.d.ts +3 -3
  149. package/dist/components/icons/image.d.ts +3 -3
  150. package/dist/components/icons/import.d.ts +3 -3
  151. package/dist/components/icons/info-circle.d.ts +3 -3
  152. package/dist/components/icons/info.d.ts +3 -3
  153. package/dist/components/icons/link-horizontal.d.ts +3 -3
  154. package/dist/components/icons/link.d.ts +3 -3
  155. package/dist/components/icons/location.d.ts +3 -3
  156. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  157. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  158. package/dist/components/icons/lowest-price.d.ts +3 -3
  159. package/dist/components/icons/more.d.ts +3 -3
  160. package/dist/components/icons/notification.d.ts +3 -3
  161. package/dist/components/icons/paper-clip.d.ts +3 -3
  162. package/dist/components/icons/paragraph.d.ts +3 -3
  163. package/dist/components/icons/payment-request.d.ts +3 -3
  164. package/dist/components/icons/phone.d.ts +3 -3
  165. package/dist/components/icons/printer.d.ts +3 -3
  166. package/dist/components/icons/process-calendar.d.ts +3 -3
  167. package/dist/components/icons/promotion.d.ts +3 -3
  168. package/dist/components/icons/radio-button.d.ts +3 -3
  169. package/dist/components/icons/receipt-filled.d.ts +3 -3
  170. package/dist/components/icons/receipt-outline.d.ts +3 -3
  171. package/dist/components/icons/receipt.d.ts +3 -3
  172. package/dist/components/icons/refresh-icon.d.ts +3 -3
  173. package/dist/components/icons/replace.d.ts +3 -3
  174. package/dist/components/icons/save.d.ts +3 -3
  175. package/dist/components/icons/search-status.d.ts +3 -3
  176. package/dist/components/icons/search.d.ts +3 -3
  177. package/dist/components/icons/settings-fallback.d.ts +3 -3
  178. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  179. package/dist/components/icons/stacked-layer.d.ts +3 -3
  180. package/dist/components/icons/start-filled.d.ts +3 -3
  181. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  182. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  183. package/dist/components/icons/tick-circle.d.ts +3 -3
  184. package/dist/components/icons/tick-octagon.d.ts +3 -3
  185. package/dist/components/icons/tick.d.ts +3 -3
  186. package/dist/components/icons/toggle-switch.d.ts +3 -3
  187. package/dist/components/icons/trash.d.ts +3 -3
  188. package/dist/components/icons/wave.d.ts +3 -3
  189. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  190. package/dist/components/icons/work-centre.d.ts +3 -3
  191. package/dist/components/index.esm.js +10 -10
  192. package/dist/components/index.js +10 -10
  193. package/dist/components/location-select.d.ts +1 -1
  194. package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
  195. package/dist/components/material-table/material-table.d.ts +1 -1
  196. package/dist/components/phone-input/phone-input.d.ts +1 -1
  197. package/dist/components/providers/ERPUIProvider.d.ts +1 -0
  198. package/dist/components/radio/radio.d.ts +1 -1
  199. package/dist/components/select/select.d.ts +1 -1
  200. package/dist/components/switches/android-12-switch.d.ts +3 -1
  201. package/dist/components/text-field/text-field.d.ts +1 -1
  202. package/dist/components/time-picker/time-picker.d.ts +1 -1
  203. package/dist/components/upload-media/upload-media.d.ts +1 -1
  204. package/dist/contexts/AuthContext.d.ts +1 -0
  205. package/dist/contexts/index.esm.js +3 -3
  206. package/dist/contexts/index.js +3 -3
  207. package/dist/hooks/index.esm.js +5 -5
  208. package/dist/hooks/index.js +5 -5
  209. package/dist/index.esm.js +24 -24
  210. package/dist/index.js +24 -24
  211. package/dist/layout/index.esm.js +2 -2
  212. package/dist/layout/index.js +2 -2
  213. package/dist/redux/index.esm.js +4 -4
  214. package/dist/redux/index.js +4 -4
  215. package/dist/src/components/accordion/accordion.d.ts +1 -1
  216. package/dist/src/components/action-bar/action-bar.d.ts +1 -1
  217. package/dist/src/components/checkbox/checkbox.d.ts +1 -1
  218. package/dist/src/components/date-picker/date-picker.d.ts +1 -1
  219. package/dist/src/components/footer/footer.d.ts +1 -1
  220. package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  221. package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  222. package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  223. package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  224. package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  225. package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
  226. package/dist/src/components/icons/action-arrow.d.ts +3 -3
  227. package/dist/src/components/icons/add-circle.d.ts +3 -3
  228. package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
  229. package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
  230. package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
  231. package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
  232. package/dist/src/components/icons/arrow-down.d.ts +3 -3
  233. package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
  234. package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
  235. package/dist/src/components/icons/arrow-up.d.ts +3 -3
  236. package/dist/src/components/icons/assignments.d.ts +3 -3
  237. package/dist/src/components/icons/blank-circle.d.ts +3 -3
  238. package/dist/src/components/icons/block-filled.d.ts +3 -3
  239. package/dist/src/components/icons/calendar-add.d.ts +3 -3
  240. package/dist/src/components/icons/calendar.d.ts +3 -3
  241. package/dist/src/components/icons/checkbox-square.d.ts +3 -3
  242. package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
  243. package/dist/src/components/icons/clock.d.ts +3 -3
  244. package/dist/src/components/icons/close.d.ts +3 -3
  245. package/dist/src/components/icons/coin-outline.d.ts +3 -3
  246. package/dist/src/components/icons/copy.d.ts +3 -3
  247. package/dist/src/components/icons/coupon.d.ts +3 -3
  248. package/dist/src/components/icons/cross-hire.d.ts +3 -3
  249. package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
  250. package/dist/src/components/icons/dashboard.d.ts +3 -3
  251. package/dist/src/components/icons/document-download.d.ts +3 -3
  252. package/dist/src/components/icons/document.d.ts +3 -3
  253. package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
  254. package/dist/src/components/icons/dollar-circle.d.ts +3 -3
  255. package/dist/src/components/icons/edit.d.ts +3 -3
  256. package/dist/src/components/icons/email.d.ts +3 -3
  257. package/dist/src/components/icons/export.d.ts +3 -3
  258. package/dist/src/components/icons/eye-off.d.ts +3 -3
  259. package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
  260. package/dist/src/components/icons/eye.d.ts +3 -3
  261. package/dist/src/components/icons/filled-circle.d.ts +3 -3
  262. package/dist/src/components/icons/filter-remove.d.ts +3 -3
  263. package/dist/src/components/icons/filter.d.ts +3 -3
  264. package/dist/src/components/icons/folder-save.d.ts +3 -3
  265. package/dist/src/components/icons/grid.d.ts +3 -3
  266. package/dist/src/components/icons/hashtag.d.ts +3 -3
  267. package/dist/src/components/icons/image.d.ts +3 -3
  268. package/dist/src/components/icons/import.d.ts +3 -3
  269. package/dist/src/components/icons/info-circle.d.ts +3 -3
  270. package/dist/src/components/icons/info.d.ts +3 -3
  271. package/dist/src/components/icons/link-horizontal.d.ts +3 -3
  272. package/dist/src/components/icons/link.d.ts +3 -3
  273. package/dist/src/components/icons/location.d.ts +3 -3
  274. package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
  275. package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
  276. package/dist/src/components/icons/lowest-price.d.ts +3 -3
  277. package/dist/src/components/icons/more.d.ts +3 -3
  278. package/dist/src/components/icons/notification.d.ts +3 -3
  279. package/dist/src/components/icons/paper-clip.d.ts +3 -3
  280. package/dist/src/components/icons/paragraph.d.ts +3 -3
  281. package/dist/src/components/icons/payment-request.d.ts +3 -3
  282. package/dist/src/components/icons/phone.d.ts +3 -3
  283. package/dist/src/components/icons/printer.d.ts +3 -3
  284. package/dist/src/components/icons/process-calendar.d.ts +3 -3
  285. package/dist/src/components/icons/promotion.d.ts +3 -3
  286. package/dist/src/components/icons/radio-button.d.ts +3 -3
  287. package/dist/src/components/icons/receipt-filled.d.ts +3 -3
  288. package/dist/src/components/icons/receipt-outline.d.ts +3 -3
  289. package/dist/src/components/icons/receipt.d.ts +3 -3
  290. package/dist/src/components/icons/refresh-icon.d.ts +3 -3
  291. package/dist/src/components/icons/replace.d.ts +3 -3
  292. package/dist/src/components/icons/save.d.ts +3 -3
  293. package/dist/src/components/icons/search-status.d.ts +3 -3
  294. package/dist/src/components/icons/search.d.ts +3 -3
  295. package/dist/src/components/icons/settings-fallback.d.ts +3 -3
  296. package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
  297. package/dist/src/components/icons/stacked-layer.d.ts +3 -3
  298. package/dist/src/components/icons/start-filled.d.ts +3 -3
  299. package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
  300. package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
  301. package/dist/src/components/icons/tick-circle.d.ts +3 -3
  302. package/dist/src/components/icons/tick-octagon.d.ts +3 -3
  303. package/dist/src/components/icons/tick.d.ts +3 -3
  304. package/dist/src/components/icons/toggle-switch.d.ts +3 -3
  305. package/dist/src/components/icons/trash.d.ts +3 -3
  306. package/dist/src/components/icons/wave.d.ts +3 -3
  307. package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
  308. package/dist/src/components/icons/work-centre.d.ts +3 -3
  309. package/dist/src/components/location-select.d.ts +1 -1
  310. package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
  311. package/dist/src/components/material-table/material-table.d.ts +1 -1
  312. package/dist/src/components/phone-input/phone-input.d.ts +1 -1
  313. package/dist/src/components/providers/ERPUIProvider.d.ts +1 -0
  314. package/dist/src/components/radio/radio.d.ts +1 -1
  315. package/dist/src/components/select/select.d.ts +1 -1
  316. package/dist/src/components/switches/android-12-switch.d.ts +3 -1
  317. package/dist/src/components/text-field/text-field.d.ts +1 -1
  318. package/dist/src/components/time-picker/time-picker.d.ts +1 -1
  319. package/dist/src/components/upload-media/upload-media.d.ts +1 -1
  320. package/dist/src/contexts/AuthContext.d.ts +1 -0
  321. package/dist/src/utils/common-utility.d.ts +2 -2
  322. package/dist/utils/common-utility.d.ts +2 -2
  323. package/dist/utils/index.esm.js +7 -7
  324. package/dist/utils/index.js +6 -6
  325. package/dist/views/index.esm.js +8 -8
  326. package/dist/views/index.js +7 -7
  327. package/package.json +4 -3
  328. package/dist/chunks/ERPUIProvider-BPpcQgND.js.map +0 -1
  329. package/dist/chunks/useAuth-DnwuL4k3.esm.js.map +0 -1
  330. package/dist/chunks/useAuth-DtiC6c_b.js.map +0 -1
@@ -2,10 +2,10 @@
2
2
  const _ = require("lodash");
3
3
  const React = require("react");
4
4
  const reactRouterDom = require("react-router-dom");
5
- const pageContext = require("./page-context-_AMJB_ty.js");
5
+ const pageContext = require("./page-context-Cg2MyCmD.js");
6
6
  const routePageMap = require("./route-page-map-BMisO6c3.js");
7
7
  const apiConfig = require("./api-config-DXwDMFn-.js");
8
- const common = require("./common-BtIKVrzA.js");
8
+ const common = require("./common-B1hGK8kQ.js");
9
9
  const api = require("./api-CrXXYiZ2.js");
10
10
  const notistack = require("notistack");
11
11
  const jsxRuntime = require("./jsx-runtime-B6vEU3CM.js");
@@ -383,4 +383,4 @@ exports.useLocationFilter = useLocationFilter;
383
383
  exports.useMultipleLocationFilters = useMultipleLocationFilters;
384
384
  exports.usePages = usePages;
385
385
  exports.usePermissions = usePermissions;
386
- //# sourceMappingURL=checkbox-Jgx2gkFF.js.map
386
+ //# sourceMappingURL=checkbox-DNW1SYc0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-Jgx2gkFF.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["useRef","useContext","PermissionsContext","PageContext","useLocation","routeToResourceMap","useEffect","useMemo","_a","useSnackbar","useState","useCallback","isApiConfigInitialized","getApiConfig","setBaseUrl","onApiConfigReady","data","getV1SettingsConfigurations","getToken","styled","MUICheckbox","memo","jsx","RecgtangleIcon","CheckBoxIcon"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-DNW1SYc0.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["useRef","useContext","PermissionsContext","PageContext","useLocation","routeToResourceMap","useEffect","useMemo","_a","useSnackbar","useState","useCallback","isApiConfigInitialized","getApiConfig","setBaseUrl","onApiConfigReady","data","getV1SettingsConfigurations","getToken","styled","MUICheckbox","memo","jsx","RecgtangleIcon","CheckBoxIcon"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import _ from "lodash";
2
2
  import { useRef, useContext, useEffect, useMemo, useState, useCallback, memo } from "react";
3
3
  import { useLocation } from "react-router-dom";
4
- import { b as PermissionsContext, P as PageContext } from "./page-context-C_YWMVhh.esm.js";
4
+ import { b as PermissionsContext, P as PageContext } from "./page-context-DfmpUWuf.esm.js";
5
5
  import { b1 as routeToResourceMap } from "./route-page-map-CwkJKqEq.esm.js";
6
6
  import { c as isApiConfigInitialized, g as getApiConfig, o as onApiConfigReady } from "./api-config-GOys-syK.esm.js";
7
- import { at as getToken } from "./common-D8YIf-p0.esm.js";
7
+ import { at as getToken } from "./common-BVfS06ca.esm.js";
8
8
  import { B as getV1SettingsConfigurations, C as setBaseUrl } from "./api-z4kM0HGD.esm.js";
9
9
  import { useSnackbar } from "notistack";
10
10
  import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
@@ -384,4 +384,4 @@ export {
384
384
  initializeApiBaseUrls as i,
385
385
  useAccountingSetting as u
386
386
  };
387
- //# sourceMappingURL=checkbox-C5oERyEy.esm.js.map
387
+ //# sourceMappingURL=checkbox-Vd4h25n2.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-C5oERyEy.esm.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["_a","data","MUICheckbox","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-Vd4h25n2.esm.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["_a","data","MUICheckbox","jsx"],"mappings":"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"}
@@ -2696,8 +2696,6 @@ const formatAmount = (amount = "", format = "", position = "before", symbol, fra
2696
2696
  if (isNaN(amount)) return "";
2697
2697
  }
2698
2698
  const f = fraction ?? getDefaultFraction();
2699
- console.log("🚀 ~ formatAmount ~ getDefaultFraction():", getDefaultFraction());
2700
- console.log("🚀 ~ formatAmount ~ f :", f);
2701
2699
  const num = parseFloat(amount.toFixed(f));
2702
2700
  let formatter;
2703
2701
  switch (format) {
@@ -4208,11 +4206,29 @@ const getDefaultUserData = () => {
4208
4206
  return userData;
4209
4207
  };
4210
4208
  const getDefaultFraction = () => {
4211
- var _a, _b;
4212
4209
  const userData = getDefaultUserData();
4213
- const fractionUnit = (_a = userData == null ? void 0 : userData.currency_data) == null ? void 0 : _a.fraction_unit;
4214
- console.log("🚀 ~ getDefaultFraction ~ userData?.currency_data:", userData == null ? void 0 : userData.currency_data);
4215
- console.log("🚀 ~ getDefaultFraction ~ userData?.currency_data?.fraction_unit:", (_b = userData == null ? void 0 : userData.currency_data) == null ? void 0 : _b.fraction_unit);
4210
+ const currencyData = userData == null ? void 0 : userData.currency_data;
4211
+ console.log("🚀 ~ getDefaultFraction ~ userData?.currency_data:", userData == null ? void 0 : userData.currency_data);
4212
+ console.log("🚀 ~ getDefaultFraction ~ currencyData:", currencyData);
4213
+ try {
4214
+ const mapRaw = localStorage.getItem("_module_fraction_map");
4215
+ if (mapRaw && currencyData) {
4216
+ const map = JSON.parse(mapRaw);
4217
+ const pathname = window.location.pathname;
4218
+ for (const moduleName of Object.keys(map)) {
4219
+ if (pathname.includes(`/dashboard/${moduleName}`)) {
4220
+ const fieldName = map[moduleName];
4221
+ const value = currencyData[fieldName];
4222
+ if (value != null) {
4223
+ return Number(value);
4224
+ }
4225
+ break;
4226
+ }
4227
+ }
4228
+ }
4229
+ } catch {
4230
+ }
4231
+ const fractionUnit = currencyData == null ? void 0 : currencyData.fraction_unit;
4216
4232
  return Number(fractionUnit ?? 2);
4217
4233
  };
4218
4234
  const getAccessibleModules = (moduleNames = []) => {
@@ -4701,4 +4717,4 @@ exports.updateFieldsDisabledState = updateFieldsDisabledState;
4701
4717
  exports.uploadAttachments = uploadAttachments;
4702
4718
  exports.uploadFiles = uploadFiles;
4703
4719
  exports.validateDiscountValidity = validateDiscountValidity;
4704
- //# sourceMappingURL=common-BtIKVrzA.js.map
4720
+ //# sourceMappingURL=common-B1hGK8kQ.js.map