@erpsquad/common 1.10.74 → 1.10.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{ERPUIProvider-Ce7EhOa_.js → ERPUIProvider-CUwFzQDS.js} +8 -8
- package/dist/chunks/{ERPUIProvider-Ce7EhOa_.js.map → ERPUIProvider-CUwFzQDS.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-CmmabhgQ.esm.js → ERPUIProvider-CjIWXAFQ.esm.js} +8 -8
- package/dist/chunks/{ERPUIProvider-CmmabhgQ.esm.js.map → ERPUIProvider-CjIWXAFQ.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-DqVmiGzl.js → actionCreator-B-xXGO_F.js} +2 -2
- package/dist/chunks/{actionCreator-DqVmiGzl.js.map → actionCreator-B-xXGO_F.js.map} +1 -1
- package/dist/chunks/{actionCreator-Cy_J6Xfp.esm.js → actionCreator-CWeYbk0a.esm.js} +2 -2
- package/dist/chunks/{actionCreator-Cy_J6Xfp.esm.js.map → actionCreator-CWeYbk0a.esm.js.map} +1 -1
- package/dist/chunks/{android-12-switch-CXEiaZf0.js → android-12-switch-BwWhufNY.js} +14 -16
- package/dist/chunks/{android-12-switch-CXEiaZf0.js.map → android-12-switch-BwWhufNY.js.map} +1 -1
- package/dist/chunks/{android-12-switch-DOruO2DA.esm.js → android-12-switch-CqzSpWic.esm.js} +13 -15
- package/dist/chunks/{android-12-switch-DOruO2DA.esm.js.map → android-12-switch-CqzSpWic.esm.js.map} +1 -1
- package/dist/chunks/{appbar-ByiY9Ehc.esm.js → appbar-BHhB-1U-.esm.js} +105 -6
- package/dist/chunks/appbar-BHhB-1U-.esm.js.map +1 -0
- package/dist/chunks/{appbar-Cht2DM8y.js → appbar-NZcZPNzx.js} +105 -6
- package/dist/chunks/appbar-NZcZPNzx.js.map +1 -0
- package/dist/chunks/{checkbox-DNW1SYc0.js → checkbox-CKG0IzuP.js} +3 -3
- package/dist/chunks/{checkbox-DNW1SYc0.js.map → checkbox-CKG0IzuP.js.map} +1 -1
- package/dist/chunks/{checkbox-Vd4h25n2.esm.js → checkbox-DdtsMxO8.esm.js} +3 -3
- package/dist/chunks/{checkbox-Vd4h25n2.esm.js.map → checkbox-DdtsMxO8.esm.js.map} +1 -1
- package/dist/chunks/{common-B1hGK8kQ.js → common-CbkoxxEu.js} +23 -9
- package/dist/chunks/{common-B1hGK8kQ.js.map → common-CbkoxxEu.js.map} +1 -1
- package/dist/chunks/{common-BVfS06ca.esm.js → common-r5LBzRrd.esm.js} +23 -9
- package/dist/chunks/{common-BVfS06ca.esm.js.map → common-r5LBzRrd.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-e50eHmKt.esm.js → custom-editor-C7xbAktX.esm.js} +2 -2
- package/dist/chunks/{custom-editor-e50eHmKt.esm.js.map → custom-editor-C7xbAktX.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-iUZb8s2v.js → custom-editor-DPF1mYl4.js} +2 -2
- package/dist/chunks/{custom-editor-iUZb8s2v.js.map → custom-editor-DPF1mYl4.js.map} +1 -1
- package/dist/chunks/{default-data-AYPWIApH.js → default-data-CL2V5IF-.js} +14 -14
- package/dist/chunks/{default-data-AYPWIApH.js.map → default-data-CL2V5IF-.js.map} +1 -1
- package/dist/chunks/{default-data-BJi3OcW1.esm.js → default-data-CewDRdY9.esm.js} +14 -14
- package/dist/chunks/{default-data-BJi3OcW1.esm.js.map → default-data-CewDRdY9.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-conversion-DrA9C0NQ.esm.js → form-builder-conversion-5PObjQmo.esm.js} +2 -2
- package/dist/chunks/{form-builder-conversion-DrA9C0NQ.esm.js.map → form-builder-conversion-5PObjQmo.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-conversion-BcJXOpRp.js → form-builder-conversion-CZUD_4rn.js} +2 -2
- package/dist/chunks/{form-builder-conversion-BcJXOpRp.js.map → form-builder-conversion-CZUD_4rn.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-BmHlW07j.js → form-builder-deconversion-Bgk1q6Fa.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-BmHlW07j.js.map → form-builder-deconversion-Bgk1q6Fa.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-1hYI2jWw.esm.js → form-builder-deconversion-ELcu8H0N.esm.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-1hYI2jWw.esm.js.map → form-builder-deconversion-ELcu8H0N.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-BT9r6A8F.esm.js → fullScreen-7u2dFYMi.esm.js} +2 -2
- package/dist/chunks/{fullScreen-BT9r6A8F.esm.js.map → fullScreen-7u2dFYMi.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-C1yKeusg.js → fullScreen-BjtERQfx.js} +2 -2
- package/dist/chunks/{fullScreen-C1yKeusg.js.map → fullScreen-BjtERQfx.js.map} +1 -1
- package/dist/chunks/{languageContext-DfIURMbF.esm.js → languageContext-BDBjPlEp.esm.js} +3 -3
- package/dist/chunks/{languageContext-DfIURMbF.esm.js.map → languageContext-BDBjPlEp.esm.js.map} +1 -1
- package/dist/chunks/{languageContext-CANlRoA0.js → languageContext-D5aFHu92.js} +3 -3
- package/dist/chunks/{languageContext-CANlRoA0.js.map → languageContext-D5aFHu92.js.map} +1 -1
- package/dist/chunks/{migration-utils-Dc_6VdeJ.js → migration-utils-CKsbzmGE.js} +2 -2
- package/dist/chunks/{migration-utils-Dc_6VdeJ.js.map → migration-utils-CKsbzmGE.js.map} +1 -1
- package/dist/chunks/{migration-utils-D4OMb4fL.esm.js → migration-utils-DLHDD2HQ.esm.js} +2 -2
- package/dist/chunks/{migration-utils-D4OMb4fL.esm.js.map → migration-utils-DLHDD2HQ.esm.js.map} +1 -1
- package/dist/chunks/{page-context-DfmpUWuf.esm.js → page-context-Cvdc6oCn.esm.js} +3 -3
- package/dist/chunks/{page-context-DfmpUWuf.esm.js.map → page-context-Cvdc6oCn.esm.js.map} +1 -1
- package/dist/chunks/{page-context-Cg2MyCmD.js → page-context-DbmNiYCW.js} +3 -3
- package/dist/chunks/{page-context-Cg2MyCmD.js.map → page-context-DbmNiYCW.js.map} +1 -1
- package/dist/chunks/{radio-button-BYtmY0l-.js → radio-button-Bxl9UISl.js} +1 -18
- package/dist/chunks/radio-button-Bxl9UISl.js.map +1 -0
- package/dist/chunks/{radio-button-wgwiOmaZ.esm.js → radio-button-mbPNQ3rc.esm.js} +16 -33
- package/dist/chunks/radio-button-mbPNQ3rc.esm.js.map +1 -0
- package/dist/chunks/{reducer-C0cHDjmv.esm.js → reducer-B-83-Uuu.esm.js} +2 -2
- package/dist/chunks/{reducer-C0cHDjmv.esm.js.map → reducer-B-83-Uuu.esm.js.map} +1 -1
- package/dist/chunks/{reducer-BuEwR2fM.js → reducer-dJC7462F.js} +2 -2
- package/dist/chunks/{reducer-BuEwR2fM.js.map → reducer-dJC7462F.js.map} +1 -1
- package/dist/chunks/{shareSlice-BHlSQRKw.js → shareSlice-CLJDkmkc.js} +2 -2
- package/dist/chunks/{shareSlice-BHlSQRKw.js.map → shareSlice-CLJDkmkc.js.map} +1 -1
- package/dist/chunks/{shareSlice-DvnaG9GO.esm.js → shareSlice-bLbaaebU.esm.js} +2 -2
- package/dist/chunks/{shareSlice-DvnaG9GO.esm.js.map → shareSlice-bLbaaebU.esm.js.map} +1 -1
- package/dist/chunks/{sidebar-CwqNppLF.js → sidebar-DjLVz3cn.js} +5 -5
- package/dist/chunks/{sidebar-CwqNppLF.js.map → sidebar-DjLVz3cn.js.map} +1 -1
- package/dist/chunks/{sidebar-CG90JVRA.esm.js → sidebar-Dvkxcr0w.esm.js} +5 -5
- package/dist/chunks/{sidebar-CG90JVRA.esm.js.map → sidebar-Dvkxcr0w.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DVwqG-Hi.js → sidebarScreen-CAcPjFlR.js} +5 -5
- package/dist/chunks/{sidebarScreen-DVwqG-Hi.js.map → sidebarScreen-CAcPjFlR.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-C3OHGWsn.esm.js → sidebarScreen-LBfnbAnh.esm.js} +5 -5
- package/dist/chunks/{sidebarScreen-C3OHGWsn.esm.js.map → sidebarScreen-LBfnbAnh.esm.js.map} +1 -1
- package/dist/chunks/{store-giqheYvw.esm.js → store-Bs2TLIwy.esm.js} +3 -3
- package/dist/chunks/{store-giqheYvw.esm.js.map → store-Bs2TLIwy.esm.js.map} +1 -1
- package/dist/chunks/{store-6mckWhh4.js → store-pSoHSTnK.js} +3 -3
- package/dist/chunks/{store-6mckWhh4.js.map → store-pSoHSTnK.js.map} +1 -1
- package/dist/chunks/{tick-B4IAsV4W.js → tick-COMAwRR1.js} +18 -1
- package/dist/chunks/tick-COMAwRR1.js.map +1 -0
- package/dist/chunks/{tick-DUuDXLjB.esm.js → tick-DaxkNl7E.esm.js} +18 -1
- package/dist/chunks/tick-DaxkNl7E.esm.js.map +1 -0
- package/dist/chunks/{translations-vAZ7RIc7.js → translations-B6NX87Xk.js} +2 -2
- package/dist/chunks/{translations-vAZ7RIc7.js.map → translations-B6NX87Xk.js.map} +1 -1
- package/dist/chunks/{translations-DiE6kTBI.esm.js → translations-Da-xM_ve.esm.js} +2 -2
- package/dist/chunks/{translations-DiE6kTBI.esm.js.map → translations-Da-xM_ve.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DHhz5pod.js → uom-field-wrapper-B90Jdtz1.js} +87 -30
- package/dist/chunks/uom-field-wrapper-B90Jdtz1.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-DalNHR65.esm.js → uom-field-wrapper-DGM5Po80.esm.js} +86 -29
- package/dist/chunks/uom-field-wrapper-DGM5Po80.esm.js.map +1 -0
- package/dist/chunks/{useAddressContact-VUXo0xxq.esm.js → useAddressContact-COPal7kl.esm.js} +6 -6
- package/dist/chunks/{useAddressContact-VUXo0xxq.esm.js.map → useAddressContact-COPal7kl.esm.js.map} +1 -1
- package/dist/chunks/{useAddressContact-3jZsdmGS.js → useAddressContact-Df1RW91F.js} +6 -6
- package/dist/chunks/{useAddressContact-3jZsdmGS.js.map → useAddressContact-Df1RW91F.js.map} +1 -1
- package/dist/chunks/{useAuth-BNR7N60-.js → useAuth-PKEPSrPi.js} +2 -2
- package/dist/chunks/{useAuth-BNR7N60-.js.map → useAuth-PKEPSrPi.js.map} +1 -1
- package/dist/chunks/{useAuth-b1FMAFmO.esm.js → useAuth-rLGEr4kR.esm.js} +2 -2
- package/dist/chunks/{useAuth-b1FMAFmO.esm.js.map → useAuth-rLGEr4kR.esm.js.map} +1 -1
- package/dist/chunks/{useLangauge-dxTIlPe-.esm.js → useLangauge-DM-_vu9I.esm.js} +2 -2
- package/dist/chunks/{useLangauge-dxTIlPe-.esm.js.map → useLangauge-DM-_vu9I.esm.js.map} +1 -1
- package/dist/chunks/{useLangauge-DsEM05Ll.js → useLangauge-DTmhopi3.js} +2 -2
- package/dist/chunks/{useLangauge-DsEM05Ll.js.map → useLangauge-DTmhopi3.js.map} +1 -1
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/action-bar/action-bar.d.ts +1 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/date-picker/date-picker.d.ts +1 -1
- package/dist/components/footer/footer.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/components/header/components/index.d.ts +1 -0
- package/dist/components/header/components/language-switch/index.d.ts +2 -0
- package/dist/components/header/components/language-switch/language-switch.d.ts +2 -0
- package/dist/components/icons/action-arrow.d.ts +3 -3
- package/dist/components/icons/add-circle.d.ts +3 -3
- package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/components/icons/arrow-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/components/icons/arrow-up.d.ts +3 -3
- package/dist/components/icons/assignments.d.ts +3 -3
- package/dist/components/icons/blank-circle.d.ts +3 -3
- package/dist/components/icons/block-filled.d.ts +3 -3
- package/dist/components/icons/calendar-add.d.ts +3 -3
- package/dist/components/icons/calendar.d.ts +3 -3
- package/dist/components/icons/checkbox-square.d.ts +3 -3
- package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/components/icons/clock.d.ts +3 -3
- package/dist/components/icons/close.d.ts +3 -3
- package/dist/components/icons/coin-outline.d.ts +3 -3
- package/dist/components/icons/copy.d.ts +3 -3
- package/dist/components/icons/coupon.d.ts +3 -3
- package/dist/components/icons/cross-hire.d.ts +3 -3
- package/dist/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/components/icons/dashboard.d.ts +3 -3
- package/dist/components/icons/document-download.d.ts +3 -3
- package/dist/components/icons/document.d.ts +3 -3
- package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/components/icons/dollar-circle.d.ts +3 -3
- package/dist/components/icons/edit.d.ts +3 -3
- package/dist/components/icons/email.d.ts +3 -3
- package/dist/components/icons/export.d.ts +3 -3
- package/dist/components/icons/eye-off.d.ts +3 -3
- package/dist/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/components/icons/eye.d.ts +3 -3
- package/dist/components/icons/filled-circle.d.ts +3 -3
- package/dist/components/icons/filter-remove.d.ts +3 -3
- package/dist/components/icons/filter.d.ts +3 -3
- package/dist/components/icons/folder-save.d.ts +3 -3
- package/dist/components/icons/grid.d.ts +3 -3
- package/dist/components/icons/hashtag.d.ts +3 -3
- package/dist/components/icons/image.d.ts +3 -3
- package/dist/components/icons/import.d.ts +3 -3
- package/dist/components/icons/info-circle.d.ts +3 -3
- package/dist/components/icons/info.d.ts +3 -3
- package/dist/components/icons/link-horizontal.d.ts +3 -3
- package/dist/components/icons/link.d.ts +3 -3
- package/dist/components/icons/location.d.ts +3 -3
- package/dist/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/components/icons/lowest-price.d.ts +3 -3
- package/dist/components/icons/more.d.ts +3 -3
- package/dist/components/icons/notification.d.ts +3 -3
- package/dist/components/icons/paper-clip.d.ts +3 -3
- package/dist/components/icons/paragraph.d.ts +3 -3
- package/dist/components/icons/payment-request.d.ts +3 -3
- package/dist/components/icons/phone.d.ts +3 -3
- package/dist/components/icons/printer.d.ts +3 -3
- package/dist/components/icons/process-calendar.d.ts +3 -3
- package/dist/components/icons/promotion.d.ts +3 -3
- package/dist/components/icons/radio-button.d.ts +3 -3
- package/dist/components/icons/receipt-filled.d.ts +3 -3
- package/dist/components/icons/receipt-outline.d.ts +3 -3
- package/dist/components/icons/receipt.d.ts +3 -3
- package/dist/components/icons/refresh-icon.d.ts +3 -3
- package/dist/components/icons/replace.d.ts +3 -3
- package/dist/components/icons/save.d.ts +3 -3
- package/dist/components/icons/search-status.d.ts +3 -3
- package/dist/components/icons/search.d.ts +3 -3
- package/dist/components/icons/settings-fallback.d.ts +3 -3
- package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/components/icons/stacked-layer.d.ts +3 -3
- package/dist/components/icons/start-filled.d.ts +3 -3
- package/dist/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/components/icons/tick-circle.d.ts +3 -3
- package/dist/components/icons/tick-octagon.d.ts +3 -3
- package/dist/components/icons/tick.d.ts +3 -3
- package/dist/components/icons/toggle-switch.d.ts +3 -3
- package/dist/components/icons/trash.d.ts +3 -3
- package/dist/components/icons/wave.d.ts +3 -3
- package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/components/icons/work-centre.d.ts +3 -3
- package/dist/components/index.esm.js +34 -34
- package/dist/components/index.js +18 -18
- package/dist/components/location-select.d.ts +1 -1
- package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/components/material-table/material-table.d.ts +1 -1
- package/dist/components/phone-input/phone-input.d.ts +1 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/switches/android-12-switch.d.ts +1 -3
- package/dist/components/text-field/text-field.d.ts +1 -1
- package/dist/components/time-picker/time-picker.d.ts +1 -1
- package/dist/components/upload-media/upload-media.d.ts +1 -1
- package/dist/contexts/index.esm.js +3 -3
- package/dist/contexts/index.js +3 -3
- package/dist/hooks/index.esm.js +5 -5
- package/dist/hooks/index.js +5 -5
- package/dist/icons/index.esm.js +26 -26
- package/dist/icons/index.js +8 -8
- package/dist/index.esm.js +58 -58
- package/dist/index.js +32 -32
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/redux/index.esm.js +4 -4
- package/dist/redux/index.js +4 -4
- package/dist/src/components/accordion/accordion.d.ts +1 -1
- package/dist/src/components/action-bar/action-bar.d.ts +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/date-picker/date-picker.d.ts +1 -1
- package/dist/src/components/footer/footer.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/src/components/header/components/index.d.ts +1 -0
- package/dist/src/components/header/components/language-switch/index.d.ts +2 -0
- package/dist/src/components/header/components/language-switch/language-switch.d.ts +2 -0
- package/dist/src/components/icons/action-arrow.d.ts +3 -3
- package/dist/src/components/icons/add-circle.d.ts +3 -3
- package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/src/components/icons/arrow-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/src/components/icons/arrow-up.d.ts +3 -3
- package/dist/src/components/icons/assignments.d.ts +3 -3
- package/dist/src/components/icons/blank-circle.d.ts +3 -3
- package/dist/src/components/icons/block-filled.d.ts +3 -3
- package/dist/src/components/icons/calendar-add.d.ts +3 -3
- package/dist/src/components/icons/calendar.d.ts +3 -3
- package/dist/src/components/icons/checkbox-square.d.ts +3 -3
- package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/src/components/icons/clock.d.ts +3 -3
- package/dist/src/components/icons/close.d.ts +3 -3
- package/dist/src/components/icons/coin-outline.d.ts +3 -3
- package/dist/src/components/icons/copy.d.ts +3 -3
- package/dist/src/components/icons/coupon.d.ts +3 -3
- package/dist/src/components/icons/cross-hire.d.ts +3 -3
- package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/src/components/icons/dashboard.d.ts +3 -3
- package/dist/src/components/icons/document-download.d.ts +3 -3
- package/dist/src/components/icons/document.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle.d.ts +3 -3
- package/dist/src/components/icons/edit.d.ts +3 -3
- package/dist/src/components/icons/email.d.ts +3 -3
- package/dist/src/components/icons/export.d.ts +3 -3
- package/dist/src/components/icons/eye-off.d.ts +3 -3
- package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/src/components/icons/eye.d.ts +3 -3
- package/dist/src/components/icons/filled-circle.d.ts +3 -3
- package/dist/src/components/icons/filter-remove.d.ts +3 -3
- package/dist/src/components/icons/filter.d.ts +3 -3
- package/dist/src/components/icons/folder-save.d.ts +3 -3
- package/dist/src/components/icons/grid.d.ts +3 -3
- package/dist/src/components/icons/hashtag.d.ts +3 -3
- package/dist/src/components/icons/image.d.ts +3 -3
- package/dist/src/components/icons/import.d.ts +3 -3
- package/dist/src/components/icons/info-circle.d.ts +3 -3
- package/dist/src/components/icons/info.d.ts +3 -3
- package/dist/src/components/icons/link-horizontal.d.ts +3 -3
- package/dist/src/components/icons/link.d.ts +3 -3
- package/dist/src/components/icons/location.d.ts +3 -3
- package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/src/components/icons/lowest-price.d.ts +3 -3
- package/dist/src/components/icons/more.d.ts +3 -3
- package/dist/src/components/icons/notification.d.ts +3 -3
- package/dist/src/components/icons/paper-clip.d.ts +3 -3
- package/dist/src/components/icons/paragraph.d.ts +3 -3
- package/dist/src/components/icons/payment-request.d.ts +3 -3
- package/dist/src/components/icons/phone.d.ts +3 -3
- package/dist/src/components/icons/printer.d.ts +3 -3
- package/dist/src/components/icons/process-calendar.d.ts +3 -3
- package/dist/src/components/icons/promotion.d.ts +3 -3
- package/dist/src/components/icons/radio-button.d.ts +3 -3
- package/dist/src/components/icons/receipt-filled.d.ts +3 -3
- package/dist/src/components/icons/receipt-outline.d.ts +3 -3
- package/dist/src/components/icons/receipt.d.ts +3 -3
- package/dist/src/components/icons/refresh-icon.d.ts +3 -3
- package/dist/src/components/icons/replace.d.ts +3 -3
- package/dist/src/components/icons/save.d.ts +3 -3
- package/dist/src/components/icons/search-status.d.ts +3 -3
- package/dist/src/components/icons/search.d.ts +3 -3
- package/dist/src/components/icons/settings-fallback.d.ts +3 -3
- package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/src/components/icons/stacked-layer.d.ts +3 -3
- package/dist/src/components/icons/start-filled.d.ts +3 -3
- package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/tick-circle.d.ts +3 -3
- package/dist/src/components/icons/tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/tick.d.ts +3 -3
- package/dist/src/components/icons/toggle-switch.d.ts +3 -3
- package/dist/src/components/icons/trash.d.ts +3 -3
- package/dist/src/components/icons/wave.d.ts +3 -3
- package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/work-centre.d.ts +3 -3
- package/dist/src/components/location-select.d.ts +1 -1
- package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/src/components/material-table/material-table.d.ts +1 -1
- package/dist/src/components/phone-input/phone-input.d.ts +1 -1
- package/dist/src/components/radio/radio.d.ts +1 -1
- package/dist/src/components/select/select.d.ts +1 -1
- package/dist/src/components/switches/android-12-switch.d.ts +1 -3
- package/dist/src/components/text-field/text-field.d.ts +1 -1
- package/dist/src/components/time-picker/time-picker.d.ts +1 -1
- package/dist/src/components/upload-media/upload-media.d.ts +1 -1
- package/dist/src/utils/common-utility.d.ts +2 -2
- package/dist/style.css +43 -0
- package/dist/utils/common-utility.d.ts +2 -2
- package/dist/utils/index.esm.js +7 -7
- package/dist/utils/index.js +6 -6
- package/dist/views/index.esm.js +8 -8
- package/dist/views/index.js +7 -7
- package/package.json +1 -1
- package/dist/chunks/appbar-ByiY9Ehc.esm.js.map +0 -1
- package/dist/chunks/appbar-Cht2DM8y.js.map +0 -1
- package/dist/chunks/radio-button-BYtmY0l-.js.map +0 -1
- package/dist/chunks/radio-button-wgwiOmaZ.esm.js.map +0 -1
- package/dist/chunks/tick-B4IAsV4W.js.map +0 -1
- package/dist/chunks/tick-DUuDXLjB.esm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-DHhz5pod.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-DalNHR65.esm.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-
|
|
5
|
+
const pageContext = require("./page-context-DbmNiYCW.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-
|
|
8
|
+
const common = require("./common-CbkoxxEu.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-
|
|
386
|
+
//# sourceMappingURL=checkbox-CKG0IzuP.js.map
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;;;;;;;AAGA,SAAS,YAAe,OAAa;AACnC,QAAM,MAAMA,MAAAA,OAAA;AAEZ,MAAI,CAAC,EAAE,QAAQ,IAAI,SAAS,KAAK,GAAG;AAChC,QAAI,UAAU;AAAA,EAClB;AAEA,SAAO,IAAI;AACb;ACPO,MAAM,iBAAiB,MAA8B;AAC1D,QAAM,UAAUC,MAAAA,WAAWC,8BAAkB;AAE7C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAEA,SAAO;AACT;ACLA,SAAS,YAAY,KAAU,KAAa;AACxC,SAAO,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,KAAU,SAAiB,2BAAM,OAAO,GAAG;AAC7E;AAEO,MAAM,WAAW,CAAC,iBAA4C,OAAO;;AACxE,QAAM,UAAUD,MAAAA,WAAWE,uBAAW;AAEtC,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,6CAA6C;AAAA,EACjE;AAEA,MAAI,QAAQ,mBAAmB;AAC3B,YAAQ,kBAAkB,cAAc;AAAA,EAC5C;AAEA,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,cAAc,eAAA;AACpB,QAAM,2BAA2B,EAAE,GAAGC,aAAAA,oBAAoB,GAAG,QAAQ,yBAAA;AACrE,QAAM,iBAAgB,8BAAyB,SAAS,QAAQ,MAA1C,mBAA6C;AACnE,QAAM,UAAU,gBAAgB,YAAY,aAAa,aAAa,IAAI;AAC1E,QAAM,qBAA8B,mCAAS,sBAAqB,CAAA;AAElE,QAAM,eAAe,kBAAkB,SAAS,IAC1C,QAAQ,aAAa,OAAO,CAAC,MAAM,CAAC,kBAAkB,SAAS,EAAE,GAAG,CAAC,IACrE,QAAQ;AAEd,SAAO,EAAE,GAAG,SAAS,aAAA;AACzB;AC/BO,MAAM,oBAAoB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AACd,MAAM;AAGFC,QAAAA,UAAU,MAAM;AACZ,QAAI,YAAY,kBAAkB,qBAAqB,SAAS;AAC5D,eAAS,GAAG,cAAc,IAAI,iBAAiB,IAAI,UAAU;AAAA,IACjE;AAAA,EACJ,GAAG,CAAC,SAAS,UAAU,gBAAgB,mBAAmB,UAAU,CAAC;AAErE,QAAM,iBAAiBC,MAAAA,QAAQ,MAAM;AACjC,UAAM,YAAY,MAAM,QAAQ,eAAe,KAAK,mDAAiB,UAAS,kBAAkB,OAAS,mBAAmB;AAC5H,YAAQ,IAAI,uCAAuC,SAAS;AAE5D,QAAI,cAAc,MAAM;AACpB,aAAO,CAAA;AAAA,IACX;AAEA,WAAO;AAAA,MACH,CAAC,SAAS,GAAG;AAAA,IAAA;AAAA,EAErB,GAAG,CAAC,iBAAiB,SAAS,CAAC;AAE/B,SAAO;AACX;AAIO,MAAM,6BAA6B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAChB,MAAM;AACF,SAAOA,MAAAA,QAAQ,MAAM;AACjB,UAAM,aAAY,mDAAiB,UAAS,IAAI,kBAAkB;AAClE,YAAQ,IAAI,uCAAuC,SAAS;AAG5D,iBAAa,QAAQ,CAAC,EAAE,gBAAgB,wBAAwB;AAC5D,UAAI,YAAY,kBAAkB,mBAAmB;AACjD,iBAAS,GAAG,cAAc,IAAI,iBAAiB,IAAI,UAAU;AAAA,MACjE;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,MACH,CAAC,SAAS,GAAG;AAAA,IAAA;AAAA,EAErB,GAAG,CAAC,iBAAiB,UAAU,cAAc,YAAY,SAAS,CAAC;AACvE;AClCA,SAAS,UAAU;AAAA,EACf;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,iBAAiB;AAAA,EACjB;AACJ,GAOS;;AACL,QAAI,gCAAK,SAAL,mBAAW,mBAAkB,YAAY;AACzC,UAAM,gBAAgB,MAAM;;AACxB,UAAI;AACA,cAAM,QAAMC,MAAA,IAAI,UAAJ,gBAAAA,IAAW,cAAW,gCAAK,YAAL,mBAAc;AAChD,eAAO,MAAM,KAAK,MAAM,GAAG,IAAI;AAAA,MACnC,QAAQ;AACJ,eAAO,EAAE,WAAS,SAAI,UAAJ,mBAAW,cAAW,gCAAK,YAAL,mBAAc,YAAW,uBAAA;AAAA,MACrE;AAAA,IACJ,GAAA;AAEA,UAAM,WAAW,6CAAc;AAC/B,QAAI,UAAU;AAEd,QAAI,OAAO,aAAa,UAAU;AAC9B,gBAAU,SAAS,QAAQ,UAAU,EAAE,EAAE,KAAA;AAAA,IAC7C,WAAW,YAAY,OAAO,aAAa,UAAU;AACjD,gBAAW,SAAiB,WAAW,KAAK,UAAU,QAAQ;AAAA,IAClE,WAAW,UAAU;AACjB,gBAAU,OAAO,QAAQ;AAAA,IAC7B;AACA,YAAQ,IAAI,8BAA8B,QAAQ;AAElD,YAAQ,IAAI,+BAA+B,SAAS;AACpD,QAAI,aAAa,OAAO,oBAAoB,YAAY;AACpD,sBAAgB,SAAS,EAAE,SAAS,QAAA,CAAS;AAAA,IACjD;AAEA,QAAI,iBAAiB,OAAO,kBAAkB,YAAY;AACtD,oBAAc,OAAO;AAAA,IACzB;AACA;AAAA,EACJ;AAEA,MAAI,kBAAkB,OAAO,oBAAoB,YAAY;AACzD,oBAAgB,cAAc;AAAA,EAClC;AAEA,MAAI,YAAY,OAAO,aAAa,YAAY;AAC5C,aAAA;AAAA,EACJ;AACJ;AAEA,SAAwB,SAAS;AAC7B,QAAM,EAAE,gBAAA,IAAoBC,sBAAA;AAC5B,QAAM,CAAC,SAAS,UAAU,IAAIC,MAAAA,SAAS,KAAK;AAC5C,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,IAAI;AAEvC,QAAM,UAAUC,MAAAA,YAAY,OAAO;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA,MACG;AACf,QAAI,0BAA0B,IAAI;AAClC,iDAAe;AACf,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,QAAA;AAAA,IACrB,SAAS,KAAU;AACf,iBAAW;AAAA,QACP,MAAM,EAAE,eAAe,WAAA;AAAA,QACvB,OAAO,EAAE,UAAS,2BAAK,YAAW,uBAAA;AAAA,MAAuB;AAAA,IAEjE;AACA,QAAI,0BAA0B,KAAK;AAEnC,iDAAe;AACf;AAAA,MACI;AAAA,QACI,KAAK;AAAA,QACL,UAAU,MAAM;AACZ,iDAAY;AAAA,QAChB;AAAA,QACA,eAAe,CAAC,QAAQ;AACpB,6CAAU;AACV,mBAAS,gBAAgB,GAAG;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACJ;AAGJ,WAAO,EAAE,UAAU,MAAA;AAAA,EAEvB,GAAG,CAAC,eAAe,CAAC;AAEpB,SAAO,EAAE,SAAS,SAAS,MAAA;AAC/B;AC7GO,SAAS,wBAA8B;AAC1C,MAAI,CAACC,UAAAA,0BAA0B;AAC3B,YAAQ,KAAK,+FAA+F;AAC5G;AAAA,EACJ;AAEA,QAAM,SAASC,UAAAA,aAAA;AACf,QAAM,UAAU,OAAO;AAEvBC,MAAAA,aAAW,GAAG,OAAO,aAAa;AACtC;AAEAC,UAAAA,iBAAiB,CAAC,WAAW;AACzB,QAAM,UAAU,OAAO;AACvBD,MAAAA,aAAW,GAAG,OAAO,aAAa;AACtC,CAAC;AAGM,MAAM,sBAAsB,CAA8B;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,qBAAqB,CAAA;AAAA,EACrB;AAAA,EACA,kBAAkB;AACtB,MAAoC;;AAChC,QAAM,EAAE,QAAA,IAAY,OAAA;AAGpB,QAAM,CAAC,cAAc,eAAe,IAAIJ,MAAAA,SAG9B,IAAI;AACd,QAAM,cAAc,iBAAiB,GAAG,cAAc,IAAI,YAAY,KAAK;AAC3E,QAAM,eAAe,iBAAiB,GAAG,cAAc,IAAI,aAAa,KAAK;AAC7E,QAAM,iBAAiB,iBAAiB,GAAG,cAAc,IAAI,eAAe,KAAK;AACjF,QAAM,QAAO,+BAAQ,GAAG,cAAc,QAAO,CAAA;AAC7C,QAAM,kBAAiB,oDAAgB,iBAAhB,mBAA8B;AACrD,QAAM,mBAAkB,oDAAgB,kBAAhB,mBAA+B;AACvD,QAAM,qBAAoB,oDAAgB,oBAAhB,mBAAiC;AAC3D,QAAM,mBAAkB,6BAAO,kBAAiB;AAChD,QAAM,oBAAmB,6BAAO,mBAAkB;AAClD,QAAM,sBAAqB,6BAAO,qBAAoB;AACtDJ,QAAAA,UAAU,MAAM;AACZ,QAAI,SAAS,CAAC,cAAc;AACxB,YAAM,UAAU;AAAA,QACZ,CAAC,YAAY,GAAG;AAAA,QAChB,CAAC,aAAa,GAAG;AAAA,QACjB,CAAC,eAAe,GAAG;AAAA,MAAA;AAEvB,YAAM,SAA8B,CAAA;AACpC,aAAO,KAAK,aAAa,EAAE,QAAQ,CAAC,QAAQ;AACxC,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,eAAO,GAAG,IAAI,MAAM,IAAW;AAAA,MACnC,CAAC;AAED,sBAAgB,EAAE,SAAS,QAAQ;AAAA,IACvC;AAAA,EACJ,GAAG,CAAC,OAAO,iBAAiB,kBAAkB,oBAAoB,cAAc,aAAa,cAAc,gBAAgB,gBAAgB,iBAAiB,iBAAiB,CAAC;AAE9K,QAAM,eAAeK,MAAAA,YAAY,CAACK,OAAW,cAAuB,UAAU;AAC1E,QAAI,CAAC,YAAY,CAACA,MAAM;AAExB,UAAM,cAAc,oBAAoB,kBAAkBA,KAAI,IAAIA;AAClE,QAAI,CAAC,YAAa;AAElB,WAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,aAAa,WAAW,MAAW;AACvE,YAAM,cAAc,2CAAa,KAAK,CAAC,OAAW,uBAAG,gBAAe,OAAO,eAAe,WAAW,YAAY,MAAM;AACvH,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,WAAW,KAAK;AAGnE,YAAI,CAAC,aAAa;AACd,gBAAM,gBAAgB,+BAAQ;AAC9B,cAAI,kBAAkB,UAAa,kBAAkB,QAAQ,kBAAkB,IAAI;AAC/E;AAAA,UACJ;AAAA,QACJ;AAEA,YAAI,OAAO,eAAe,UAAU;AAChC,sBAAY,OAAM,2CAAa,kBAAgB,2CAAa,eAAc;AAAA,QAC9E,OAAO;AACH,mBAAS,OAAa,2CAAa,kBAAgB,2CAAa,eAAc;AAAA,QAClF;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL,GAAG,CAAC,UAAU,eAAe,mBAAmB,gBAAgB,OAAO,GAAG,kBAAkB,CAAC;AAI7F,QAAM,iBAAiBL,MAAAA,YAAY,YAAY;AAC3C,QAAI,CAAC,mBAAmB,CAAC,aAAc;AAEvC,UAAM,iBAAiB,CAAC,QAAa;AACjC,UAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,YAAI,IAAI,WAAW,EAAG,QAAO;AAC7B,cAAM,WAAW,IAAI,CAAC;AACtB,YAAI,YAAY,OAAO,aAAa,iBAAiB,SAAS,MAAM,SAAS,SAAS;AACtF,eAAO,YAAY;AAAA,MACvB;AACA,UAAI,OAAO,OAAO,QAAQ,iBAAiB,IAAI,MAAM,IAAI,SAAS;AAClE,aAAO,OAAO;AAAA,IAClB;AAEA,UAAM,YAAY,eAAe,eAAe;AAChD,UAAM,aAAa,eAAe,gBAAgB;AAClD,UAAM,eAAe,eAAe,kBAAkB;AAEtD,QAAI,CAAC,aAAa,CAAC,aAAc;AAEjC,UAAM,iBAAiB;AAAA,MACnB,WAAW,eAAe,aAAa,QAAQ,YAAY,CAAC;AAAA,MAC5D,YAAY,eAAe,aAAa,QAAQ,aAAa,CAAC;AAAA,MAC9D,cAAc,eAAe,aAAa,QAAQ,eAAe,CAAC;AAAA,IAAA;AAGtE,UAAM,kBACF,eAAe,cAAc,aAC7B,eAAe,eAAe,cAC9B,eAAe,iBAAiB;AAEpC,UAAM,sBAAsB,OAAO,KAAK,aAAa,EAAE,MAAM,CAAC,QAAQ;AAClE,YAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,YAAM,MAAM,+BAAQ;AACpB,aAAO,QAAQ,UAAa,QAAQ,QAAQ,QAAQ;AAAA,IACxD,CAAC;AAED,QAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,qBAAqB;AAC9D,aAAO,QAAQ,aAAa,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC1D,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,6CAAW,MAAa;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,UAAM,SAAS,kBAAkB,aAAa,CAAC,mBAAmB,cAAc,IAAI,qBAAqB,gBAAgB,IAAI;AAI7H,UAAM,sBAAsB,kBAAkB,mBAAmB;AACjE,UAAM,oBAAoB,kBACnB,mBAAmB,sBACpB;AAEN,YAAQ;AAAA,MACJ,SAAS,MAAMM,IAAAA,4BAA4B;AAAA,QACvC,GAAGC,gBAAA;AAAA,QACH,SAAS;AAAA,MAAA,CACZ;AAAA,MACD,WAAW,CAAC,QAAa;;AACrB,sBAAaV,MAAA,2BAAK,SAAL,gBAAAA,IAAW,oBAAoB,iBAAiB;AAAA,MACjE;AAAA,MACA,SAAS,CAAC,QAAQ;AACd,gBAAQ,MAAM,uCAAuC,GAAG;AAAA,MAC5D;AAAA,IAAA,CACH;AAAA,EACL,GAAG,CAAC,iBAAiB,kBAAkB,oBAAoB,cAAc,SAAS,UAAU,gBAAgB,iBAAiB,mBAAmB,eAAe,CAAC;AAEhKF,QAAAA,UAAU,MAAM;AACZ,mBAAA;AAAA,EACJ,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;AAEO,MAAM,uBAAuB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB;AAAA,EACA,qBAAqB,CAAA;AAAA,EACrB,GAAG;AACP,MAUM;AACF,QAAM,EAAE,UAAU,SAAS,OAAO,cAAA,IAAkB,eAAe,CAAA;AAEnE,SAAO,oBAAoB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACN;AACL;ACtOA,MAAM,iBAAiBa,SAAAA,OAAOC,iBAAW,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IACvE,SAAS;AAAA,IACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,IAChC,cAAc;AAAA,IACd,iBAAiB;AAAA,MAChB,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAC9B,WAAW;AAAA,QACV,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,IAClC;AAAA,IAED,kBAAkB;AAAA,MACjB,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,IAAG;AAAA,EAErC;AAAA,CAAE;AAEF,MAAM,WAAWC,MAAAA,KAAK,CAAC,UAAyB;AAC/C,SACCC,2BAAAA,kBAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAMA,2BAAAA,kBAAAA,IAACC,sBAAA,EAAe,WAAU,+BAAO,SAAQ,SAAS;AAAA,MACxD,aAAaD,2BAAAA,kBAAAA,IAACE,oBAAA,EAAa,WAAU,+BAAO,SAAQ,SAAS;AAAA,MAC7D,eAAa;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"checkbox-CKG0IzuP.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":";;;;;;;;;;;;;AAGA,SAAS,YAAe,OAAa;AACnC,QAAM,MAAMA,MAAAA,OAAA;AAEZ,MAAI,CAAC,EAAE,QAAQ,IAAI,SAAS,KAAK,GAAG;AAChC,QAAI,UAAU;AAAA,EAClB;AAEA,SAAO,IAAI;AACb;ACPO,MAAM,iBAAiB,MAA8B;AAC1D,QAAM,UAAUC,MAAAA,WAAWC,8BAAkB;AAE7C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAEA,SAAO;AACT;ACLA,SAAS,YAAY,KAAU,KAAa;AACxC,SAAO,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,KAAU,SAAiB,2BAAM,OAAO,GAAG;AAC7E;AAEO,MAAM,WAAW,CAAC,iBAA4C,OAAO;;AACxE,QAAM,UAAUD,MAAAA,WAAWE,uBAAW;AAEtC,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,6CAA6C;AAAA,EACjE;AAEA,MAAI,QAAQ,mBAAmB;AAC3B,YAAQ,kBAAkB,cAAc;AAAA,EAC5C;AAEA,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,cAAc,eAAA;AACpB,QAAM,2BAA2B,EAAE,GAAGC,aAAAA,oBAAoB,GAAG,QAAQ,yBAAA;AACrE,QAAM,iBAAgB,8BAAyB,SAAS,QAAQ,MAA1C,mBAA6C;AACnE,QAAM,UAAU,gBAAgB,YAAY,aAAa,aAAa,IAAI;AAC1E,QAAM,qBAA8B,mCAAS,sBAAqB,CAAA;AAElE,QAAM,eAAe,kBAAkB,SAAS,IAC1C,QAAQ,aAAa,OAAO,CAAC,MAAM,CAAC,kBAAkB,SAAS,EAAE,GAAG,CAAC,IACrE,QAAQ;AAEd,SAAO,EAAE,GAAG,SAAS,aAAA;AACzB;AC/BO,MAAM,oBAAoB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AACd,MAAM;AAGFC,QAAAA,UAAU,MAAM;AACZ,QAAI,YAAY,kBAAkB,qBAAqB,SAAS;AAC5D,eAAS,GAAG,cAAc,IAAI,iBAAiB,IAAI,UAAU;AAAA,IACjE;AAAA,EACJ,GAAG,CAAC,SAAS,UAAU,gBAAgB,mBAAmB,UAAU,CAAC;AAErE,QAAM,iBAAiBC,MAAAA,QAAQ,MAAM;AACjC,UAAM,YAAY,MAAM,QAAQ,eAAe,KAAK,mDAAiB,UAAS,kBAAkB,OAAS,mBAAmB;AAC5H,YAAQ,IAAI,uCAAuC,SAAS;AAE5D,QAAI,cAAc,MAAM;AACpB,aAAO,CAAA;AAAA,IACX;AAEA,WAAO;AAAA,MACH,CAAC,SAAS,GAAG;AAAA,IAAA;AAAA,EAErB,GAAG,CAAC,iBAAiB,SAAS,CAAC;AAE/B,SAAO;AACX;AAIO,MAAM,6BAA6B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAChB,MAAM;AACF,SAAOA,MAAAA,QAAQ,MAAM;AACjB,UAAM,aAAY,mDAAiB,UAAS,IAAI,kBAAkB;AAClE,YAAQ,IAAI,uCAAuC,SAAS;AAG5D,iBAAa,QAAQ,CAAC,EAAE,gBAAgB,wBAAwB;AAC5D,UAAI,YAAY,kBAAkB,mBAAmB;AACjD,iBAAS,GAAG,cAAc,IAAI,iBAAiB,IAAI,UAAU;AAAA,MACjE;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,MACH,CAAC,SAAS,GAAG;AAAA,IAAA;AAAA,EAErB,GAAG,CAAC,iBAAiB,UAAU,cAAc,YAAY,SAAS,CAAC;AACvE;AClCA,SAAS,UAAU;AAAA,EACf;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,iBAAiB;AAAA,EACjB;AACJ,GAOS;;AACL,QAAI,gCAAK,SAAL,mBAAW,mBAAkB,YAAY;AACzC,UAAM,gBAAgB,MAAM;;AACxB,UAAI;AACA,cAAM,QAAMC,MAAA,IAAI,UAAJ,gBAAAA,IAAW,cAAW,gCAAK,YAAL,mBAAc;AAChD,eAAO,MAAM,KAAK,MAAM,GAAG,IAAI;AAAA,MACnC,QAAQ;AACJ,eAAO,EAAE,WAAS,SAAI,UAAJ,mBAAW,cAAW,gCAAK,YAAL,mBAAc,YAAW,uBAAA;AAAA,MACrE;AAAA,IACJ,GAAA;AAEA,UAAM,WAAW,6CAAc;AAC/B,QAAI,UAAU;AAEd,QAAI,OAAO,aAAa,UAAU;AAC9B,gBAAU,SAAS,QAAQ,UAAU,EAAE,EAAE,KAAA;AAAA,IAC7C,WAAW,YAAY,OAAO,aAAa,UAAU;AACjD,gBAAW,SAAiB,WAAW,KAAK,UAAU,QAAQ;AAAA,IAClE,WAAW,UAAU;AACjB,gBAAU,OAAO,QAAQ;AAAA,IAC7B;AACA,YAAQ,IAAI,8BAA8B,QAAQ;AAElD,YAAQ,IAAI,+BAA+B,SAAS;AACpD,QAAI,aAAa,OAAO,oBAAoB,YAAY;AACpD,sBAAgB,SAAS,EAAE,SAAS,QAAA,CAAS;AAAA,IACjD;AAEA,QAAI,iBAAiB,OAAO,kBAAkB,YAAY;AACtD,oBAAc,OAAO;AAAA,IACzB;AACA;AAAA,EACJ;AAEA,MAAI,kBAAkB,OAAO,oBAAoB,YAAY;AACzD,oBAAgB,cAAc;AAAA,EAClC;AAEA,MAAI,YAAY,OAAO,aAAa,YAAY;AAC5C,aAAA;AAAA,EACJ;AACJ;AAEA,SAAwB,SAAS;AAC7B,QAAM,EAAE,gBAAA,IAAoBC,sBAAA;AAC5B,QAAM,CAAC,SAAS,UAAU,IAAIC,MAAAA,SAAS,KAAK;AAC5C,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,IAAI;AAEvC,QAAM,UAAUC,MAAAA,YAAY,OAAO;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA,MACG;AACf,QAAI,0BAA0B,IAAI;AAClC,iDAAe;AACf,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,QAAA;AAAA,IACrB,SAAS,KAAU;AACf,iBAAW;AAAA,QACP,MAAM,EAAE,eAAe,WAAA;AAAA,QACvB,OAAO,EAAE,UAAS,2BAAK,YAAW,uBAAA;AAAA,MAAuB;AAAA,IAEjE;AACA,QAAI,0BAA0B,KAAK;AAEnC,iDAAe;AACf;AAAA,MACI;AAAA,QACI,KAAK;AAAA,QACL,UAAU,MAAM;AACZ,iDAAY;AAAA,QAChB;AAAA,QACA,eAAe,CAAC,QAAQ;AACpB,6CAAU;AACV,mBAAS,gBAAgB,GAAG;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACJ;AAGJ,WAAO,EAAE,UAAU,MAAA;AAAA,EAEvB,GAAG,CAAC,eAAe,CAAC;AAEpB,SAAO,EAAE,SAAS,SAAS,MAAA;AAC/B;AC7GO,SAAS,wBAA8B;AAC1C,MAAI,CAACC,UAAAA,0BAA0B;AAC3B,YAAQ,KAAK,+FAA+F;AAC5G;AAAA,EACJ;AAEA,QAAM,SAASC,UAAAA,aAAA;AACf,QAAM,UAAU,OAAO;AAEvBC,MAAAA,aAAW,GAAG,OAAO,aAAa;AACtC;AAEAC,UAAAA,iBAAiB,CAAC,WAAW;AACzB,QAAM,UAAU,OAAO;AACvBD,MAAAA,aAAW,GAAG,OAAO,aAAa;AACtC,CAAC;AAGM,MAAM,sBAAsB,CAA8B;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,qBAAqB,CAAA;AAAA,EACrB;AAAA,EACA,kBAAkB;AACtB,MAAoC;;AAChC,QAAM,EAAE,QAAA,IAAY,OAAA;AAGpB,QAAM,CAAC,cAAc,eAAe,IAAIJ,MAAAA,SAG9B,IAAI;AACd,QAAM,cAAc,iBAAiB,GAAG,cAAc,IAAI,YAAY,KAAK;AAC3E,QAAM,eAAe,iBAAiB,GAAG,cAAc,IAAI,aAAa,KAAK;AAC7E,QAAM,iBAAiB,iBAAiB,GAAG,cAAc,IAAI,eAAe,KAAK;AACjF,QAAM,QAAO,+BAAQ,GAAG,cAAc,QAAO,CAAA;AAC7C,QAAM,kBAAiB,oDAAgB,iBAAhB,mBAA8B;AACrD,QAAM,mBAAkB,oDAAgB,kBAAhB,mBAA+B;AACvD,QAAM,qBAAoB,oDAAgB,oBAAhB,mBAAiC;AAC3D,QAAM,mBAAkB,6BAAO,kBAAiB;AAChD,QAAM,oBAAmB,6BAAO,mBAAkB;AAClD,QAAM,sBAAqB,6BAAO,qBAAoB;AACtDJ,QAAAA,UAAU,MAAM;AACZ,QAAI,SAAS,CAAC,cAAc;AACxB,YAAM,UAAU;AAAA,QACZ,CAAC,YAAY,GAAG;AAAA,QAChB,CAAC,aAAa,GAAG;AAAA,QACjB,CAAC,eAAe,GAAG;AAAA,MAAA;AAEvB,YAAM,SAA8B,CAAA;AACpC,aAAO,KAAK,aAAa,EAAE,QAAQ,CAAC,QAAQ;AACxC,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,eAAO,GAAG,IAAI,MAAM,IAAW;AAAA,MACnC,CAAC;AAED,sBAAgB,EAAE,SAAS,QAAQ;AAAA,IACvC;AAAA,EACJ,GAAG,CAAC,OAAO,iBAAiB,kBAAkB,oBAAoB,cAAc,aAAa,cAAc,gBAAgB,gBAAgB,iBAAiB,iBAAiB,CAAC;AAE9K,QAAM,eAAeK,MAAAA,YAAY,CAACK,OAAW,cAAuB,UAAU;AAC1E,QAAI,CAAC,YAAY,CAACA,MAAM;AAExB,UAAM,cAAc,oBAAoB,kBAAkBA,KAAI,IAAIA;AAClE,QAAI,CAAC,YAAa;AAElB,WAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,aAAa,WAAW,MAAW;AACvE,YAAM,cAAc,2CAAa,KAAK,CAAC,OAAW,uBAAG,gBAAe,OAAO,eAAe,WAAW,YAAY,MAAM;AACvH,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,WAAW,KAAK;AAGnE,YAAI,CAAC,aAAa;AACd,gBAAM,gBAAgB,+BAAQ;AAC9B,cAAI,kBAAkB,UAAa,kBAAkB,QAAQ,kBAAkB,IAAI;AAC/E;AAAA,UACJ;AAAA,QACJ;AAEA,YAAI,OAAO,eAAe,UAAU;AAChC,sBAAY,OAAM,2CAAa,kBAAgB,2CAAa,eAAc;AAAA,QAC9E,OAAO;AACH,mBAAS,OAAa,2CAAa,kBAAgB,2CAAa,eAAc;AAAA,QAClF;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL,GAAG,CAAC,UAAU,eAAe,mBAAmB,gBAAgB,OAAO,GAAG,kBAAkB,CAAC;AAI7F,QAAM,iBAAiBL,MAAAA,YAAY,YAAY;AAC3C,QAAI,CAAC,mBAAmB,CAAC,aAAc;AAEvC,UAAM,iBAAiB,CAAC,QAAa;AACjC,UAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,YAAI,IAAI,WAAW,EAAG,QAAO;AAC7B,cAAM,WAAW,IAAI,CAAC;AACtB,YAAI,YAAY,OAAO,aAAa,iBAAiB,SAAS,MAAM,SAAS,SAAS;AACtF,eAAO,YAAY;AAAA,MACvB;AACA,UAAI,OAAO,OAAO,QAAQ,iBAAiB,IAAI,MAAM,IAAI,SAAS;AAClE,aAAO,OAAO;AAAA,IAClB;AAEA,UAAM,YAAY,eAAe,eAAe;AAChD,UAAM,aAAa,eAAe,gBAAgB;AAClD,UAAM,eAAe,eAAe,kBAAkB;AAEtD,QAAI,CAAC,aAAa,CAAC,aAAc;AAEjC,UAAM,iBAAiB;AAAA,MACnB,WAAW,eAAe,aAAa,QAAQ,YAAY,CAAC;AAAA,MAC5D,YAAY,eAAe,aAAa,QAAQ,aAAa,CAAC;AAAA,MAC9D,cAAc,eAAe,aAAa,QAAQ,eAAe,CAAC;AAAA,IAAA;AAGtE,UAAM,kBACF,eAAe,cAAc,aAC7B,eAAe,eAAe,cAC9B,eAAe,iBAAiB;AAEpC,UAAM,sBAAsB,OAAO,KAAK,aAAa,EAAE,MAAM,CAAC,QAAQ;AAClE,YAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,YAAM,MAAM,+BAAQ;AACpB,aAAO,QAAQ,UAAa,QAAQ,QAAQ,QAAQ;AAAA,IACxD,CAAC;AAED,QAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,qBAAqB;AAC9D,aAAO,QAAQ,aAAa,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC1D,cAAM,OAAO,iBAAiB,GAAG,cAAc,IAAI,GAAG,KAAK;AAC3D,6CAAW,MAAa;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,UAAM,SAAS,kBAAkB,aAAa,CAAC,mBAAmB,cAAc,IAAI,qBAAqB,gBAAgB,IAAI;AAI7H,UAAM,sBAAsB,kBAAkB,mBAAmB;AACjE,UAAM,oBAAoB,kBACnB,mBAAmB,sBACpB;AAEN,YAAQ;AAAA,MACJ,SAAS,MAAMM,IAAAA,4BAA4B;AAAA,QACvC,GAAGC,gBAAA;AAAA,QACH,SAAS;AAAA,MAAA,CACZ;AAAA,MACD,WAAW,CAAC,QAAa;;AACrB,sBAAaV,MAAA,2BAAK,SAAL,gBAAAA,IAAW,oBAAoB,iBAAiB;AAAA,MACjE;AAAA,MACA,SAAS,CAAC,QAAQ;AACd,gBAAQ,MAAM,uCAAuC,GAAG;AAAA,MAC5D;AAAA,IAAA,CACH;AAAA,EACL,GAAG,CAAC,iBAAiB,kBAAkB,oBAAoB,cAAc,SAAS,UAAU,gBAAgB,iBAAiB,mBAAmB,eAAe,CAAC;AAEhKF,QAAAA,UAAU,MAAM;AACZ,mBAAA;AAAA,EACJ,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;AAEO,MAAM,uBAAuB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB;AAAA,EACA,qBAAqB,CAAA;AAAA,EACrB,GAAG;AACP,MAUM;AACF,QAAM,EAAE,UAAU,SAAS,OAAO,cAAA,IAAkB,eAAe,CAAA;AAEnE,SAAO,oBAAoB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACN;AACL;ACtOA,MAAM,iBAAiBa,SAAAA,OAAOC,iBAAW,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IACvE,SAAS;AAAA,IACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,IAChC,cAAc;AAAA,IACd,iBAAiB;AAAA,MAChB,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAC9B,WAAW;AAAA,QACV,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,IAClC;AAAA,IAED,kBAAkB;AAAA,MACjB,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,IAAG;AAAA,EAErC;AAAA,CAAE;AAEF,MAAM,WAAWC,MAAAA,KAAK,CAAC,UAAyB;AAC/C,SACCC,2BAAAA,kBAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAMA,2BAAAA,kBAAAA,IAACC,sBAAA,EAAe,WAAU,+BAAO,SAAQ,SAAS;AAAA,MACxD,aAAaD,2BAAAA,kBAAAA,IAACE,oBAAA,EAAa,WAAU,+BAAO,SAAQ,SAAS;AAAA,MAC7D,eAAa;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;;;;;;;;;;;"}
|
|
@@ -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-
|
|
4
|
+
import { b as PermissionsContext, P as PageContext } from "./page-context-Cvdc6oCn.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-
|
|
7
|
+
import { at as getToken } from "./common-r5LBzRrd.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-
|
|
387
|
+
//# sourceMappingURL=checkbox-DdtsMxO8.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"file":"checkbox-DdtsMxO8.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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"}
|
|
@@ -4026,7 +4026,7 @@ const checkForDuplicate = async (payload) => {
|
|
|
4026
4026
|
}
|
|
4027
4027
|
};
|
|
4028
4028
|
const partyDuplicateCheck = async (activeTab, fValues, defaultValues) => {
|
|
4029
|
-
var _a, _b
|
|
4029
|
+
var _a, _b;
|
|
4030
4030
|
const values = { ...fValues };
|
|
4031
4031
|
if (activeTab !== 0 || !((values == null ? void 0 : values.contact_no) || (values == null ? void 0 : values.company_name))) {
|
|
4032
4032
|
return null;
|
|
@@ -4034,13 +4034,27 @@ const partyDuplicateCheck = async (activeTab, fValues, defaultValues) => {
|
|
|
4034
4034
|
if (activeTab !== 0 || !(values == null ? void 0 : values.contact_no) && (values == null ? void 0 : values.company_name) && (values == null ? void 0 : values.account_type) !== "Company") {
|
|
4035
4035
|
return null;
|
|
4036
4036
|
}
|
|
4037
|
-
const
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4037
|
+
const rawNo = String((values == null ? void 0 : values.contact_no) || "").replace(/^\+/, "");
|
|
4038
|
+
let phoneNumber = parsePhoneNumberFromString(`+${rawNo}`);
|
|
4039
|
+
if (!(phoneNumber == null ? void 0 : phoneNumber.nationalNumber) && (values == null ? void 0 : values.country_code)) {
|
|
4040
|
+
phoneNumber = parsePhoneNumberFromString(`${values.country_code}${rawNo}`);
|
|
4041
|
+
}
|
|
4042
|
+
values.contact_no = (phoneNumber == null ? void 0 : phoneNumber.nationalNumber) || (values == null ? void 0 : values.contact_no);
|
|
4043
|
+
values.country_code = (phoneNumber == null ? void 0 : phoneNumber.countryCallingCode) ? `+${phoneNumber.countryCallingCode}` : values == null ? void 0 : values.country_code;
|
|
4044
|
+
const normalizePhone = (contactNo2, countryCode2) => {
|
|
4045
|
+
const rNo = String(contactNo2 || "").replace(/^\+/, "");
|
|
4046
|
+
let p = parsePhoneNumberFromString(`+${rNo}`);
|
|
4047
|
+
if (!(p == null ? void 0 : p.nationalNumber) && countryCode2) {
|
|
4048
|
+
p = parsePhoneNumberFromString(`${countryCode2}${rNo}`);
|
|
4049
|
+
}
|
|
4050
|
+
return {
|
|
4051
|
+
contact_no: (p == null ? void 0 : p.nationalNumber) || String(contactNo2 || ""),
|
|
4052
|
+
country_code: (p == null ? void 0 : p.countryCallingCode) ? `+${p.countryCallingCode}` : String(countryCode2 || "")
|
|
4053
|
+
};
|
|
4054
|
+
};
|
|
4055
|
+
const normalizedDefault = normalizePhone(defaultValues == null ? void 0 : defaultValues.contact_no, defaultValues == null ? void 0 : defaultValues.country_code);
|
|
4056
|
+
const isDirtyPhone = !defaultValues || normalizedDefault.contact_no !== values.contact_no || normalizedDefault.country_code !== values.country_code;
|
|
4057
|
+
const isDirtyCompanyName = !defaultValues || ((_a = defaultValues == null ? void 0 : defaultValues.company_name) == null ? void 0 : _a.trim()) !== ((_b = values == null ? void 0 : values.company_name) == null ? void 0 : _b.trim());
|
|
4044
4058
|
if (!isDirtyPhone && !isDirtyCompanyName) {
|
|
4045
4059
|
return null;
|
|
4046
4060
|
}
|
|
@@ -4717,4 +4731,4 @@ exports.updateFieldsDisabledState = updateFieldsDisabledState;
|
|
|
4717
4731
|
exports.uploadAttachments = uploadAttachments;
|
|
4718
4732
|
exports.uploadFiles = uploadFiles;
|
|
4719
4733
|
exports.validateDiscountValidity = validateDiscountValidity;
|
|
4720
|
-
//# sourceMappingURL=common-
|
|
4734
|
+
//# sourceMappingURL=common-CbkoxxEu.js.map
|