@erpsquad/common 1.8.25 → 1.8.27
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/_virtual/index/index.esm.js +4 -2
- package/dist/_virtual/index/index.esm.js.map +1 -1
- package/dist/_virtual/index/index.esm2.js +2 -4
- package/dist/_virtual/index/index.esm2.js.map +1 -1
- package/dist/_virtual/index/index.js +1 -1
- package/dist/_virtual/index/index2.js +1 -1
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
- package/dist/components/action-bar/action-bar/index.js +1 -1
- package/dist/components/action-bar/action-bar/index.js.map +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/editor/custom-editor/index.esm.js +1 -1
- package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
- package/dist/components/editor/custom-editor/index.js +1 -1
- package/dist/components/editor/custom-editor/index.js.map +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.esm.js.map +1 -1
- package/dist/components/filter/filter/index.js +1 -1
- package/dist/components/filter/filter/index.js.map +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/header/index.esm.js +1 -1
- package/dist/components/header/header/index.esm.js.map +1 -1
- package/dist/components/header/header/index.js +1 -1
- package/dist/components/header/header/index.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.js +1 -1
- package/dist/components/header/redux/actionCreator/index.js.map +1 -1
- 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/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.d.ts +1 -1
- package/dist/components/index.esm.js +1 -5
- package/dist/components/index.esm.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/location-select.d.ts +1 -1
- package/dist/components/material-table/aggregation-fns/index/index.esm.js +0 -10
- package/dist/components/material-table/aggregation-fns/index/index.esm.js.map +1 -1
- package/dist/components/material-table/aggregation-fns/index/index.js +1 -1
- package/dist/components/material-table/aggregation-fns/index/index.js.map +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/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
- package/dist/components/switches/android-12-switch.d.ts +3 -1
- 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/upload/index.esm.js +2 -2
- package/dist/components/upload/upload/index.esm.js.map +1 -1
- package/dist/components/upload/upload/index.js +2 -2
- package/dist/components/upload/upload/index.js.map +1 -1
- package/dist/components/upload-media/upload-media.d.ts +1 -1
- package/dist/contexts/AuthContext/index.esm.js +2 -2
- package/dist/contexts/AuthContext/index.esm.js.map +1 -1
- package/dist/contexts/AuthContext/index.js +1 -1
- package/dist/contexts/AuthContext/index.js.map +1 -1
- package/dist/contexts/languageContext/index.esm.js +1 -1
- package/dist/contexts/languageContext/index.esm.js.map +1 -1
- package/dist/contexts/languageContext/index.js +1 -1
- package/dist/contexts/languageContext/index.js.map +1 -1
- package/dist/index.esm.js +78 -88
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js +0 -32
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js.map +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js +36 -36
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js.map +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
- package/dist/node_modules/prop-types/index/index.esm.js +1 -1
- package/dist/node_modules/prop-types/index/index.js +1 -1
- package/dist/node_modules/prop-types/index/index.js.map +1 -1
- package/dist/utils/api/index.esm.js +4 -4
- package/dist/utils/api/index.esm.js.map +1 -1
- package/dist/utils/api/index.js +1 -1
- package/dist/utils/api/index.js.map +1 -1
- package/dist/utils/common/index.esm.js +8 -8
- package/dist/utils/common/index.esm.js.map +1 -1
- package/dist/utils/common/index.js +1 -1
- package/dist/utils/common/index.js.map +1 -1
- package/dist/utils/common-utility.d.ts +1 -1
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.esm.js +50 -54
- package/dist/utils/index.esm.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
- package/dist/views/form-builder/redux/reducer/index.esm.js +0 -8
- package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/reducer/index.js +1 -1
- package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
- package/dist/views/index.esm.js +0 -2
- package/dist/views/index.esm.js.map +1 -1
- package/dist/views/index.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js +3 -3
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
- package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js.map +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/templates/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/_virtual/ArrowBack/index.esm.js +0 -5
- package/dist/_virtual/ArrowBack/index.esm.js.map +0 -1
- package/dist/_virtual/ArrowBack/index.js +0 -2
- package/dist/_virtual/ArrowBack/index.js.map +0 -1
- package/dist/_virtual/ArrowForward/index.esm.js +0 -5
- package/dist/_virtual/ArrowForward/index.esm.js.map +0 -1
- package/dist/_virtual/ArrowForward/index.js +0 -2
- package/dist/_virtual/ArrowForward/index.js.map +0 -1
- package/dist/_virtual/IndeterminateCheckBox/index.esm.js +0 -5
- package/dist/_virtual/IndeterminateCheckBox/index.esm.js.map +0 -1
- package/dist/_virtual/IndeterminateCheckBox/index.js +0 -2
- package/dist/_virtual/IndeterminateCheckBox/index.js.map +0 -1
- package/dist/_virtual/NorthEast/index.esm.js +0 -5
- package/dist/_virtual/NorthEast/index.esm.js.map +0 -1
- package/dist/_virtual/NorthEast/index.js +0 -2
- package/dist/_virtual/NorthEast/index.js.map +0 -1
- package/dist/_virtual/Visibility/index.esm.js +0 -5
- package/dist/_virtual/Visibility/index.esm.js.map +0 -1
- package/dist/_virtual/Visibility/index.js +0 -2
- package/dist/_virtual/Visibility/index.js.map +0 -1
- package/dist/components/charts/line-chart/area-line-chart/index.esm.js +0 -40
- package/dist/components/charts/line-chart/area-line-chart/index.esm.js.map +0 -1
- package/dist/components/charts/line-chart/area-line-chart/index.js +0 -2
- package/dist/components/charts/line-chart/area-line-chart/index.js.map +0 -1
- package/dist/components/filter/fields/index.esm.js +0 -180
- package/dist/components/filter/fields/index.esm.js.map +0 -1
- package/dist/components/filter/fields/index.js +0 -2
- package/dist/components/filter/fields/index.js.map +0 -1
- package/dist/components/material-editable-table/aggregation-fns/index.d.ts +0 -13
- package/dist/components/material-editable-table/components/default-aggregation.d.ts +0 -9
- package/dist/components/material-editable-table/components/header-cell.d.ts +0 -5
- package/dist/components/material-editable-table/components/inline-edit-fields.d.ts +0 -17
- package/dist/components/material-editable-table/components/number-aggregation.d.ts +0 -9
- package/dist/components/material-editable-table/material-editable-table.d.ts +0 -40
- package/dist/components/material-table/components/number-aggregation/index.esm.js +0 -133
- package/dist/components/material-table/components/number-aggregation/index.esm.js.map +0 -1
- package/dist/components/material-table/components/number-aggregation/index.js +0 -5
- package/dist/components/material-table/components/number-aggregation/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/NorthEast/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/NorthEast/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/Visibility/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/Visibility/index.js.map +0 -1
- package/dist/utils/fileSize/index.esm.js +0 -22
- package/dist/utils/fileSize/index.esm.js.map +0 -1
- package/dist/utils/fileSize/index.js +0 -2
- package/dist/utils/fileSize/index.js.map +0 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js +0 -48
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js +0 -2
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js +0 -50
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js +0 -2
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js +0 -57
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js +0 -2
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js +0 -41
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.js +0 -2
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/index/index.esm.js +0 -1144
- package/dist/views/beforeAuth/components/index/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/index/index.js +0 -206
- package/dist/views/beforeAuth/components/index/index.js.map +0 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js +0 -72
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js +0 -2
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js +0 -54
- package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.js +0 -2
- package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js +0 -61
- package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.js +0 -2
- package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js +0 -21
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js +0 -2
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js +0 -21
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js +0 -2
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js +0 -306
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js +0 -2
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +0 -1
|
@@ -80,7 +80,7 @@ const LanguageProvider = ({ children }) => {
|
|
|
80
80
|
const [state, dispatch] = useReducer(languageReducer, initialState);
|
|
81
81
|
const { i18n } = useTranslation();
|
|
82
82
|
useEffect(() => {
|
|
83
|
-
setBaseUrl(`${
|
|
83
|
+
setBaseUrl(`${void 0}/rbac`);
|
|
84
84
|
}, []);
|
|
85
85
|
const safeChangeLanguage = async (langCode) => {
|
|
86
86
|
if (i18n && typeof i18n.changeLanguage === "function") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["setRoleURL"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),l=require("../../utils/common/index.js"),i=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js");const o=["en","en-US",t.DEFAULT_LANG],c={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},s=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},d=a.createContext(void 0);exports.LanguageProvider=({children:t})=>{const[u,g]=a.useReducer(s,c),{i18n:E}=n.useTranslation();a.useEffect(()=>{i.setBaseUrl("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),n=require("react-i18next"),t=require("../../constants/all-language/index.js"),l=require("../../utils/common/index.js"),i=require("../../api-client/api.rbac/api/index.js"),r=require("../../api-client/api.system-feature/api/index.js");const o=["en","en-US",t.DEFAULT_LANG],c={languages:[],currentLanguage:null,isLoading:!1,error:null,isFallbackActive:!1},s=(e,a)=>{switch(a.type){case"FETCH_LANGUAGES_START":return{...e,isLoading:!0,error:null};case"FETCH_LANGUAGES_SUCCESS":return{...e,languages:a.payload,isLoading:!1,error:null,isFallbackActive:!1};case"FETCH_LANGUAGES_ERROR":return{...e,isLoading:!1,error:a.payload,isFallbackActive:!0};case"SET_CURRENT_LANGUAGE":return{...e,currentLanguage:a.payload,isFallbackActive:a.isFallback||!1};case"SET_FALLBACK_ACTIVE":return{...e,isFallbackActive:a.payload};default:return e}},d=a.createContext(void 0);exports.LanguageProvider=({children:t})=>{const[u,g]=a.useReducer(s,c),{i18n:E}=n.useTranslation();a.useEffect(()=>{i.setBaseUrl("undefined/rbac")},[]);const A=async e=>{if(E&&"function"==typeof E.changeLanguage)try{await E.changeLanguage(e)}catch(a){}},_=e=>{document.body.dir=e.direction||"ltr",A(e.code),localStorage.setItem("_language",e.code)},p=async()=>{var e,a;try{g({type:"FETCH_LANGUAGES_START"});const n=await r.getV1Languages({order:"id:1",filters:"(is_active.in=[1])",...l.getToken()}),t=(null==(e=null==n?void 0:n.data)?void 0:e.languages)||[],i=null==(a=null==t?void 0:t.filter(e=>null==e?void 0:e.is_active))?void 0:a.map(e=>({label:null==e?void 0:e.name,code:null==e?void 0:e.code,direction:null==e?void 0:e.direction}));i.some(e=>"en"===e.code)||i.unshift({code:"en",label:"English",direction:"ltr"}),g({type:"FETCH_LANGUAGES_SUCCESS",payload:i});const c=localStorage.getItem("_language"),s=((e,a)=>{if(!e||0===e.length)return null;if(a){const n=e.find(e=>e.code===a);if(n)return n}for(const n of o){const a=e.find(e=>e.code===n);if(a)return a}return e[0]||null})(i,c||void 0);if(s){const e=c&&c!==s.code;g({type:"SET_CURRENT_LANGUAGE",payload:s,isFallback:e}),_(s)}}catch(n){const e=n instanceof Error?n.message:"Failed to fetch languages";g({type:"FETCH_LANGUAGES_ERROR",payload:e});const a={code:"en",label:"English",direction:"ltr"};g({type:"FETCH_LANGUAGES_SUCCESS",payload:[a]}),g({type:"SET_CURRENT_LANGUAGE",payload:a,isFallback:!0}),document.body.dir="ltr",A("en"),localStorage.setItem("_language","en")}};a.useEffect(()=>{p()},[]);const y={...u,changeLanguage:e=>{const a=u.languages.find(a=>a.code===e);if(a)g({type:"SET_CURRENT_LANGUAGE",payload:a}),g({type:"SET_FALLBACK_ACTIVE",payload:!1}),_(a);else{const e={code:"en",label:"English",direction:"ltr"};g({type:"SET_CURRENT_LANGUAGE",payload:e,isFallback:!0}),_(e)}},fetchLanguages:p};/* @__PURE__ */
|
|
2
2
|
return e.jsx(d.Provider,{value:y,children:t})},exports.default=d;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","setRoleURL","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/contexts/languageContext.tsx"],"sourcesContent":["// contexts/LanguageContext.tsx\nimport React, { createContext, useEffect, useReducer, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_LANG } from '../constants/all-language';\nimport { getToken } from '../utils/common';\nimport { setRoleURL } from '../utils/server';\nimport { getV1Languages } from '../api-client/api.system-feature/api';\n// import ErpLoader from '../components/loader/erp-loader';\n\n// Types\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface LanguageState {\n languages: ILanguage[];\n currentLanguage: ILanguage | null;\n isLoading: boolean;\n error: string | null;\n isFallbackActive: boolean; // Track if we're using fallback\n}\n\ninterface LanguageContextType extends LanguageState {\n changeLanguage: (langCode: string) => void;\n fetchLanguages: () => Promise<void>;\n}\n\n// Define fallback languages in order of preference - English first\nconst FALLBACK_LANGUAGES = [\n 'en', // English as primary fallback\n 'en-US', // US English as secondary\n DEFAULT_LANG, // Then default language\n];\n\n// Create English fallback language object\nconst createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n});\n\n// Action types\ntype LanguageAction =\n | { type: 'FETCH_LANGUAGES_START' }\n | { type: 'FETCH_LANGUAGES_SUCCESS'; payload: ILanguage[] }\n | { type: 'FETCH_LANGUAGES_ERROR'; payload: string }\n | { type: 'SET_CURRENT_LANGUAGE'; payload: ILanguage; isFallback?: boolean }\n | { type: 'SET_FALLBACK_ACTIVE'; payload: boolean };\n\n// Initial state\nconst initialState: LanguageState = {\n languages: [],\n currentLanguage: null,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n};\n\n// Helper function to find the best available language\nconst findBestAvailableLanguage = (\n languages: ILanguage[], \n preferredCode?: string\n): ILanguage | null => {\n if (!languages || languages.length === 0) return null;\n\n // First try the preferred language if provided\n if (preferredCode) {\n const preferred = languages.find(lang => lang.code === preferredCode);\n if (preferred) return preferred;\n }\n\n // Try fallback languages in order (English first)\n for (const fallbackCode of FALLBACK_LANGUAGES) {\n const fallback = languages.find(lang => lang.code === fallbackCode);\n if (fallback) return fallback;\n }\n\n // If no fallbacks found, return the first available language\n return languages[0] || null;\n};\n\n// Reducer\nconst languageReducer = (state: LanguageState, action: LanguageAction): LanguageState => {\n switch (action.type) {\n case 'FETCH_LANGUAGES_START':\n return {\n ...state,\n isLoading: true,\n error: null,\n };\n case 'FETCH_LANGUAGES_SUCCESS':\n return {\n ...state,\n languages: action.payload,\n isLoading: false,\n error: null,\n isFallbackActive: false,\n };\n case 'FETCH_LANGUAGES_ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.payload,\n isFallbackActive: true, \n };\n case 'SET_CURRENT_LANGUAGE':\n return {\n ...state,\n currentLanguage: action.payload,\n isFallbackActive: action.isFallback || false,\n };\n case 'SET_FALLBACK_ACTIVE':\n return {\n ...state,\n isFallbackActive: action.payload,\n };\n default:\n return state;\n }\n};\n\n// Create context\nconst LanguageContext = createContext<LanguageContextType | undefined>(undefined);\n\n// Provider component\ninterface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {\n const [state, dispatch] = useReducer(languageReducer, initialState);\n const { i18n } = useTranslation();\n\n // Initialize role URL\n useEffect(() => {\n setRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n }, []);\n\n // Guarded i18n changeLanguage call\n const safeChangeLanguage = async (langCode: string) => {\n if (i18n && typeof i18n.changeLanguage === 'function') {\n try {\n await i18n.changeLanguage(langCode);\n } catch (error) {\n console.warn(`Failed to change language to \"${langCode}\"`, error);\n }\n } else {\n console.warn(\n 'i18n.changeLanguage is unavailable. Ensure I18nextProvider is configured in the host application.'\n );\n }\n };\n\n // Apply language settings\n const applyLanguageSettings = (language: ILanguage) => {\n document.body.dir = language.direction || 'ltr';\n safeChangeLanguage(language.code);\n localStorage.setItem('_language', language.code);\n };\n\n // Fetch languages from API\n const fetchLanguages = async (): Promise<void> => {\n try {\n dispatch({ type: 'FETCH_LANGUAGES_START' });\n \n const response = await getV1Languages({\n order: `id:1`,\n filters: `(is_active.in=[1])`,\n ...getToken(),\n });\n \n const data = response?.data?.languages || [];\n const languages = data\n ?.filter((d: any) => d?.is_active)\n ?.map((d: any) => ({\n label: d?.name,\n code: d?.code,\n direction: d?.direction,\n }));\n\n // Always ensure English is available in the languages list\n const hasEnglish = languages.some((lang: ILanguage) => lang.code === 'en');\n if (!hasEnglish) {\n languages.unshift(createEnglishFallback());\n }\n\n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: languages });\n \n // Get saved language or use fallback\n const savedLangCode = localStorage.getItem('_language');\n const bestLanguage = findBestAvailableLanguage(languages, savedLangCode || undefined);\n \n if (bestLanguage) {\n const isFallback = savedLangCode && savedLangCode !== bestLanguage.code;\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: bestLanguage,\n isFallback \n });\n applyLanguageSettings(bestLanguage);\n \n // Log if we're using a fallback\n if (isFallback) {\n console.warn(`Saved language \"${savedLangCode}\" not available. Using fallback: \"${bestLanguage.code}\"`);\n }\n } else {\n console.error('No languages available');\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to fetch languages';\n dispatch({ type: 'FETCH_LANGUAGES_ERROR', payload: errorMessage });\n \n // On error, always fall back to English\n const englishFallback = createEnglishFallback();\n \n // Create languages array with English fallback for dropdown\n const fallbackLanguages = [englishFallback];\n \n dispatch({ type: 'FETCH_LANGUAGES_SUCCESS', payload: fallbackLanguages });\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n \n document.body.dir = 'ltr';\n safeChangeLanguage('en');\n localStorage.setItem('_language', 'en');\n \n console.warn('Language fetch failed, using English fallback');\n }\n };\n\n // Change language function\n const changeLanguage = (langCode: string): void => {\n const selectedLanguage = state.languages.find((lang) => lang.code === langCode);\n \n if (selectedLanguage) {\n dispatch({ type: 'SET_CURRENT_LANGUAGE', payload: selectedLanguage });\n dispatch({ type: 'SET_FALLBACK_ACTIVE', payload: false });\n applyLanguageSettings(selectedLanguage);\n } else {\n console.error(`Language \"${langCode}\" not found in available languages`);\n \n // If language not found, fall back to English\n const englishFallback = createEnglishFallback();\n dispatch({ \n type: 'SET_CURRENT_LANGUAGE', \n payload: englishFallback,\n isFallback: true \n });\n applyLanguageSettings(englishFallback);\n }\n };\n\n // Initialize on mount\n useEffect(() => {\n fetchLanguages();\n //eslint-disable-next-line \n }, []);\n\n const contextValue: LanguageContextType = {\n ...state,\n changeLanguage,\n fetchLanguages,\n };\n\n return (\n <LanguageContext.Provider value={contextValue}>\n {/* {state.isLoading } */}\n {children}\n </LanguageContext.Provider>\n );\n};\n\nexport default LanguageContext;"],"names":["FALLBACK_LANGUAGES","DEFAULT_LANG","initialState","languages","currentLanguage","isLoading","error","isFallbackActive","languageReducer","state","action","type","payload","isFallback","LanguageContext","createContext","children","dispatch","useReducer","i18n","useTranslation","useEffect","setRoleURL","safeChangeLanguage","async","langCode","changeLanguage","applyLanguageSettings","language","document","body","dir","direction","code","localStorage","setItem","fetchLanguages","response","getV1Languages","order","filters","getToken","data","_a","_b","filter","d","is_active","map","label","name","some","lang","unshift","savedLangCode","getItem","bestLanguage","preferredCode","length","preferred","find","fallbackCode","fallback","findBestAvailableLanguage","errorMessage","Error","message","englishFallback","contextValue","selectedLanguage","Provider","value"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -298,43 +298,40 @@ import { default as default261 } from "./hooks/apiHelper/index.esm.js";
|
|
|
298
298
|
import { default as default262, LanguageProvider } from "./contexts/languageContext/index.esm.js";
|
|
299
299
|
import { themeVariant, getTheme, themeVariant as themeVariant2 } from "./theme/themeSelector/index.esm.js";
|
|
300
300
|
import { default as default263 } from "./theme/themeWrapper/index.esm.js";
|
|
301
|
-
import { default as default264 } from "./utils/
|
|
302
|
-
import { default as default265 } from "./
|
|
303
|
-
import {
|
|
304
|
-
import { default as default267 } from "./views/template-editor/
|
|
305
|
-
import { default as default268 } from "./views/template-editor/
|
|
306
|
-
import { default as default269 } from "./views/template-editor/
|
|
307
|
-
import { default as default270 } from "./views/template-editor/
|
|
308
|
-
import { default as default271 } from "./views/template-editor/
|
|
309
|
-
import { default as default272 } from "./views/template-editor/
|
|
310
|
-
import { default as default273 } from "./views/template-editor/
|
|
311
|
-
import { default as default274 } from "./views/template-editor/components/
|
|
312
|
-
import { default as default275 } from "./views/template-editor/components/
|
|
313
|
-
import { default as default276 } from "./views/template-editor/components/
|
|
314
|
-
import { default as default277 } from "./views/template-editor/components/
|
|
315
|
-
import { default as default278 } from "./views/template-editor/components/
|
|
316
|
-
import { default as default279 } from "./views/template-editor/components/
|
|
317
|
-
import { default as default280 } from "./views/template-editor/components/controllers/
|
|
318
|
-
import { default as default281 } from "./views/template-editor/components/controllers/
|
|
319
|
-
import { default as default282 } from "./views/template-editor/components/controllers/
|
|
320
|
-
import { default as default283 } from "./views/template-editor/components/controllers/
|
|
321
|
-
import { default as default284 } from "./views/template-editor/components/controllers/
|
|
322
|
-
import { default as default285 } from "./views/template-editor/components/controllers/
|
|
323
|
-
import { default as default286 } from "./
|
|
324
|
-
import { default as default287 } from "./
|
|
325
|
-
import { default as default288 } from "./layout/fullScreen/fullScreen/index.esm.js";
|
|
326
|
-
import { default as default289 } from "./layout/sidebarScreen/sidebarScreen/index.esm.js";
|
|
301
|
+
import { convertTableColumns, default as default264 } from "./utils/form-builder-deconversion/index.esm.js";
|
|
302
|
+
import { default as default265 } from "./views/template-editor/templates/index.esm.js";
|
|
303
|
+
import { default as default266 } from "./views/template-editor/add-template/add-template/index.esm.js";
|
|
304
|
+
import { default as default267 } from "./views/template-editor/template-modal/template-modal/index.esm.js";
|
|
305
|
+
import { default as default268 } from "./views/template-editor/template-modal/html-thumbnail-preview/index.esm.js";
|
|
306
|
+
import { default as default269 } from "./views/template-editor/company-selection-modal/company-selection-modal/index.esm.js";
|
|
307
|
+
import { default as default270 } from "./views/template-editor/edit-section-modal/edit-section-modal/index.esm.js";
|
|
308
|
+
import { default as default271 } from "./views/template-editor/template-name-modal/template-name-modal/index.esm.js";
|
|
309
|
+
import { default as default272 } from "./views/template-editor/components/EditorCanvas/index.esm.js";
|
|
310
|
+
import { default as default273 } from "./views/template-editor/components/EditorHeader/index.esm.js";
|
|
311
|
+
import { default as default274 } from "./views/template-editor/components/EditorSection/index.esm.js";
|
|
312
|
+
import { default as default275 } from "./views/template-editor/components/EditorSidebar/index.esm.js";
|
|
313
|
+
import { default as default276 } from "./views/template-editor/components/SectionFlowEditor/index.esm.js";
|
|
314
|
+
import { default as default277 } from "./views/template-editor/components/SectionFormatPanel/index.esm.js";
|
|
315
|
+
import { default as default278 } from "./views/template-editor/components/controllers/AlignmentControl/index.esm.js";
|
|
316
|
+
import { default as default279 } from "./views/template-editor/components/controllers/border-control/index.esm.js";
|
|
317
|
+
import { default as default280 } from "./views/template-editor/components/controllers/ButtonControls/index.esm.js";
|
|
318
|
+
import { default as default281 } from "./views/template-editor/components/controllers/CodeControls/index.esm.js";
|
|
319
|
+
import { default as default282 } from "./views/template-editor/components/controllers/DividerControls/index.esm.js";
|
|
320
|
+
import { default as default283 } from "./views/template-editor/components/controllers/ImageControls/index.esm.js";
|
|
321
|
+
import { default as default284 } from "./views/template-editor/components/controllers/SignatureControls/index.esm.js";
|
|
322
|
+
import { default as default285 } from "./views/template-editor/components/controllers/TableControls/index.esm.js";
|
|
323
|
+
import { default as default286 } from "./layout/fullScreen/fullScreen/index.esm.js";
|
|
324
|
+
import { default as default287 } from "./layout/sidebarScreen/sidebarScreen/index.esm.js";
|
|
327
325
|
import { CustomForm } from "./views/form-builder/custom-form/index.esm.js";
|
|
328
|
-
import { default as
|
|
326
|
+
import { default as default288 } from "./views/form-builder/form-fields/index.esm.js";
|
|
329
327
|
import { CheckboxEditForm } from "./views/form-builder/element-edit-forms/checkbox/index.esm.js";
|
|
330
|
-
import { default as
|
|
331
|
-
import { default as
|
|
332
|
-
import { default as
|
|
328
|
+
import { default as default289 } from "./views/form-builder/element-edit-forms/column-width/index.esm.js";
|
|
329
|
+
import { default as default290 } from "./views/form-builder/element-edit-forms/field-select/index.esm.js";
|
|
330
|
+
import { default as default291 } from "./views/form-builder/element-edit-forms/section/index.esm.js";
|
|
333
331
|
import { SelectEditForm } from "./views/form-builder/element-edit-forms/select/index.esm.js";
|
|
334
|
-
import { default as
|
|
332
|
+
import { default as default292 } from "./views/form-builder/element-edit-forms/table-form/index.esm.js";
|
|
335
333
|
import { TextEditForm } from "./views/form-builder/element-edit-forms/text/index.esm.js";
|
|
336
334
|
import { ClickAwayListener } from "./node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.esm.js";
|
|
337
|
-
import { dynamicFields, fields, validator } from "./components/filter/fields/index.esm.js";
|
|
338
335
|
import { RecgtangleIcon } from "./components/icons/rectangle/index.esm.js";
|
|
339
336
|
import { RectangleFilledIcon } from "./components/icons/rectangle-filled/index.esm.js";
|
|
340
337
|
import { CheckBoxIcon } from "./components/icons/check-box/index.esm.js";
|
|
@@ -401,15 +398,15 @@ import { useLanguage } from "./hooks/useLangauge/index.esm.js";
|
|
|
401
398
|
import { useAuth } from "./hooks/useAuth/index.esm.js";
|
|
402
399
|
import { usePages } from "./hooks/use-pages/index.esm.js";
|
|
403
400
|
import { usePermissions } from "./hooks/use-permissions/index.esm.js";
|
|
404
|
-
import { default as
|
|
405
|
-
import { default as
|
|
406
|
-
import { default as
|
|
401
|
+
import { default as default293 } from "./hooks/use-material-calculations/index.esm.js";
|
|
402
|
+
import { default as default294 } from "./hooks/useLanguageFallback/index.esm.js";
|
|
403
|
+
import { default as default295 } from "./hooks/useLocationFilter/index.esm.js";
|
|
407
404
|
import { apiType, capitalizeWords, convertEmptyToNull, defaultUserCurrency, formatNumber, formatTime, formateDate, recursiveSort, removeExtraKeys, sortData, valueWithCurrency } from "./hooks/common/index.esm.js";
|
|
408
405
|
import { AuthContext, AuthProvider } from "./contexts/AuthContext/index.esm.js";
|
|
409
406
|
import { PageContext, PageProvider, defaultPageState, initialFilter } from "./contexts/page-context/index.esm.js";
|
|
410
407
|
import { PermissionsContext, PermissionsProvider } from "./contexts/permission-context/index.esm.js";
|
|
411
408
|
import { createDarkTheme, createLightTheme, createLightTheme as createLightTheme2, themes } from "./theme/theme-impl/index.esm.js";
|
|
412
|
-
import { default as
|
|
409
|
+
import { default as default296 } from "dayjs";
|
|
413
410
|
import { closeSnackbar, enqueueSnackbar, useSnackbar } from "./node_modules/notistack/notistack.esm/index.esm.js";
|
|
414
411
|
import { apiConfigurations, fetchApi } from "./utils/api/index.esm.js";
|
|
415
412
|
import { calculateEntries } from "./utils/calculation/index.esm.js";
|
|
@@ -434,15 +431,15 @@ import { setBaseUrl as setBaseUrl3 } from "./api-client/api.system-feature/api/i
|
|
|
434
431
|
import { loadModuleTranslations } from "./utils/translations/index.esm.js";
|
|
435
432
|
import { MenuFilter, MenuFilterService, ModuleAccessService, StorageUtils } from "./utils/menu-filter/index.esm.js";
|
|
436
433
|
import { templateEditorRoutes } from "./views/template-editor/routes/index.esm.js";
|
|
437
|
-
import { default as
|
|
434
|
+
import { default as default297 } from "./views/template-editor/components/controllers/TextControls/index.esm.js";
|
|
438
435
|
import { TEMPLATE_EDITOR_PATHS, initialStyles } from "./views/template-editor/utils/constant/index.esm.js";
|
|
439
436
|
import { extractStyles, generateEmailPreview, generateHeaderFooterPreview, generateInlineStyles, getInitialSectionData, templateRoutes } from "./views/template-editor/utils/common/index.esm.js";
|
|
440
437
|
export * from "react-i18next";
|
|
441
|
-
import { getAllUserAndDepartmentDropdown, resetState, setDepartments, setError, setLoading, setUsers, sharePage, default as
|
|
442
|
-
import { default as
|
|
443
|
-
import { fetchCompanies, default as
|
|
444
|
-
import { fetchBom, default as
|
|
445
|
-
import { changeCurrentPage, dashBoardDrive, default as
|
|
438
|
+
import { getAllUserAndDepartmentDropdown, resetState, setDepartments, setError, setLoading, setUsers, sharePage, default as default298 } from "./redux/slices/shareSlice/index.esm.js";
|
|
439
|
+
import { default as default299, resetHeaderState, resetLanguagesState, setCurrentLanguage, setLanguages, setLanguagesData } from "./redux/slices/headerSlice/index.esm.js";
|
|
440
|
+
import { fetchCompanies, default as default300, resetReportsTitleBarState, setCompanies, setError as setError2, setLoading as setLoading2 } from "./redux/slices/reportsTitleBarSlice/index.esm.js";
|
|
441
|
+
import { fetchBom, default as default301, resetInventoryReportsTitleBarState, setAssemblyItems, setBomData, setCompanies as setCompanies2, setError as setError3, setLoading as setLoading3, setItems, setWarehouseLocations } from "./redux/slices/inventoryReportsTitleBarSlice/index.esm.js";
|
|
442
|
+
import { changeCurrentPage, dashBoardDrive, default as default302, pinToDashboardList, setGrid, setPages, setPaginationModel, setSharedPage, setUserName } from "./views/afterAuth/dashboard/redux/reducer/index.esm.js";
|
|
446
443
|
import { UsersFetchAction } from "./views/afterAuth/dashboard/redux/actionCreator/index.esm.js";
|
|
447
444
|
import { createLibraryStore, getLibrarySlices, libraryReducers } from "./redux/store/index.esm.js";
|
|
448
445
|
import { API_METHOD_GROUPS, createConfiguredApiClient, validateApiClient } from "./redux/apiConfig/index.esm.js";
|
|
@@ -469,7 +466,6 @@ import * as apiTypes_d$8 from "./api-client/api.user/api-types.d/index.esm.js";
|
|
|
469
466
|
import { element } from "./views/form-builder/field_properties/index.esm.js";
|
|
470
467
|
import { createDefaultTableColumns, extractSections, generateModulePath, processMembers, processTableColumns, useFormDataEffect, useFormDataProcessor } from "./views/form-builder/utils/common/index.esm.js";
|
|
471
468
|
import { DEFAULT_COLUMN_WIDTH, DEFAULT_GRID_COLUMNS, DEFAULT_TAB_TITLE, FIELD_TYPES } from "./views/form-builder/index/index.esm.js";
|
|
472
|
-
import { Components } from "./views/beforeAuth/components/index/index.esm.js";
|
|
473
469
|
export {
|
|
474
470
|
API_METHOD_GROUPS,
|
|
475
471
|
default3 as Accordion,
|
|
@@ -485,12 +481,12 @@ export {
|
|
|
485
481
|
AddCircle,
|
|
486
482
|
default48 as AddPage,
|
|
487
483
|
default49 as AddPageModal,
|
|
488
|
-
|
|
484
|
+
default266 as AddTemplate,
|
|
489
485
|
default93 as AdvancedBarChart,
|
|
490
486
|
default96 as AdvancedDonutChart,
|
|
491
487
|
default5 as Alert,
|
|
492
488
|
default108 as AlertTitle,
|
|
493
|
-
|
|
489
|
+
default278 as AlignmentControl,
|
|
494
490
|
default72 as AndroidSwitch,
|
|
495
491
|
AppBarWrapper as AppBar,
|
|
496
492
|
ApprovalWrapper,
|
|
@@ -516,14 +512,14 @@ export {
|
|
|
516
512
|
BlankCircle,
|
|
517
513
|
BlockFiled,
|
|
518
514
|
BoardWrapper as Board,
|
|
519
|
-
|
|
515
|
+
default279 as BorderControl,
|
|
520
516
|
default113 as BottomNavigation,
|
|
521
517
|
default114 as BottomNavigationAction,
|
|
522
518
|
default115 as Box,
|
|
523
519
|
default6 as BreadCrumb,
|
|
524
520
|
default7 as Button,
|
|
525
521
|
default117 as ButtonBase,
|
|
526
|
-
|
|
522
|
+
default280 as ButtonControls,
|
|
527
523
|
default118 as ButtonGroup,
|
|
528
524
|
COMMON_DATE_VALIDATIONS,
|
|
529
525
|
default8 as CalculationSummary,
|
|
@@ -549,13 +545,12 @@ export {
|
|
|
549
545
|
ClickAwayListener,
|
|
550
546
|
Clock,
|
|
551
547
|
Close,
|
|
552
|
-
|
|
548
|
+
default281 as CodeControls,
|
|
553
549
|
CoinOutline,
|
|
554
550
|
default126 as Collapse,
|
|
555
551
|
default14 as ColorPickerInput,
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
Components,
|
|
552
|
+
default289 as ColumnWidth,
|
|
553
|
+
default269 as CompanySelectionModal,
|
|
559
554
|
default15 as ConfirmModal,
|
|
560
555
|
default127 as Container,
|
|
561
556
|
default89 as ControllerSelect,
|
|
@@ -583,7 +578,7 @@ export {
|
|
|
583
578
|
default131 as DialogContentText,
|
|
584
579
|
default132 as DialogTitle,
|
|
585
580
|
default133 as Divider,
|
|
586
|
-
|
|
581
|
+
default282 as DividerControls,
|
|
587
582
|
Document,
|
|
588
583
|
DocumentDownload,
|
|
589
584
|
DollarCircle,
|
|
@@ -618,12 +613,12 @@ export {
|
|
|
618
613
|
default254 as DynamicToggleButton,
|
|
619
614
|
ERPUIProvider,
|
|
620
615
|
Edit,
|
|
621
|
-
|
|
616
|
+
default270 as EditSectionModal,
|
|
622
617
|
default25 as Editor,
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
618
|
+
default272 as EditorCanvas,
|
|
619
|
+
default273 as EditorHeader,
|
|
620
|
+
default274 as EditorSection,
|
|
621
|
+
default275 as EditorSidebar,
|
|
627
622
|
Email,
|
|
628
623
|
default26 as EntityViewWrapper,
|
|
629
624
|
default229 as ErpLoader,
|
|
@@ -636,7 +631,7 @@ export {
|
|
|
636
631
|
default135 as Fab,
|
|
637
632
|
default136 as Fade,
|
|
638
633
|
default28 as Fallback,
|
|
639
|
-
|
|
634
|
+
default290 as FieldSelect,
|
|
640
635
|
FilledCircle,
|
|
641
636
|
default137 as FilledInput,
|
|
642
637
|
default29 as Filter,
|
|
@@ -645,14 +640,14 @@ export {
|
|
|
645
640
|
default30 as Footer,
|
|
646
641
|
default138 as FormControl,
|
|
647
642
|
default139 as FormControlLabel,
|
|
648
|
-
|
|
643
|
+
default288 as FormFields,
|
|
649
644
|
default140 as FormGroup,
|
|
650
645
|
default31 as FormHeader,
|
|
651
646
|
default141 as FormHelperText,
|
|
652
647
|
default142 as FormLabel,
|
|
653
648
|
default230 as FormLoader,
|
|
654
649
|
default233 as FormParser,
|
|
655
|
-
|
|
650
|
+
default286 as FullScreenLayout,
|
|
656
651
|
default32 as Gantt,
|
|
657
652
|
default143 as GlobalStyles,
|
|
658
653
|
default144 as Grid,
|
|
@@ -666,7 +661,7 @@ export {
|
|
|
666
661
|
default35 as HeaderCard,
|
|
667
662
|
default146 as Hidden,
|
|
668
663
|
default36 as HrLine,
|
|
669
|
-
|
|
664
|
+
default268 as HtmlThumbnailPreview,
|
|
670
665
|
INVENTORY_ADD_MODE_DISABLED_FIELDS,
|
|
671
666
|
INVENTORY_ALWAYS_DISABLED_FIELDS,
|
|
672
667
|
INVENTORY_EDIT_MODE_DISABLED_FIELDS,
|
|
@@ -677,7 +672,7 @@ export {
|
|
|
677
672
|
default147 as Icon,
|
|
678
673
|
default148 as IconButton,
|
|
679
674
|
Image,
|
|
680
|
-
|
|
675
|
+
default283 as ImageControls,
|
|
681
676
|
default149 as ImageList,
|
|
682
677
|
default150 as ImageListItem,
|
|
683
678
|
default151 as ImageListItemBar,
|
|
@@ -818,9 +813,9 @@ export {
|
|
|
818
813
|
default66 as SearchBar,
|
|
819
814
|
SearchStatus,
|
|
820
815
|
default67 as SearchableSelect,
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
816
|
+
default291 as SectionEditForm,
|
|
817
|
+
default276 as SectionFlowEditor,
|
|
818
|
+
default277 as SectionFormatPanel,
|
|
824
819
|
default68 as Select,
|
|
825
820
|
SelectEditForm,
|
|
826
821
|
SettingsFallback,
|
|
@@ -829,8 +824,8 @@ export {
|
|
|
829
824
|
default51 as SharedPageModal,
|
|
830
825
|
default52 as SharedPageView,
|
|
831
826
|
Sidebar,
|
|
832
|
-
|
|
833
|
-
|
|
827
|
+
default287 as SidebarLayout,
|
|
828
|
+
default284 as SignatureControls,
|
|
834
829
|
default179 as Slider,
|
|
835
830
|
default70 as Snackbar,
|
|
836
831
|
default180 as SnackbarContent,
|
|
@@ -860,19 +855,19 @@ export {
|
|
|
860
855
|
default195 as TableBody,
|
|
861
856
|
default196 as TableCell,
|
|
862
857
|
default197 as TableContainer,
|
|
863
|
-
|
|
864
|
-
|
|
858
|
+
default285 as TableControls,
|
|
859
|
+
default292 as TableEditForm,
|
|
865
860
|
default198 as TableFooter,
|
|
866
861
|
default199 as TableHead,
|
|
867
862
|
default200 as TablePagination,
|
|
868
863
|
default201 as TableRow,
|
|
869
864
|
default202 as TableSortLabel,
|
|
870
865
|
default74 as Tabs,
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
866
|
+
default267 as TemplateModal,
|
|
867
|
+
default271 as TemplateNameModal,
|
|
868
|
+
default265 as Templates,
|
|
874
869
|
default75 as TextArea,
|
|
875
|
-
|
|
870
|
+
default297 as TextControls,
|
|
876
871
|
TextEditForm,
|
|
877
872
|
default76 as TextField,
|
|
878
873
|
default203 as TextareaAutosize,
|
|
@@ -945,11 +940,11 @@ export {
|
|
|
945
940
|
createLightTheme2 as createTheme,
|
|
946
941
|
createdOnAndBy,
|
|
947
942
|
dashBoardDrive,
|
|
948
|
-
|
|
943
|
+
default302 as dashboardSlice,
|
|
949
944
|
dateRangeValidation,
|
|
950
945
|
dateTimeValidation,
|
|
951
946
|
dateValidation,
|
|
952
|
-
|
|
947
|
+
default296 as dayjs,
|
|
953
948
|
defaultCompany,
|
|
954
949
|
defaultCurrencyFormat,
|
|
955
950
|
defaultCurrencySymbol,
|
|
@@ -958,7 +953,6 @@ export {
|
|
|
958
953
|
displayPhone,
|
|
959
954
|
downloadDoc,
|
|
960
955
|
downloadFile,
|
|
961
|
-
dynamicFields,
|
|
962
956
|
dynamicSelectAdd,
|
|
963
957
|
element,
|
|
964
958
|
enqueueSnackbar,
|
|
@@ -973,13 +967,10 @@ export {
|
|
|
973
967
|
fetchItems,
|
|
974
968
|
fetchRentalResponseItems,
|
|
975
969
|
fetchRfqItemsByIdForResponse,
|
|
976
|
-
fields,
|
|
977
|
-
default264 as fileSize,
|
|
978
970
|
filterAccessibleModules,
|
|
979
971
|
filterCoaByCompanyIdOrNull,
|
|
980
972
|
findById,
|
|
981
|
-
|
|
982
|
-
default266 as formBuilderDeConversion,
|
|
973
|
+
default264 as formBuilderDeConversion,
|
|
983
974
|
formatAmount,
|
|
984
975
|
formatAmountWithCurrency,
|
|
985
976
|
formatAmountWithCurrencyData,
|
|
@@ -1044,11 +1035,11 @@ export {
|
|
|
1044
1035
|
handleCompareDateRangeSync,
|
|
1045
1036
|
handleRegularUpload,
|
|
1046
1037
|
hasValue,
|
|
1047
|
-
|
|
1038
|
+
default299 as headerSlice,
|
|
1048
1039
|
images,
|
|
1049
1040
|
initialFilter,
|
|
1050
1041
|
initialStyles,
|
|
1051
|
-
|
|
1042
|
+
default301 as inventoryReportsTitleBarSlice,
|
|
1052
1043
|
isBetweenTheDates,
|
|
1053
1044
|
isJSONString,
|
|
1054
1045
|
isJsonParse,
|
|
@@ -1078,7 +1069,7 @@ export {
|
|
|
1078
1069
|
removeIdStaticIdsFromMongoObject,
|
|
1079
1070
|
renderEmptyRowsFallback,
|
|
1080
1071
|
renderValueField,
|
|
1081
|
-
|
|
1072
|
+
default300 as reportsTitleBarSlice,
|
|
1082
1073
|
resetHeaderState,
|
|
1083
1074
|
resetInventoryReportsTitleBarState,
|
|
1084
1075
|
resetLanguagesState,
|
|
@@ -1112,7 +1103,7 @@ export {
|
|
|
1112
1103
|
setUsers,
|
|
1113
1104
|
setWarehouseLocations,
|
|
1114
1105
|
sharePage,
|
|
1115
|
-
|
|
1106
|
+
default298 as shareSlice,
|
|
1116
1107
|
showSnackBar,
|
|
1117
1108
|
skuGenerator,
|
|
1118
1109
|
sortData,
|
|
@@ -1140,11 +1131,11 @@ export {
|
|
|
1140
1131
|
useFormDataEffect,
|
|
1141
1132
|
useFormDataProcessor,
|
|
1142
1133
|
useLanguage,
|
|
1143
|
-
|
|
1134
|
+
default294 as useLanguageFallback,
|
|
1144
1135
|
useLibraryDispatch,
|
|
1145
1136
|
useLibrarySelector,
|
|
1146
|
-
|
|
1147
|
-
|
|
1137
|
+
default295 as useLocationFilter,
|
|
1138
|
+
default293 as useMaterialCalculations,
|
|
1148
1139
|
default207 as useMediaQuery,
|
|
1149
1140
|
usePages,
|
|
1150
1141
|
usePermissions,
|
|
@@ -1152,7 +1143,6 @@ export {
|
|
|
1152
1143
|
useSnackbar,
|
|
1153
1144
|
validateApiClient,
|
|
1154
1145
|
validateDiscountValidity,
|
|
1155
|
-
validator,
|
|
1156
1146
|
valueWithCurrency
|
|
1157
1147
|
};
|
|
1158
1148
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|