@asaleh37/ui-base 25.8.1-4 → 25.8.1-6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.github/workflows/publish-npm.yml +49 -49
  2. package/README.md +51 -51
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +1 -1
  6. package/dist/index.mjs.map +1 -1
  7. package/eslint.config.js +29 -29
  8. package/index.html +13 -13
  9. package/package.json +120 -120
  10. package/rollup.config-1748377725725.cjs +34 -34
  11. package/rollup.config.js +45 -45
  12. package/src/components/App.tsx +123 -123
  13. package/src/components/BaseApp.tsx +53 -53
  14. package/src/components/administration/admin/ChangePasswordPanel.tsx +128 -128
  15. package/src/components/administration/admin/OrgMemberRoleForm.tsx +83 -83
  16. package/src/components/administration/admin/OrganizationApplicationModuleGrid.tsx +107 -107
  17. package/src/components/administration/admin/OrganizationGrid.tsx +118 -118
  18. package/src/components/administration/admin/OrganizationMemberGrid.tsx +176 -176
  19. package/src/components/administration/admin/OrganizationMemberRoleGrid.tsx +87 -87
  20. package/src/components/administration/admin/OrganizationRankGrid.tsx +133 -133
  21. package/src/components/administration/admin/OrganizationUnitGrid.tsx +143 -143
  22. package/src/components/administration/admin/OrganizationUnitTypeGrid.tsx +108 -108
  23. package/src/components/administration/admin/PersonGrid.tsx +361 -361
  24. package/src/components/administration/admin/RoleAuthoritiesForm.tsx +82 -82
  25. package/src/components/administration/admin/SystemApplicationAuthorityGrid.tsx +117 -117
  26. package/src/components/administration/admin/SystemApplicationGrid.tsx +83 -83
  27. package/src/components/administration/admin/SystemApplicationModuleGrid.tsx +96 -96
  28. package/src/components/administration/admin/SystemApplicationRoleAuthorityGrid.tsx +75 -75
  29. package/src/components/administration/admin/SystemApplicationRoleGrid.tsx +116 -116
  30. package/src/components/administration/dev/AttachmentConfigGrid.tsx +223 -223
  31. package/src/components/administration/dev/AttachmentGrid.tsx +172 -172
  32. package/src/components/administration/dev/BluePrintGrid.tsx +129 -129
  33. package/src/components/administration/dev/DashboardGrid.tsx +173 -173
  34. package/src/components/administration/dev/DashboardWidgetGrid.tsx +164 -164
  35. package/src/components/administration/dev/DataQueryGrid.tsx +206 -206
  36. package/src/components/administration/dev/DataQueryParameterGrid.tsx +191 -191
  37. package/src/components/administration/dev/DataQueryParametersForm.tsx +84 -84
  38. package/src/components/administration/dev/DatasourceConnectionGrid.tsx +150 -150
  39. package/src/components/administration/dev/EntityParameterGrid.tsx +279 -279
  40. package/src/components/administration/dev/LookupGrid.tsx +120 -120
  41. package/src/components/administration/dev/MailAttachmentGrid.tsx +155 -155
  42. package/src/components/administration/dev/MailBodyGrid.tsx +216 -216
  43. package/src/components/administration/dev/MailNotificationQueueGrid.tsx +245 -245
  44. package/src/components/administration/dev/MailRecipientGrid.tsx +169 -169
  45. package/src/components/administration/dev/MailSenderConfigGrid.tsx +478 -478
  46. package/src/components/administration/dev/MailTemplateGrid.tsx +384 -384
  47. package/src/components/administration/dev/NotificationGrid.tsx +432 -432
  48. package/src/components/administration/dev/NotificationQueueGrid.tsx +222 -222
  49. package/src/components/administration/dev/ReportGrid.tsx +506 -506
  50. package/src/components/administration/dev/ReportParameterGrid.tsx +186 -186
  51. package/src/components/administration/dev/ReportParametersForm.tsx +84 -84
  52. package/src/components/administration/dev/WidgetGrid.tsx +431 -431
  53. package/src/components/administration/dev/WorkflowDocumentActionGrid.tsx +264 -264
  54. package/src/components/administration/dev/WorkflowDocumentActionHistoryGrid.tsx +172 -172
  55. package/src/components/administration/dev/WorkflowDocumentActionMailGrid.tsx +161 -161
  56. package/src/components/administration/dev/WorkflowDocumentGrid.tsx +377 -377
  57. package/src/components/administration/dev/WorkflowDocumentMailLogGrid.tsx +218 -218
  58. package/src/components/administration/dev/WorkflowDocumentStatusGrid.tsx +243 -243
  59. package/src/components/common/ChangeOrgForm.tsx +81 -81
  60. package/src/components/common/Home.tsx +43 -43
  61. package/src/components/common/LanguageSwitcher.tsx +25 -25
  62. package/src/components/common/LayoutHandlers.tsx +11 -11
  63. package/src/components/common/LoadingMask.tsx +24 -24
  64. package/src/components/common/Login.tsx +214 -214
  65. package/src/components/common/MyNotificationsPanel.tsx +109 -109
  66. package/src/components/common/NotificationItem.tsx +138 -138
  67. package/src/components/index.ts +11 -11
  68. package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +324 -324
  69. package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +248 -248
  70. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -60
  71. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +231 -231
  72. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +106 -106
  73. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +64 -64
  74. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +93 -93
  75. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +65 -65
  76. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +64 -64
  77. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -237
  78. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/SystemLookupCombobox.tsx +55 -55
  79. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +17 -17
  80. package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +387 -387
  81. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +189 -189
  82. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +998 -998
  83. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridMultiRecordAction.tsx +89 -89
  84. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridRecordAction.tsx +95 -95
  85. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridTopBar.tsx +227 -227
  86. package/src/components/templates/TransferList.tsx +256 -256
  87. package/src/components/templates/Window/ConfirmationWindow.tsx +55 -55
  88. package/src/components/templates/attachment/AttachmentCard.tsx +141 -141
  89. package/src/components/templates/attachment/AttachmentImageViewer.tsx +83 -83
  90. package/src/components/templates/attachment/AttachmentPanel.tsx +285 -285
  91. package/src/components/templates/index.ts +33 -33
  92. package/src/components/templates/report/ExcelReportViewer.tsx +71 -71
  93. package/src/components/templates/report/ReportViewer.tsx +382 -382
  94. package/src/components/templates/visuals/DashboardRouteView.tsx +9 -9
  95. package/src/components/templates/visuals/DashboardViewer.tsx +148 -148
  96. package/src/components/templates/visuals/WidgetViewer.tsx +198 -198
  97. package/src/components/templates/visuals/charts/TemplateBarChart.tsx +23 -23
  98. package/src/components/templates/visuals/charts/TemplateDataCard.tsx +35 -35
  99. package/src/components/templates/visuals/charts/TemplateGauge.tsx +21 -21
  100. package/src/components/templates/visuals/charts/TemplateLineChart.tsx +22 -22
  101. package/src/components/templates/visuals/charts/TemplateLineProgress.tsx +42 -42
  102. package/src/components/templates/visuals/charts/TemplatePieChart.tsx +24 -24
  103. package/src/components/templates/workflow/WorkflowDocumentPanel.tsx +606 -606
  104. package/src/components/templates/workflow/WorkflowDocumentTimeLine.tsx +140 -140
  105. package/src/components/templates/workflow/WorkflowRouteComponent.tsx +14 -14
  106. package/src/hooks/UseConfirmationWindow.tsx +54 -54
  107. package/src/hooks/UseMobile.tsx +13 -13
  108. package/src/hooks/UseSession.tsx +59 -59
  109. package/src/hooks/UseWindow.tsx +107 -107
  110. package/src/hooks/index.ts +7 -7
  111. package/src/hooks/useApiActions.ts +124 -124
  112. package/src/hooks/useAxios.tsx +316 -316
  113. package/src/hooks/useInterval.tsx +23 -23
  114. package/src/hooks/useLoadingMask.tsx +16 -16
  115. package/src/hooks/useLookupGridColumn.tsx +35 -35
  116. package/src/index.ts +4 -4
  117. package/src/layout/DrawerHeader.tsx +10 -10
  118. package/src/layout/Layout.tsx +90 -90
  119. package/src/layout/MainContent.tsx +117 -117
  120. package/src/layout/MobileDrawer.tsx +103 -103
  121. package/src/layout/NavigationTree.tsx +298 -298
  122. package/src/layout/NotificationButton.tsx +207 -207
  123. package/src/layout/RouteWrapper.tsx +63 -63
  124. package/src/layout/SideBar.tsx +85 -85
  125. package/src/layout/TopBar.tsx +289 -289
  126. package/src/locales/arabic/adminLocalsAr.json +93 -93
  127. package/src/locales/arabic/common.json +44 -44
  128. package/src/locales/arabic/devLocalsAr.json +317 -317
  129. package/src/locales/arabic/index.ts +9 -9
  130. package/src/locales/english/adminLocalsEn.json +96 -96
  131. package/src/locales/english/common.json +43 -43
  132. package/src/locales/english/devLocalsEn.json +318 -318
  133. package/src/locales/english/index.ts +9 -9
  134. package/src/locales/i18n.ts +8 -8
  135. package/src/locales/index.ts +9 -9
  136. package/src/main.tsx +23 -23
  137. package/src/navigationItems/Administration/adminNavigationItems.tsx +223 -223
  138. package/src/navigationItems/Administration/index.tsx +16 -16
  139. package/src/navigationItems/common/CommonNavigationItems.tsx +12 -12
  140. package/src/navigationItems/common/index.tsx +7 -7
  141. package/src/navigationItems/index.tsx +35 -35
  142. package/src/redux/features/administration/AdministrationStoresMetaData.ts +148 -148
  143. package/src/redux/features/common/AppInfoSlice.ts +65 -65
  144. package/src/redux/features/common/AppLayoutSlice.ts +29 -29
  145. package/src/redux/features/common/CommonStoreSlice.ts +44 -44
  146. package/src/redux/features/common/LoadingMaskSlice.ts +30 -30
  147. package/src/redux/features/common/SideBarSlice.ts +27 -27
  148. package/src/redux/features/common/UserSessionSlice.ts +54 -54
  149. package/src/redux/store.ts +29 -29
  150. package/src/routes/administration/adminRoutes.tsx +99 -99
  151. package/src/routes/administration/devRoutes.tsx +129 -129
  152. package/src/routes/administration/index.ts +8 -8
  153. package/src/routes/index.ts +11 -11
  154. package/src/routes/types/index.ts +6 -6
  155. package/src/styles/index.css +19 -19
  156. package/src/types/index.ts +8 -8
  157. package/src/util/AppUtils.ts +53 -53
  158. package/src/util/constants.ts +6 -6
  159. package/src/util/index.ts +2 -2
  160. package/tsconfig.json +135 -135
  161. package/vite.config.ts +24 -24
@@ -1,49 +1,49 @@
1
- name: Publish to npm
2
-
3
- on:
4
- push:
5
- branches:
6
- - prod
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout repo
14
- uses: actions/checkout@v4
15
-
16
- - name: Use Node.js
17
- uses: actions/setup-node@v4
18
- with:
19
- node-version: 20
20
- registry-url: "https://registry.npmjs.org/"
21
-
22
- - name: Install dependencies
23
- run: npm install --force
24
-
25
- - name: Run build (optional)
26
- run: npm run build
27
-
28
- - name: Publish to npm
29
- run: npm publish
30
- env:
31
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
32
- notify:
33
- needs: publish
34
- runs-on: ubuntu-latest
35
- if: always() # ensures this step runs regardless of success or failure
36
- steps:
37
- - name: Send email notification
38
- uses: dawidd6/action-send-mail@v3
39
- with:
40
- server_address: smtp.gmail.com
41
- server_port: 587
42
- username: ${{ secrets.SMTP_USERNAME }}
43
- password: ${{ secrets.SMTP_PASSWORD }}
44
- subject: ui-base package publish job is finished
45
- to: ahmed.saleh.mohamed.92@gmail.com
46
- from: ${{ secrets.SMTP_USERNAME }}
47
- body: |
48
- The GitHub Actions workflow has finished.
49
- Status: ${{ needs.publish.result }}
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - prod
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout repo
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Use Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ registry-url: "https://registry.npmjs.org/"
21
+
22
+ - name: Install dependencies
23
+ run: npm install --force
24
+
25
+ - name: Run build (optional)
26
+ run: npm run build
27
+
28
+ - name: Publish to npm
29
+ run: npm publish
30
+ env:
31
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
32
+ notify:
33
+ needs: publish
34
+ runs-on: ubuntu-latest
35
+ if: always() # ensures this step runs regardless of success or failure
36
+ steps:
37
+ - name: Send email notification
38
+ uses: dawidd6/action-send-mail@v3
39
+ with:
40
+ server_address: smtp.gmail.com
41
+ server_port: 587
42
+ username: ${{ secrets.SMTP_USERNAME }}
43
+ password: ${{ secrets.SMTP_PASSWORD }}
44
+ subject: ui-base package publish job is finished
45
+ to: ahmed.saleh.mohamed.92@gmail.com
46
+ from: ${{ secrets.SMTP_USERNAME }}
47
+ body: |
48
+ The GitHub Actions workflow has finished.
49
+ Status: ${{ needs.publish.result }}
package/README.md CHANGED
@@ -1,52 +1,52 @@
1
- **UI Base** is a React JS template designed for quickly scaffolding robust, production-ready Enterprise Applications Interface. It incorporates enterprise-grade architectural patterns and integrates a suite of essential features to accelerate development, including:
2
-
3
- - A modular, layered architecture with a clean separation of concerns and industry-standard project structure.
4
-
5
- - [ ] Create new react project using vite.
6
-
7
- ```javascript
8
- npm create vite@latest YOUR_APP_NAME //choose typescript as template
9
- cd YOUR_APP_NAME
10
- npm install
11
- ```
12
-
13
- - [ ] Install the UI Base Dependency.
14
-
15
- ```javascript
16
- npm install @asaleh37/ui-base --force
17
- ```
18
-
19
- - [ ] replace the content of the file src/main.tsx
20
-
21
- ```javascript
22
- import { BaseApp } from "@asaleh37/ui-base";
23
- import { createRoot } from "react-dom/client";
24
-
25
- createRoot(document.getElementById("root")!).render(
26
-   <BaseApp
27
-     apiBaseUrl="YOUR_API_URL"
28
-     appLogo={"YOUR_APP_LOGO_PATH"}
29
-     appName="YOUR_APP_NAME"
30
-     appVersion="YOUR_APP_VERSION"
31
-     businessCommonStoresMetaData={{}}
32
-     businessNavigationItems={[]}
33
-     businessReduxReducers={{}}
34
-     businessRoutes={[]}
35
-     documentTitle="YOUR_HTML_DOCUMENT_TITLE"
36
-     enableAdministrationModule={true} // to enable administration module or not
37
- /* // To Change APP Coloring Theme modify the following colors
38
-     appTheme={{
39
-       dark: { primaryColor: "#b3a10c", secondaryColor: "#2b3c46" },
40
-       light: { primaryColor: "#2b3c46", secondaryColor: "#b3a10c" },
41
-     }}
42
- */
43
-   muiPremiumKey="YOUR_MUI_PREMIUM_KEY"
44
-   />
45
- );
46
- ```
47
-
48
- - [ ] then go to the root of your project and then run the following command
49
-
50
- ```javascript
51
- npm run dev
1
+ **UI Base** is a React JS template designed for quickly scaffolding robust, production-ready Enterprise Applications Interface. It incorporates enterprise-grade architectural patterns and integrates a suite of essential features to accelerate development, including:
2
+
3
+ - A modular, layered architecture with a clean separation of concerns and industry-standard project structure.
4
+
5
+ - [ ] Create new react project using vite.
6
+
7
+ ```javascript
8
+ npm create vite@latest YOUR_APP_NAME //choose typescript as template
9
+ cd YOUR_APP_NAME
10
+ npm install
11
+ ```
12
+
13
+ - [ ] Install the UI Base Dependency.
14
+
15
+ ```javascript
16
+ npm install @asaleh37/ui-base --force
17
+ ```
18
+
19
+ - [ ] replace the content of the file src/main.tsx
20
+
21
+ ```javascript
22
+ import { BaseApp } from "@asaleh37/ui-base";
23
+ import { createRoot } from "react-dom/client";
24
+
25
+ createRoot(document.getElementById("root")!).render(
26
+   <BaseApp
27
+     apiBaseUrl="YOUR_API_URL"
28
+     appLogo={"YOUR_APP_LOGO_PATH"}
29
+     appName="YOUR_APP_NAME"
30
+     appVersion="YOUR_APP_VERSION"
31
+     businessCommonStoresMetaData={{}}
32
+     businessNavigationItems={[]}
33
+     businessReduxReducers={{}}
34
+     businessRoutes={[]}
35
+     documentTitle="YOUR_HTML_DOCUMENT_TITLE"
36
+     enableAdministrationModule={true} // to enable administration module or not
37
+ /* // To Change APP Coloring Theme modify the following colors
38
+     appTheme={{
39
+       dark: { primaryColor: "#b3a10c", secondaryColor: "#2b3c46" },
40
+       light: { primaryColor: "#2b3c46", secondaryColor: "#b3a10c" },
41
+     }}
42
+ */
43
+   muiPremiumKey="YOUR_MUI_PREMIUM_KEY"
44
+   />
45
+ );
46
+ ```
47
+
48
+ - [ ] then go to the root of your project and then run the following command
49
+
50
+ ```javascript
51
+ npm run dev
52
52
  ```
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("react-redux"),t=require("react-router-dom"),i=require("react/jsx-runtime"),o=require("@fortawesome/fontawesome-svg-core"),a=require("@fortawesome/free-brands-svg-icons"),r=require("@fortawesome/free-regular-svg-icons"),n=require("@fortawesome/free-solid-svg-icons");require("react-toastify/dist/ReactToastify.css");var d=require("@mui/material"),l=require("@emotion/react"),s=require("react"),p=require("@mui/material/styles"),c=require("@mui/material/CssBaseline"),u=require("@mui/material/AppBar"),m=require("@mui/material/Toolbar"),T=require("@fortawesome/react-fontawesome"),A=require("@reduxjs/toolkit"),_=require("react-toastify"),f=require("axios"),I=require("i18next"),E=require("react-i18next"),O=require("@mui/material/List"),N=require("@mui/material/Card"),y=require("@mui/material/CardHeader"),h=require("@mui/material/ListItemText"),R=require("@mui/material/ListItemIcon"),L=require("@mui/material/Checkbox"),C=require("@mui/material/Button"),g=require("@mui/material/Divider"),D=require("@mui/x-date-pickers"),P=require("@mui/x-date-pickers/AdapterMoment"),M=require("moment"),x=require("zod"),b=require("react-hook-form"),S=require("@hookform/resolvers/zod"),U=require("@mui/material/CardActions"),w=require("@mui/material/CardContent"),v=require("@mui/material/CardMedia"),F=require("@mui/material/Typography"),B=require("@mui/x-data-grid-premium"),k=require("@mui/x-charts"),j=require("@mui/material/LinearProgress"),G=require("@mui/material/Box"),W=require("@mui/x-charts/PieChart"),Y=require("@mui/material/IconButton"),V=require("@mui/material/Drawer"),q=require("@react-spring/web"),K=require("@mui/material/Collapse"),z=require("@mui/x-tree-view/RichTreeView"),H=require("@mui/x-tree-view/TreeItem"),Q=require("@mui/x-tree-view/useTreeItem2"),Z=require("@mui/x-tree-view/TreeItem2"),$=require("@mui/x-tree-view/TreeItem2Icon"),X=require("@mui/x-tree-view/TreeItem2Provider"),J=require("@mui/x-tree-view/TreeItem2DragAndDropOverlay"),ee=require("stylis-plugin-rtl"),te=require("stylis"),ie=require("@emotion/cache"),oe=require("@emotion/styled"),ae=require("@mui/material/colors"),re=require("@mui/material/SwipeableDrawer"),ne=require("@mui/x-license"),de=require("@mui/lab"),le=require("@mui/x-tree-view/models");function se(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var pe=se(s),ce=se(x);!function(e,t){void 0===t&&(t={});var i=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("html,\nbody {\n height: 100vh;\n margin: 0;\n padding: 0;\n}\n\n#root {\n height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.red-row {\n background-color: #f0d8d8;\n}\n");const ue=(e=768)=>{const[t,i]=s.useState(window.innerWidth<e);return s.useEffect((()=>{const t=()=>i(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}),[e]),t},me=350,Te={themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},Ae=A.createSlice({name:"AppLayout",initialState:Te,reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),_e=Ae.actions;var fe=Ae.reducer;const Ie=A.createSlice({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Ee,hideLoadingMask:Oe}=Ie.actions;var Ne=Ie.reducer;const ye=()=>{const t=e.useDispatch();return{show:e=>{t(Ee(e))},hide:()=>{t(Oe())}}},he=A.createSlice({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Re=he.actions;var Le=he.reducer;const Ce=()=>{const t=ye(),i=e.useDispatch(),o=e.useSelector((e=>e.AppInfo.value.apiBaseUrl)),a=f.create({baseURL:o,timeout:6e5,withCredentials:!0});a.defaults.withCredentials=!0,a.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(Re.setUnAuthenticated()),_.toast.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))_.toast.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then((e=>{_.toast.error(e)}))}else _.toast.error(e.response.data);else _.toast.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);const i=await a.get(e.endPointURI,{params:{...e.parameters},withCredentials:!0,headers:e.headers,responseType:e?.responseType});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handlePostRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let i=await a.post(e.endPointURI,e.data,{params:e.parameters,responseType:e?.responseType,headers:e?.headers});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handleDeleteRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let i=await a.delete(e.endPointURI,{params:{...e.parameters},responseType:e?.responseType,headers:e?.headers});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},HandleDownloadHTTPPostPDF:async(e={endPointURI:"",parameters:{},data:{}})=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);const i=await a.post(e.endPointURI,e.data,{responseType:"blob"});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handleUploadRequest:async e=>{if(null===e.files||0===e.files.length)return _.toast.error("You must add files to upload"),"ERROR";const i=new FormData;for(const t of e.files)i.append("files",t);void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let o=await a.post(e.endPointURI,i,{params:e?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==o?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(o),o):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(o),"ERROR")}}},ge=e=>{const[t,o]=s.useState(!1),{t:a}=E.useTranslation();return{ConfirmationWindow:()=>i.jsxs(d.Dialog,{open:t,children:[i.jsx(d.DialogTitle,{children:e.title}),i.jsx(d.DialogContent,{children:i.jsx(d.DialogContentText,{children:e.body})}),i.jsxs(d.DialogActions,{children:[i.jsx(d.Button,{variant:"contained",color:"primary",onClick:()=>{o(!1)},children:a("NO_LABEL")}),i.jsx(d.Button,{variant:"contained",color:"error",onClick:()=>{e.onConfirmationCallBk(),o(!1)},autoFocus:!0,children:a("YES_LABEL")})]})]}),open:t,setOpen:o}},De=()=>{const t=e.useSelector((e=>e.UserSession)),i=t.value;return{UserSession:t,isUserAuthorized:e=>{if(t?.value?.authorities)for(let i of t.value.authorities){if("DEVELOPMENT_ADMIN"===e&&("DEVELOPMENT_ADMIN"===i?.authority||"ORGANIZATION_ADMIN"===i?.authority))return!0;if("ORGANIZATION_ADMIN"===e&&"ORGANIZATION_ADMIN"===i?.authority)return!0;if("DEVELOPMENT_ADMIN"!==e&&"ORGANIZATION_ADMIN"!==e&&("ORGANIZATION_ADMIN"===i?.authority||"DEVELOPMENT_ADMIN"===i?.authority||"SYSTEM_ADMIN"===i?.authority||i?.authority===e))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(i?.currentOrganization?.systemApplicationModules)for(const t of i.currentOrganization.systemApplicationModules)if(t.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:i}},Pe=e=>{const[t,o]=s.useState(!1);return{windowState:t,setWindowState:o,Window:a=>i.jsx(d.Modal,{open:t,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!t&&e?.onCloseCallBack&&e.onCloseCallBack()},children:i.jsxs(d.Box,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i.jsx(d.AppBar,{position:"static",children:i.jsxs(d.Toolbar,{variant:"dense",children:[i.jsx(T.FontAwesomeIcon,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),i.jsx(d.Typography,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),i.jsx("div",{style:{flexGrow:1}}),i.jsx(d.IconButton,{onClick:()=>{o(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:i.jsx(T.FontAwesomeIcon,{icon:"xmark-square"})})]})}),i.jsx(d.Paper,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:a?.children})]})})}},Me=A.createSlice({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:xe,setStoresMetaData:be}=Me.actions;var Se=Me.reducer;const Ue=t=>{const i=e.useSelector((e=>e.commonStores.stores)),o=e.useDispatch(),a=De(),{handleGetRequest:r,handlePostRequest:n,handleDeleteRequest:d}=Ce();return{reloadData:async e=>{if(t?.commonStoreKey){const e=Object.keys(i);for(const n of e)if(n===t.commonStoreKey&&(void 0===i[n]?.authority||null===i[n]?.authority||a.isUserAuthorized(i[n]?.authority))&&""!=i[n]?.url){await r({endPointURI:i[n].url,showMask:!1,successCallBkFn:e=>{o(xe({storeKey:n,data:e.data})),t.setData(e.data)},failureCallBkFn:()=>{o(xe({storeKey:n,data:[]})),t.setData([])}});break}}else t?.findAll&&await r({endPointURI:t.findAll,showMask:!0,parameters:e||{},successCallBkFn:e=>{t.setData(e.data)}})},loadRecordById:async e=>{let i=null;if(t?.findById){const o={};o[t?.findByIdParamName||"id"]=e,await r({endPointURI:t.findById,showMask:!0,parameters:o,successCallBkFn:e=>{i=e.data}})}return i},saveRecord:async e=>{let i=null;return t?.save&&await n({endPointURI:t.save,data:e,showMask:!0,successCallBkFn:e=>{i=e.data}}),i},deleteRecordById:async e=>{let i=!0;if(t?.deleteById){const o={};o[t?.deleteByIdParamName||"id"]=e,await d({endPointURI:t.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{i=!0},failureCallBkFn:()=>{i=!1}})}return i}}},we=e=>{const{t:t}=E.useTranslation();return i.jsx(d.TextField,{...e,slotProps:{inputLabel:{shrink:!0}},label:i.jsx(i.Fragment,{children:e?.label?t(e.label):""})})};function ve(e,t){return e.filter((e=>-1===t.indexOf(e)))}function Fe(e,t){return e.filter((e=>-1!==t.indexOf(e)))}const Be=({valueField:e="id",displayField:t="name",options:o=[],selectedOptions:a=[],setSelection:r})=>{const[n,l]=pe.useState([]),[s,p]=pe.useState([]),[c,u]=pe.useState([]),[m,T]=pe.useState(""),[A,_]=pe.useState(""),f=Fe(n,s),I=Fe(n,c);pe.useEffect((()=>{o&&p([...o])}),[o]),pe.useEffect((()=>{a&&u([...a])}),[a]);const E=e=>()=>{const t=n.indexOf(e),i=[...n];-1===t?i.push(e):i.splice(t,1),l(i)},D=e=>Fe(n,e).length,P=e=>()=>{var t,i;D(e)===e.length?l(ve(n,e)):l((t=n,i=e,[...t,...ve(i,t)]))},M=(o,a,r)=>{const l=a.filter((e=>{if(e[t]){const i=e[t];if("left"===r&&i.toLocaleLowerCase().includes(m.toLocaleLowerCase()))return!0;if("right"===r&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return i.jsxs(N,{sx:{height:"100%"},children:[i.jsx(y,{sx:{px:2,py:1},avatar:i.jsx(L,{onClick:P(l),checked:D(l)===l.length&&0!==l.length,indeterminate:D(l)!==l.length&&0!==D(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:o,subheader:`${D(a)} / ${a.length} Selected`}),i.jsx(d.Box,{sx:{width:"100%",padding:1},children:i.jsx(we,{fullWidth:!0,label:"search",value:"left"===r?m:A,onChange:e=>{"left"===r?T(e.target.value):_(e.target.value)}})}),i.jsx(g,{}),i.jsx(O,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((o=>(o[e],i.jsxs(d.ListItemButton,{role:"listitem",onClick:E(o),sx:{cursor:"pointer"},children:[i.jsx(R,{children:i.jsx(L,{checked:-1!==n.indexOf(o),tabIndex:-1,disableRipple:!0})}),i.jsx(h,{id:o[e],primary:o[t]})]},o[e]))))})]})};return i.jsxs(d.Grid2,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i.jsx(d.Grid2,{sx:{height:"100%",flex:1},children:M("Available Items",s,"left")}),i.jsx(d.Grid2,{children:i.jsxs(d.Grid2,{container:!0,direction:"column",alignItems:"center",children:[i.jsx(C,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{u((e=>{let t=c.concat(f);return r(t),t})),p(ve(s,f)),l(ve(n,f))},disabled:0===f.length,"aria-label":"move selected right",children:">"}),i.jsx(C,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(I)),u((e=>{let t=ve(c,I);return r(t),t})),l(ve(n,I))},disabled:0===I.length,"aria-label":"move selected left",children:"<"})]})}),i.jsx(d.Grid2,{sx:{height:"100%",flex:1},children:M("Currently Selected",c,"right")})]})},ke=e=>{const{t:t}=E.useTranslation();return i.jsx(d.FormControlLabel,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i.jsx(d.Checkbox,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},je=t=>{const o=e.useSelector((e=>e.AppLayout)),{t:a}=E.useTranslation();return i.jsx(d.Autocomplete,{sx:t.sx,value:(e=>{for(let i of t.options)if(i[t.valueField]==e)return i;return null})(t.value),options:t.options,disabled:t.disabled,onChange:(e,i)=>{if(void 0!==t.onChangeCallBack&&null!=t.onChangeCallBack)if(null!=i){let e=i[t.valueField];t.onChangeCallBack(e,i)}else t.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:e=>null!=e?a(e[t.displayField]):"",renderOption:(e,o)=>i.jsx("li",{...e,children:null!=o?a(o[t.displayField]):""}),slots:{popper:e=>i.jsx(d.Popper,{...e,style:{...e.style,direction:o.appDirection}})},renderInput:e=>i.jsx(d.TextField,{...e,required:t.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:a(t.label),error:null!=t.errorMessage&&void 0!==t.errorMessage,helperText:null!=t.errorMessage&&void 0!==t.errorMessage?a(t.errorMessage):""})})},Ge="YYYY-MM-DD",We="YYYY-MM-DD HH:mm:ss",Ye="#37505C",Ve="#ff6d00",qe="#ea690e",Ke="#74776B",ze=e=>{const{t:t}=E.useTranslation();return i.jsx(D.LocalizationProvider,{dateAdapter:P.AdapterMoment,children:i.jsx(D.DatePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?M(e.value,e?.format||Ge):null,sx:e.sx,label:t(e.label),format:e?.format||Ge,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||Ge)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i.jsx(i.Fragment,{children:t(e.errorMessage)}):i.jsx(i.Fragment,{})}}})})},He=e=>{const{t:t}=E.useTranslation();return i.jsx(D.LocalizationProvider,{dateAdapter:P.AdapterMoment,children:i.jsx(D.DateTimePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?M(e.value,e?.format||We):null,label:t(e.label),sx:e.sx,format:e?.format||We,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||We)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i.jsx(i.Fragment,{children:t(e.errorMessage)}):i.jsx(i.Fragment,{})}}})})},Qe=t=>{const o=e.useSelector((e=>e.AppLayout)),a=De(),[r,n]=s.useState([]),{handleGetRequest:d}=Ce();return s.useEffect((()=>{t.lookupType&&(async()=>{await d({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:t.lookupType},successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}})})()}),[t.lookupType,a.UserSession]),i.jsx(je,{...t,options:r,displayField:"ltr"===o.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},Ze=e=>({...e,type:"string",renderEditCell:e=>i.jsx(He,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=M(e).format(We)),o},valueFormatter:(e,t,i)=>t[i.field]}),$e=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((t=>t[e.colDef.valueField]==e.value))}catch(e){}return i.jsx("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i.jsx(je,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(t,i)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t+""})}})}),Xe=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i.jsx(T.FontAwesomeIcon,{icon:"check",color:"green"}):i.jsx(T.FontAwesomeIcon,{icon:"xmark",color:"red"})},renderEditCell:t=>i.jsx(ke,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Je=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const i of e.props.elements)t.push(...Je(i));return t},et=e=>{const t=[];for(const i of e)t.push(...Je(i));return t},tt=(e,t,o)=>{const a=[];for(const n of e)if("text"===n?.fieldType||"number"===n?.fieldType){const e={...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,type:"number"==n?.fieldType?"number":"string",field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200};a.push(e)}else if("date"===n?.fieldType){const e=(r={...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i.jsx(ze,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=M(e).format(Ge)),o},valueFormatter:(e,t,i)=>t[i.field]});a.push(e)}else if("datetime"===n?.fieldType){const e=Ze({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("checkbox"===n?.fieldType){const e=Xe({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,checkedValue:n?.checkedValue,unCheckedValue:n?.unCheckedValue,width:150});a.push(e)}else if("combobox"===n?.fieldType){const e=$e({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,valueField:n?.optionValueField||"value",displayField:n?.optionDisplayField||"display",options:n?.options||[],flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("lookup"===n?.fieldType){const e=$e({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,lookupType:n?.lookupType,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,valueField:n?.optionValueField||"value",displayField:n?.optionDisplayField||"display",options:n?.options||[],flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else{const e={field:n.fieldName,...n?.gridProps?.muiProps};a.push(e)}var r;return a},it=e=>{const t={};for(const i of e)if(i?.fieldName){const e=i.fieldName;"number"===i.fieldType?t[e]=!0===i?.required?ce.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ce.number().optional().nullable():"checkbox"===i.fieldType?t[e]=!0===i?.required?ce.boolean({required_error:"This field is required"}):ce.boolean().optional().nullable():t[e]=!0===i?.required?ce.string({message:"This field is required"}).min(1,"This field is required"):ce.string().optional().nullable()}return t},ot=(e,t,i)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)o.push(e),a.push(e[i]);else if(e?.ids)for(const r of e.ids){const e=t.find((e=>e[i]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function at(e,...t){const i=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach((e=>i.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${i} for the full message.`}function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var nt,dt={exports:{}},lt={exports:{}},st={};var pt,ct,ut,mt,Tt,At,_t,ft,It,Et,Ot,Nt,yt,ht,Rt,Lt={};
1
+ "use strict";var e=require("react-redux"),t=require("react-router-dom"),i=require("react/jsx-runtime"),o=require("@fortawesome/fontawesome-svg-core"),a=require("@fortawesome/free-brands-svg-icons"),r=require("@fortawesome/free-regular-svg-icons"),n=require("@fortawesome/free-solid-svg-icons");require("react-toastify/dist/ReactToastify.css");var d=require("@mui/material"),l=require("@emotion/react"),s=require("react"),p=require("@mui/material/styles"),c=require("@mui/material/CssBaseline"),u=require("@mui/material/AppBar"),m=require("@mui/material/Toolbar"),T=require("@fortawesome/react-fontawesome"),A=require("@reduxjs/toolkit"),_=require("react-toastify"),f=require("axios"),I=require("i18next"),E=require("react-i18next"),O=require("@mui/material/List"),N=require("@mui/material/Card"),y=require("@mui/material/CardHeader"),h=require("@mui/material/ListItemText"),R=require("@mui/material/ListItemIcon"),L=require("@mui/material/Checkbox"),C=require("@mui/material/Button"),g=require("@mui/material/Divider"),D=require("@mui/x-date-pickers"),P=require("@mui/x-date-pickers/AdapterMoment"),M=require("moment"),x=require("zod"),b=require("react-hook-form"),S=require("@hookform/resolvers/zod"),U=require("@mui/material/CardActions"),w=require("@mui/material/CardContent"),v=require("@mui/material/CardMedia"),F=require("@mui/material/Typography"),B=require("@mui/x-data-grid-premium"),k=require("@mui/x-charts"),j=require("@mui/material/LinearProgress"),G=require("@mui/material/Box"),W=require("@mui/x-charts/PieChart"),Y=require("@mui/material/IconButton"),V=require("@mui/material/Drawer"),q=require("@react-spring/web"),K=require("@mui/material/Collapse"),z=require("@mui/x-tree-view/RichTreeView"),H=require("@mui/x-tree-view/TreeItem"),Q=require("@mui/x-tree-view/useTreeItem2"),Z=require("@mui/x-tree-view/TreeItem2"),$=require("@mui/x-tree-view/TreeItem2Icon"),X=require("@mui/x-tree-view/TreeItem2Provider"),J=require("@mui/x-tree-view/TreeItem2DragAndDropOverlay"),ee=require("stylis-plugin-rtl"),te=require("stylis"),ie=require("@emotion/cache"),oe=require("@emotion/styled"),ae=require("@mui/material/colors"),re=require("@mui/material/SwipeableDrawer"),ne=require("@mui/x-license"),de=require("@mui/lab"),le=require("@mui/x-tree-view/models");function se(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var pe=se(s),ce=se(x);!function(e,t){void 0===t&&(t={});var i=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("html,\r\nbody {\r\n height: 100vh;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n#root {\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n}\r\n\r\n.red-row {\r\n background-color: #f0d8d8;\r\n}\r\n");const ue=(e=768)=>{const[t,i]=s.useState(window.innerWidth<e);return s.useEffect((()=>{const t=()=>i(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}),[e]),t},me=350,Te={themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},Ae=A.createSlice({name:"AppLayout",initialState:Te,reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),_e=Ae.actions;var fe=Ae.reducer;const Ie=A.createSlice({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Ee,hideLoadingMask:Oe}=Ie.actions;var Ne=Ie.reducer;const ye=()=>{const t=e.useDispatch();return{show:e=>{t(Ee(e))},hide:()=>{t(Oe())}}},he=A.createSlice({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Re=he.actions;var Le=he.reducer;const Ce=()=>{const t=ye(),i=e.useDispatch(),o=e.useSelector((e=>e.AppInfo.value.apiBaseUrl)),a=f.create({baseURL:o,timeout:6e5,withCredentials:!0});a.defaults.withCredentials=!0,a.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(Re.setUnAuthenticated()),_.toast.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))_.toast.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then((e=>{_.toast.error(e)}))}else _.toast.error(e.response.data);else _.toast.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);const i=await a.get(e.endPointURI,{params:{...e.parameters},withCredentials:!0,headers:e.headers,responseType:e?.responseType});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handlePostRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let i=await a.post(e.endPointURI,e.data,{params:e.parameters,responseType:e?.responseType,headers:e?.headers});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handleDeleteRequest:async e=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let i=await a.delete(e.endPointURI,{params:{...e.parameters},responseType:e?.responseType,headers:e?.headers});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},HandleDownloadHTTPPostPDF:async(e={endPointURI:"",parameters:{},data:{}})=>{void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);const i=await a.post(e.endPointURI,e.data,{responseType:"blob"});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==i?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(i),i):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(i),"ERROR")},handleUploadRequest:async e=>{if(null===e.files||0===e.files.length)return _.toast.error("You must add files to upload"),"ERROR";const i=new FormData;for(const t of e.files)i.append("files",t);void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.show(e.loadingMessage);let o=await a.post(e.endPointURI,i,{params:e?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==e.showMask&&null!=e.showMask&&!0===e.showMask&&t.hide(),"ERROR"!==o?(void 0!==e.successCallBkFn&&null!=e.successCallBkFn&&e.successCallBkFn(o),o):(void 0!==e.failureCallBkFn&&null!=e.failureCallBkFn&&e.failureCallBkFn(o),"ERROR")}}},ge=e=>{const[t,o]=s.useState(!1),{t:a}=E.useTranslation();return{ConfirmationWindow:()=>i.jsxs(d.Dialog,{open:t,children:[i.jsx(d.DialogTitle,{children:e.title}),i.jsx(d.DialogContent,{children:i.jsx(d.DialogContentText,{children:e.body})}),i.jsxs(d.DialogActions,{children:[i.jsx(d.Button,{variant:"contained",color:"primary",onClick:()=>{o(!1)},children:a("NO_LABEL")}),i.jsx(d.Button,{variant:"contained",color:"error",onClick:()=>{e.onConfirmationCallBk(),o(!1)},autoFocus:!0,children:a("YES_LABEL")})]})]}),open:t,setOpen:o}},De=()=>{const t=e.useSelector((e=>e.UserSession)),i=t.value;return{UserSession:t,isUserAuthorized:e=>{if(t?.value?.authorities)for(let i of t.value.authorities){if("DEVELOPMENT_ADMIN"===e&&("DEVELOPMENT_ADMIN"===i?.authority||"ORGANIZATION_ADMIN"===i?.authority))return!0;if("ORGANIZATION_ADMIN"===e&&"ORGANIZATION_ADMIN"===i?.authority)return!0;if("DEVELOPMENT_ADMIN"!==e&&"ORGANIZATION_ADMIN"!==e&&("ORGANIZATION_ADMIN"===i?.authority||"DEVELOPMENT_ADMIN"===i?.authority||"SYSTEM_ADMIN"===i?.authority||i?.authority===e))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(i?.currentOrganization?.systemApplicationModules)for(const t of i.currentOrganization.systemApplicationModules)if(t.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:i}},Pe=e=>{const[t,o]=s.useState(!1);return{windowState:t,setWindowState:o,Window:a=>i.jsx(d.Modal,{open:t,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!t&&e?.onCloseCallBack&&e.onCloseCallBack()},children:i.jsxs(d.Box,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i.jsx(d.AppBar,{position:"static",children:i.jsxs(d.Toolbar,{variant:"dense",children:[i.jsx(T.FontAwesomeIcon,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),i.jsx(d.Typography,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),i.jsx("div",{style:{flexGrow:1}}),i.jsx(d.IconButton,{onClick:()=>{o(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:i.jsx(T.FontAwesomeIcon,{icon:"xmark-square"})})]})}),i.jsx(d.Paper,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:a?.children})]})})}},Me=A.createSlice({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:xe,setStoresMetaData:be}=Me.actions;var Se=Me.reducer;const Ue=t=>{const i=e.useSelector((e=>e.commonStores.stores)),o=e.useDispatch(),a=De(),{handleGetRequest:r,handlePostRequest:n,handleDeleteRequest:d}=Ce();return{reloadData:async e=>{if(t?.commonStoreKey){const e=Object.keys(i);for(const n of e)if(n===t.commonStoreKey&&(void 0===i[n]?.authority||null===i[n]?.authority||a.isUserAuthorized(i[n]?.authority))&&""!=i[n]?.url){await r({endPointURI:i[n].url,showMask:!1,successCallBkFn:e=>{o(xe({storeKey:n,data:e.data})),t.setData(e.data)},failureCallBkFn:()=>{o(xe({storeKey:n,data:[]})),t.setData([])}});break}}else t?.findAll&&await r({endPointURI:t.findAll,showMask:!0,parameters:e||{},successCallBkFn:e=>{t.setData(e.data)}})},loadRecordById:async e=>{let i=null;if(t?.findById){const o={};o[t?.findByIdParamName||"id"]=e,await r({endPointURI:t.findById,showMask:!0,parameters:o,successCallBkFn:e=>{i=e.data}})}return i},saveRecord:async e=>{let i=null;return t?.save&&await n({endPointURI:t.save,data:e,showMask:!0,successCallBkFn:e=>{i=e.data}}),i},deleteRecordById:async e=>{let i=!0;if(t?.deleteById){const o={};o[t?.deleteByIdParamName||"id"]=e,await d({endPointURI:t.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{i=!0},failureCallBkFn:()=>{i=!1}})}return i}}},we=e=>{const{t:t}=E.useTranslation();return i.jsx(d.TextField,{...e,slotProps:{inputLabel:{shrink:!0}},label:i.jsx(i.Fragment,{children:e?.label?t(e.label):""})})};function ve(e,t){return e.filter((e=>-1===t.indexOf(e)))}function Fe(e,t){return e.filter((e=>-1!==t.indexOf(e)))}const Be=({valueField:e="id",displayField:t="name",options:o=[],selectedOptions:a=[],setSelection:r})=>{const[n,l]=pe.useState([]),[s,p]=pe.useState([]),[c,u]=pe.useState([]),[m,T]=pe.useState(""),[A,_]=pe.useState(""),f=Fe(n,s),I=Fe(n,c);pe.useEffect((()=>{o&&p([...o])}),[o]),pe.useEffect((()=>{a&&u([...a])}),[a]);const E=e=>()=>{const t=n.indexOf(e),i=[...n];-1===t?i.push(e):i.splice(t,1),l(i)},D=e=>Fe(n,e).length,P=e=>()=>{var t,i;D(e)===e.length?l(ve(n,e)):l((t=n,i=e,[...t,...ve(i,t)]))},M=(o,a,r)=>{const l=a.filter((e=>{if(e[t]){const i=e[t];if("left"===r&&i.toLocaleLowerCase().includes(m.toLocaleLowerCase()))return!0;if("right"===r&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return i.jsxs(N,{sx:{height:"100%"},children:[i.jsx(y,{sx:{px:2,py:1},avatar:i.jsx(L,{onClick:P(l),checked:D(l)===l.length&&0!==l.length,indeterminate:D(l)!==l.length&&0!==D(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:o,subheader:`${D(a)} / ${a.length} Selected`}),i.jsx(d.Box,{sx:{width:"100%",padding:1},children:i.jsx(we,{fullWidth:!0,label:"search",value:"left"===r?m:A,onChange:e=>{"left"===r?T(e.target.value):_(e.target.value)}})}),i.jsx(g,{}),i.jsx(O,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((o=>(o[e],i.jsxs(d.ListItemButton,{role:"listitem",onClick:E(o),sx:{cursor:"pointer"},children:[i.jsx(R,{children:i.jsx(L,{checked:-1!==n.indexOf(o),tabIndex:-1,disableRipple:!0})}),i.jsx(h,{id:o[e],primary:o[t]})]},o[e]))))})]})};return i.jsxs(d.Grid2,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i.jsx(d.Grid2,{sx:{height:"100%",flex:1},children:M("Available Items",s,"left")}),i.jsx(d.Grid2,{children:i.jsxs(d.Grid2,{container:!0,direction:"column",alignItems:"center",children:[i.jsx(C,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{u((e=>{let t=c.concat(f);return r(t),t})),p(ve(s,f)),l(ve(n,f))},disabled:0===f.length,"aria-label":"move selected right",children:">"}),i.jsx(C,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(I)),u((e=>{let t=ve(c,I);return r(t),t})),l(ve(n,I))},disabled:0===I.length,"aria-label":"move selected left",children:"<"})]})}),i.jsx(d.Grid2,{sx:{height:"100%",flex:1},children:M("Currently Selected",c,"right")})]})},ke=e=>{const{t:t}=E.useTranslation();return i.jsx(d.FormControlLabel,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i.jsx(d.Checkbox,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},je=t=>{const o=e.useSelector((e=>e.AppLayout)),{t:a}=E.useTranslation();return i.jsx(d.Autocomplete,{sx:t.sx,value:(e=>{for(let i of t.options)if(i[t.valueField]==e)return i;return null})(t.value),options:t.options,disabled:t.disabled,onChange:(e,i)=>{if(void 0!==t.onChangeCallBack&&null!=t.onChangeCallBack)if(null!=i){let e=i[t.valueField];t.onChangeCallBack(e,i)}else t.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:e=>null!=e?a(e[t.displayField]):"",renderOption:(e,o)=>i.jsx("li",{...e,children:null!=o?a(o[t.displayField]):""}),slots:{popper:e=>i.jsx(d.Popper,{...e,style:{...e.style,direction:o.appDirection}})},renderInput:e=>i.jsx(d.TextField,{...e,required:t.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:a(t.label),error:null!=t.errorMessage&&void 0!==t.errorMessage,helperText:null!=t.errorMessage&&void 0!==t.errorMessage?a(t.errorMessage):""})})},Ge="YYYY-MM-DD",We="YYYY-MM-DD HH:mm:ss",Ye="#37505C",Ve="#ff6d00",qe="#ea690e",Ke="#74776B",ze=e=>{const{t:t}=E.useTranslation();return i.jsx(D.LocalizationProvider,{dateAdapter:P.AdapterMoment,children:i.jsx(D.DatePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?M(e.value,e?.format||Ge):null,sx:e.sx,label:t(e.label),format:e?.format||Ge,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||Ge)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i.jsx(i.Fragment,{children:t(e.errorMessage)}):i.jsx(i.Fragment,{})}}})})},He=e=>{const{t:t}=E.useTranslation();return i.jsx(D.LocalizationProvider,{dateAdapter:P.AdapterMoment,children:i.jsx(D.DateTimePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?M(e.value,e?.format||We):null,label:t(e.label),sx:e.sx,format:e?.format||We,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||We)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i.jsx(i.Fragment,{children:t(e.errorMessage)}):i.jsx(i.Fragment,{})}}})})},Qe=t=>{const o=e.useSelector((e=>e.AppLayout)),a=De(),[r,n]=s.useState([]),{handleGetRequest:d}=Ce();return s.useEffect((()=>{t.lookupType&&(async()=>{await d({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:t.lookupType},successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}})})()}),[t.lookupType,a.UserSession]),i.jsx(je,{...t,options:r,displayField:"ltr"===o.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},Ze=e=>({...e,type:"string",renderEditCell:e=>i.jsx(He,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=M(e).format(We)),o},valueFormatter:(e,t,i)=>t[i.field]}),$e=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((t=>t[e.colDef.valueField]==e.value))}catch(e){}return i.jsx("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i.jsx(je,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(t,i)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t+""})}})}),Xe=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i.jsx(T.FontAwesomeIcon,{icon:"check",color:"green"}):i.jsx(T.FontAwesomeIcon,{icon:"xmark",color:"red"})},renderEditCell:t=>i.jsx(ke,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Je=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const i of e.props.elements)t.push(...Je(i));return t},et=e=>{const t=[];for(const i of e)t.push(...Je(i));return t},tt=(e,t,o)=>{const a=[];for(const n of e)if("text"===n?.fieldType||"number"===n?.fieldType){const e={...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,type:"number"==n?.fieldType?"number":"string",field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200};a.push(e)}else if("date"===n?.fieldType){const e=(r={...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i.jsx(ze,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=M(e).format(Ge)),o},valueFormatter:(e,t,i)=>t[i.field]});a.push(e)}else if("datetime"===n?.fieldType){const e=Ze({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("checkbox"===n?.fieldType){const e=Xe({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,checkedValue:n?.checkedValue,unCheckedValue:n?.unCheckedValue,width:150});a.push(e)}else if("combobox"===n?.fieldType){const e=$e({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,valueField:n?.optionValueField||"value",displayField:n?.optionDisplayField||"display",options:n?.options||[],flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("lookup"===n?.fieldType){const e=$e({...n?.gridProps?.muiProps,editable:null!=n?.gridProps?.muiProps?.editable?n?.gridProps?.muiProps?.editable:t,lookupType:n?.lookupType,field:n?.fieldName,headerName:o(n?.fieldLabel||n?.fieldName),headerAlign:"center",align:"center",hidden:n?.hidden,searchable:n?.gridProps?.searchable,valueField:n?.optionValueField||"value",displayField:n?.optionDisplayField||"display",options:n?.options||[],flex:n?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else{const e={field:n.fieldName,...n?.gridProps?.muiProps};a.push(e)}var r;return a},it=e=>{const t={};for(const i of e)if(i?.fieldName){const e=i.fieldName;"number"===i.fieldType?t[e]=!0===i?.required?ce.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ce.number().optional().nullable():"checkbox"===i.fieldType?t[e]=!0===i?.required?ce.boolean({required_error:"This field is required"}):ce.boolean().optional().nullable():t[e]=!0===i?.required?ce.string({message:"This field is required"}).min(1,"This field is required"):ce.string().optional().nullable()}return t},ot=(e,t,i)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)o.push(e),a.push(e[i]);else if(e?.ids)for(const r of e.ids){const e=t.find((e=>e[i]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function at(e,...t){const i=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach((e=>i.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${i} for the full message.`}function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var nt,dt={exports:{}},lt={exports:{}},st={};var pt,ct,ut,mt,Tt,At,_t,ft,It,Et,Ot,Nt,yt,ht,Rt,Lt={};
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *