@argusoft/medplat-core 1.0.29 → 1.0.31

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 (217) hide show
  1. package/dist/AccessRights-DUgY6ewy.js +1031 -0
  2. package/dist/AccessRights-DUgY6ewy.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
  7. package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
  8. package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
  9. package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
  10. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
  11. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  12. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  13. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
  14. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
  15. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
  16. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
  17. package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
  18. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
  19. package/dist/ConditionConfig-BQBmBHaM.js +408 -0
  20. package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
  21. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
  22. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
  23. package/dist/EventConfig-BY2cgGyx.js +27 -0
  24. package/dist/EventConfig-BY2cgGyx.js.map +1 -0
  25. package/dist/EventConfigurations-CUPEN5BV.js +544 -0
  26. package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
  27. package/dist/EventConfigurations.css +1 -1
  28. package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
  29. package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
  30. package/dist/EventsUi-D6O9S7BK.js +258 -0
  31. package/dist/EventsUi-D6O9S7BK.js.map +1 -0
  32. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
  33. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
  34. package/dist/FeatureMenu-CHsBbw3W.js +525 -0
  35. package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
  36. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
  37. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
  38. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  39. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  40. package/dist/FlywayQuery-CQygj51V.js +179 -0
  41. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  42. package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
  43. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  44. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
  45. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
  46. package/dist/ImmunizationConfigurationBase.css +1 -1
  47. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  48. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  49. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
  50. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
  51. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  52. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  53. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  54. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  55. package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
  56. package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
  57. package/dist/ManageEventConfiguration.css +1 -1
  58. package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
  59. package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
  60. package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
  61. package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
  62. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  63. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  64. package/dist/ManageTranslation.css +1 -1
  65. package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
  66. package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
  67. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
  68. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
  69. package/dist/MobileAnalytics-BLOionG_.js +17301 -0
  70. package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
  71. package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
  72. package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
  73. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
  74. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
  75. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  76. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  77. package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
  78. package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
  79. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
  80. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
  81. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
  82. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
  83. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
  84. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
  85. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  86. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  87. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
  88. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
  89. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
  90. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
  91. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
  92. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
  93. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
  94. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
  95. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
  96. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
  97. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
  98. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
  99. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
  100. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
  101. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
  102. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
  103. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
  104. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
  105. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
  106. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
  107. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  108. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  109. package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
  110. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  111. package/dist/Roles-BIyiic67.js +14 -0
  112. package/dist/Roles-BIyiic67.js.map +1 -0
  113. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
  114. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
  115. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
  116. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
  117. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
  118. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
  119. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  120. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  121. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
  122. package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
  123. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  124. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  125. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
  126. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
  127. package/dist/SubMenu-BdMTYtC1.js +319 -0
  128. package/dist/SubMenu-BdMTYtC1.js.map +1 -0
  129. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
  130. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
  131. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
  132. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
  133. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
  134. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
  135. package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
  136. package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
  137. package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
  138. package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
  139. package/dist/Users-CsJ08Kjm.js.map +1 -1
  140. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
  141. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
  142. package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
  143. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
  144. package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
  145. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
  146. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  147. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  148. package/dist/index.css +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.lib-ETRQOzvE.js +894 -0
  151. package/dist/index.lib-ETRQOzvE.js.map +1 -0
  152. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
  153. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
  154. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  155. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  156. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  157. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  158. package/package.json +4 -3
  159. package/dist/AccessRights-Zm8Obm4N.js +0 -1284
  160. package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
  161. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  162. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  163. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  164. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  165. package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
  166. package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
  167. package/dist/AppModal-CtG2GjD_.js +0 -428
  168. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  169. package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
  170. package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
  171. package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
  172. package/dist/ConditionConfig.css +0 -1
  173. package/dist/EventConfigurations-BJcURufo.js +0 -449
  174. package/dist/EventConfigurations-BJcURufo.js.map +0 -1
  175. package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
  176. package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
  177. package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
  178. package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
  179. package/dist/FeatureMenu-C3503UIX.js +0 -265
  180. package/dist/FeatureMenu-C3503UIX.js.map +0 -1
  181. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  182. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  183. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
  184. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
  185. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  186. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  187. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  188. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  189. package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
  190. package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
  191. package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
  192. package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
  193. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  194. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  195. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  196. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  197. package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
  198. package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
  199. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  200. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  201. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
  202. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
  203. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  204. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  205. package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
  206. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  207. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  208. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  209. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  210. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  211. package/dist/SubMenu-B072oEGb.js +0 -191
  212. package/dist/SubMenu-B072oEGb.js.map +0 -1
  213. package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
  214. package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
  215. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  216. package/dist/index.lib-C3fwoM3y.js +0 -820
  217. package/dist/index.lib-C3fwoM3y.js.map +0 -1
@@ -0,0 +1,665 @@
1
+ import { B as ce, G as D, z as de, V as ue, U as he, n as me, k as b, E as pe, o as ge, q as be } from "./ImmunizationConfigurationBase-aUtx0JEe.js";
2
+ import { O as S, b as ye, v as fe, h as Z, g as ve } from "./constants-DpXnLsAB-D6lN5cjK.js";
3
+ import { t as xe, s as we, a as Re } from "./format-UOyOu75i-D0GyylyQ.js";
4
+ import { r as P } from "./validation-BzlHnL-r-CCJm2utQ.js";
5
+ import { X as Ee, Y as Ne, Z as Ae, Q as Ie, q as Ce } from "./PmGuard-BZE-y4In-D_pUm5MP.js";
6
+ import { useState as m, useMemo as Te } from "react";
7
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
8
+ import { Box as x, Alert as ke, Stack as p, TextField as T, InputAdornment as We, Button as u, TableHead as qe, TableRow as $, TableCell as o, TableBody as De, Skeleton as Se, Typography as c, Tooltip as Pe, LinearProgress as $e, Chip as k, Dialog as J, DialogTitle as ee, DialogContent as te, DialogActions as ae } from "@mui/material";
9
+ import { useTheme as Ue, alpha as Qe } from "@mui/material/styles";
10
+ import { v4 as U } from "uuid";
11
+ import Le from "@mui/icons-material/RefreshRounded";
12
+ import ze from "@mui/icons-material/WidgetsRounded";
13
+ import Me from "@mui/icons-material/LockRounded";
14
+ import Fe from "@mui/icons-material/LockOpenRounded";
15
+ import He from "@mui/icons-material/ReportRounded";
16
+ import Ge from "@mui/icons-material/SearchRounded";
17
+ function re(s) {
18
+ return s ? s.status === "EXPIRED" ? !0 : Re(s.expiryDate) : !1;
19
+ }
20
+ var _e = [
21
+ {
22
+ value: "ACTIVE",
23
+ label: "Active stock"
24
+ },
25
+ {
26
+ value: "IN_USE",
27
+ label: "In use"
28
+ },
29
+ {
30
+ value: "USED_UP",
31
+ label: "Used up"
32
+ },
33
+ {
34
+ value: "EXPIRED",
35
+ label: "Expired"
36
+ },
37
+ {
38
+ value: "QUARANTINED",
39
+ label: "Quarantined"
40
+ },
41
+ {
42
+ value: "WASTAGE",
43
+ label: "Has wastage"
44
+ },
45
+ {
46
+ value: "ALL",
47
+ label: "All batches"
48
+ }
49
+ ];
50
+ function je(s, h) {
51
+ let w = re(s), R = Number(s.qtyRemaining ?? 0);
52
+ switch (h) {
53
+ case "ACTIVE":
54
+ return R > 0 && !w && s.isQuarantined !== !0;
55
+ case "IN_USE":
56
+ return s.status === "IN_USE";
57
+ case "USED_UP":
58
+ return s.status === "EXHAUSTED";
59
+ case "EXPIRED":
60
+ return w;
61
+ case "QUARANTINED":
62
+ return s.isQuarantined === !0 || s.status === "QUARANTINED";
63
+ case "WASTAGE":
64
+ return Number(s.wastedQty ?? 0) > 0;
65
+ default:
66
+ return !0;
67
+ }
68
+ }
69
+ function st() {
70
+ var j, B, O, V, X, K, Y;
71
+ let s = Ee().has("update.manage.productManagement.inventory"), [h, w] = m([]), [R, Q] = m(!1), [L, z] = m(""), [l, y] = m({
72
+ open: !1,
73
+ batch: null,
74
+ reason: "OTHER",
75
+ notes: ""
76
+ }), [i, g] = m({
77
+ open: !1,
78
+ batch: null,
79
+ qty: 1,
80
+ reason: "DAMAGED",
81
+ comments: ""
82
+ }), [E, M] = m(!1), ne = Ue(), [N, F] = m(""), [A, H] = m("ACTIVE");
83
+ async function f() {
84
+ var t, n;
85
+ Q(!0), z("");
86
+ try {
87
+ w(await pe());
88
+ } catch (a) {
89
+ let d = ((n = (t = a == null ? void 0 : a.response) == null ? void 0 : t.data) == null ? void 0 : n.message) ?? (a == null ? void 0 : a.message) ?? "Failed to load inventory";
90
+ z(d), b({
91
+ message: d,
92
+ type: "error"
93
+ });
94
+ } finally {
95
+ Q(!1);
96
+ }
97
+ }
98
+ Ne("view.manage.productManagement.inventory", () => {
99
+ f();
100
+ }, []);
101
+ let W = Te(() => {
102
+ let t = N.trim().toLowerCase();
103
+ return h.filter((n) => t && !`${n.productName ?? ""} ${n.lotNumber ?? ""}`.toLowerCase().includes(t) ? !1 : je(n, A));
104
+ }, [
105
+ h,
106
+ N,
107
+ A
108
+ ]), v = N.trim() !== "" || A !== "ALL";
109
+ function G() {
110
+ F(""), H("ALL");
111
+ }
112
+ function ie(t) {
113
+ g({
114
+ open: !0,
115
+ batch: t,
116
+ qty: t.qtyRemaining ?? 1,
117
+ reason: "DAMAGED",
118
+ comments: ""
119
+ });
120
+ }
121
+ let I = Number(i.qty), C = Number(((j = i.batch) == null ? void 0 : j.qtyRemaining) ?? 0), q = !Number.isInteger(I) || I <= 0 ? "Enter a whole number greater than 0." : I > C ? `Only ${C} available to waste.` : "", _ = !q && !!i.reason;
122
+ async function oe() {
123
+ var t, n;
124
+ if (!(!i.batch || !_)) {
125
+ M(!0);
126
+ try {
127
+ await be({
128
+ id: U(),
129
+ batchId: i.batch.id,
130
+ wastedQty: I,
131
+ reason: i.reason,
132
+ comments: i.comments || null
133
+ }), b({
134
+ message: "Wastage recorded.",
135
+ type: "success"
136
+ }), g({
137
+ open: !1,
138
+ batch: null,
139
+ qty: 1,
140
+ reason: "DAMAGED",
141
+ comments: ""
142
+ }), await f();
143
+ } catch (a) {
144
+ b({
145
+ message: ((n = (t = a == null ? void 0 : a.response) == null ? void 0 : t.data) == null ? void 0 : n.message) ?? (a == null ? void 0 : a.message) ?? "Failed to record wastage",
146
+ type: "error"
147
+ });
148
+ } finally {
149
+ M(!1);
150
+ }
151
+ }
152
+ }
153
+ async function le() {
154
+ var t, n;
155
+ try {
156
+ await ge({
157
+ id: U(),
158
+ batchId: l.batch.id,
159
+ reason: l.reason,
160
+ notes: l.notes || null
161
+ }), b({
162
+ message: "Batch quarantined.",
163
+ type: "success"
164
+ }), y({
165
+ open: !1,
166
+ batch: null,
167
+ reason: "OTHER",
168
+ notes: ""
169
+ }), await f();
170
+ } catch (a) {
171
+ b({
172
+ message: ((n = (t = a == null ? void 0 : a.response) == null ? void 0 : t.data) == null ? void 0 : n.message) ?? (a == null ? void 0 : a.message) ?? "Failed to quarantine",
173
+ type: "error"
174
+ });
175
+ }
176
+ }
177
+ async function se(t) {
178
+ var n, a;
179
+ try {
180
+ await me({
181
+ id: U(),
182
+ batchId: t.id
183
+ }), b({
184
+ message: "Quarantine lifted.",
185
+ type: "success"
186
+ }), await f();
187
+ } catch (d) {
188
+ b({
189
+ message: ((a = (n = d == null ? void 0 : d.response) == null ? void 0 : n.data) == null ? void 0 : a.message) ?? (d == null ? void 0 : d.message) ?? "Failed to unquarantine",
190
+ type: "error"
191
+ });
192
+ }
193
+ }
194
+ return /* @__PURE__ */ r(x, { children: [/* @__PURE__ */ e(Ae, {}), /* @__PURE__ */ r(Ie, {
195
+ perm: "view.manage.productManagement.inventory",
196
+ children: [
197
+ /* @__PURE__ */ r(Ce, {
198
+ title: "Inventory",
199
+ subtitle: "Your stock batches. Click to see history or quarantine items if there's a problem.",
200
+ chips: ["Stock"],
201
+ actions: /* @__PURE__ */ e(p, {
202
+ direction: "row",
203
+ spacing: 1,
204
+ children: /* @__PURE__ */ e(u, {
205
+ variant: "outlined",
206
+ startIcon: /* @__PURE__ */ e(Le, {}),
207
+ onClick: () => void f(),
208
+ children: "Refresh"
209
+ })
210
+ }),
211
+ children: [L ? /* @__PURE__ */ e(ke, {
212
+ severity: "error",
213
+ sx: { mb: 2 },
214
+ children: L
215
+ }) : null, /* @__PURE__ */ r(ce, {
216
+ eyebrow: "Stock on hand",
217
+ title: "Inventory batches",
218
+ subtitle: R ? "Loading…" : v ? `${W.length} of ${h.length} ${h.length === 1 ? "batch" : "batches"} match` : `${h.length} ${h.length === 1 ? "batch" : "batches"} visible`,
219
+ children: [/* @__PURE__ */ r(p, {
220
+ direction: {
221
+ xs: "column",
222
+ md: "row"
223
+ },
224
+ spacing: 1.5,
225
+ sx: { mb: 2 },
226
+ alignItems: { md: "center" },
227
+ children: [
228
+ /* @__PURE__ */ e(T, {
229
+ size: "small",
230
+ fullWidth: !0,
231
+ placeholder: "Search product or lot…",
232
+ value: N,
233
+ onChange: (t) => F(t.target.value),
234
+ InputProps: { startAdornment: /* @__PURE__ */ e(We, {
235
+ position: "start",
236
+ children: /* @__PURE__ */ e(Ge, { fontSize: "small" })
237
+ }) },
238
+ sx: { maxWidth: { md: 360 } }
239
+ }),
240
+ /* @__PURE__ */ e(x, {
241
+ sx: { minWidth: 190 },
242
+ children: /* @__PURE__ */ e(D, {
243
+ label: "Show",
244
+ value: A,
245
+ onChange: H,
246
+ options: _e
247
+ })
248
+ }),
249
+ /* @__PURE__ */ e(x, { sx: { flexGrow: 1 } }),
250
+ /* @__PURE__ */ e(u, {
251
+ variant: "text",
252
+ onClick: G,
253
+ disabled: !v,
254
+ children: "Clear"
255
+ })
256
+ ]
257
+ }), /* @__PURE__ */ r(de, {
258
+ dense: !0,
259
+ children: [/* @__PURE__ */ e(qe, { children: /* @__PURE__ */ r($, { children: [
260
+ /* @__PURE__ */ e(o, { children: "Product" }),
261
+ /* @__PURE__ */ e(o, { children: "Lot" }),
262
+ /* @__PURE__ */ e(o, { children: "Owner" }),
263
+ /* @__PURE__ */ e(o, { children: "Expiry" }),
264
+ /* @__PURE__ */ e(o, {
265
+ align: "right",
266
+ children: "Stock"
267
+ }),
268
+ /* @__PURE__ */ e(o, { children: "Storage" }),
269
+ /* @__PURE__ */ e(o, { children: "Status" }),
270
+ /* @__PURE__ */ e(o, {
271
+ align: "right",
272
+ children: "Action"
273
+ })
274
+ ] }) }), /* @__PURE__ */ e(De, { children: R ? Array.from({ length: 5 }).map((t, n) => /* @__PURE__ */ e($, { children: Array.from({ length: 8 }).map((a, d) => /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(Se, { height: 22 }) }, d)) }, n)) : W.length === 0 ? /* @__PURE__ */ e(ue, {
275
+ colSpan: 8,
276
+ icon: ze,
277
+ title: v ? "No batches match your filters" : "No batches in stock",
278
+ hint: v ? "Adjust your search or filters." : "Record a purchase to add stock.",
279
+ action: v ? /* @__PURE__ */ e(u, {
280
+ variant: "text",
281
+ size: "small",
282
+ onClick: G,
283
+ children: "Clear filters"
284
+ }) : null
285
+ }) : W.map((t) => {
286
+ let n = re(t), a = t.qtyPurchased > 0 ? t.qtyRemaining / t.qtyPurchased : 0;
287
+ return /* @__PURE__ */ r($, {
288
+ hover: !0,
289
+ children: [
290
+ /* @__PURE__ */ e(o, { children: /* @__PURE__ */ r(p, {
291
+ direction: "row",
292
+ alignItems: "baseline",
293
+ spacing: 1,
294
+ sx: { minWidth: 0 },
295
+ children: [/* @__PURE__ */ e(c, {
296
+ variant: "body2",
297
+ sx: {
298
+ fontWeight: 700,
299
+ lineHeight: 1.2
300
+ },
301
+ children: t.productName
302
+ }), /* @__PURE__ */ e(he, { id: t.serialId })]
303
+ }) }),
304
+ /* @__PURE__ */ e(o, { children: t.lotNumber ? /* @__PURE__ */ e(x, {
305
+ component: "span",
306
+ sx: {
307
+ display: "inline-flex",
308
+ px: 0.7,
309
+ py: 0.1,
310
+ borderRadius: 1,
311
+ bgcolor: Qe(ne.palette.primary.main, 0.06),
312
+ color: "primary.dark",
313
+ fontFamily: "monospace",
314
+ fontSize: "0.72rem",
315
+ fontWeight: 700
316
+ },
317
+ children: t.lotNumber
318
+ }) : /* @__PURE__ */ e(c, {
319
+ variant: "caption",
320
+ color: "text.disabled",
321
+ children: "—"
322
+ }) }),
323
+ /* @__PURE__ */ r(o, { children: [/* @__PURE__ */ e(c, {
324
+ variant: "body2",
325
+ sx: { fontWeight: 700 },
326
+ children: t.ownerName || S(ye, t.ownerType)
327
+ }), /* @__PURE__ */ e(c, {
328
+ variant: "caption",
329
+ color: "text.secondary",
330
+ children: t.ownerType
331
+ })] }),
332
+ /* @__PURE__ */ e(o, { children: t.expiryDate ? /* @__PURE__ */ e(Pe, {
333
+ title: n ? "Past printed expiry" : "",
334
+ children: /* @__PURE__ */ e(c, {
335
+ variant: "body2",
336
+ sx: {
337
+ fontWeight: 700,
338
+ fontVariantNumeric: "tabular-nums",
339
+ color: n ? "error.dark" : "text.primary"
340
+ },
341
+ children: xe(t.expiryDate)
342
+ })
343
+ }) : /* @__PURE__ */ e(c, {
344
+ variant: "caption",
345
+ color: "text.disabled",
346
+ children: "—"
347
+ }) }),
348
+ /* @__PURE__ */ e(o, {
349
+ align: "right",
350
+ sx: { minWidth: 150 },
351
+ children: /* @__PURE__ */ r(p, {
352
+ alignItems: "flex-end",
353
+ spacing: 0.5,
354
+ children: [
355
+ /* @__PURE__ */ r(c, {
356
+ variant: "body2",
357
+ sx: {
358
+ fontWeight: 800,
359
+ fontVariantNumeric: "tabular-nums"
360
+ },
361
+ children: [t.qtyRemaining, /* @__PURE__ */ r(c, {
362
+ component: "span",
363
+ variant: "caption",
364
+ color: "text.secondary",
365
+ sx: {
366
+ ml: 0.5,
367
+ fontVariantNumeric: "tabular-nums"
368
+ },
369
+ children: ["/ ", t.qtyPurchased]
370
+ })]
371
+ }),
372
+ /* @__PURE__ */ e(x, {
373
+ sx: { width: 80 },
374
+ children: /* @__PURE__ */ e($e, {
375
+ variant: "determinate",
376
+ value: Math.min(100, Math.max(0, a * 100)),
377
+ sx: {
378
+ height: 4,
379
+ borderRadius: 2
380
+ },
381
+ color: a < 0.25 ? "warning" : "primary"
382
+ })
383
+ }),
384
+ Number(t.wastedQty ?? 0) > 0 ? /* @__PURE__ */ r(c, {
385
+ variant: "caption",
386
+ sx: {
387
+ color: "warning.dark",
388
+ fontWeight: 700
389
+ },
390
+ children: [t.wastedQty, " wasted"]
391
+ }) : null
392
+ ]
393
+ })
394
+ }),
395
+ /* @__PURE__ */ e(o, { children: t.storageUnitName ? /* @__PURE__ */ e(c, {
396
+ variant: "caption",
397
+ sx: { fontWeight: 700 },
398
+ children: t.storageUnitName
399
+ }) : /* @__PURE__ */ e(c, {
400
+ variant: "caption",
401
+ color: "text.disabled",
402
+ children: "—"
403
+ }) }),
404
+ /* @__PURE__ */ e(o, { children: /* @__PURE__ */ r(p, {
405
+ direction: "row",
406
+ spacing: 0.5,
407
+ flexWrap: "wrap",
408
+ useFlexGap: !0,
409
+ children: [
410
+ /* @__PURE__ */ e(k, {
411
+ size: "small",
412
+ color: we(t.status),
413
+ label: S(fe, t.status),
414
+ sx: {
415
+ fontWeight: 700,
416
+ borderRadius: 1.5,
417
+ height: 22
418
+ }
419
+ }),
420
+ t.isQuarantined ? /* @__PURE__ */ e(k, {
421
+ size: "small",
422
+ color: "error",
423
+ label: S(Z, t.quarantineReason) || "Quarantined",
424
+ sx: {
425
+ fontWeight: 700,
426
+ borderRadius: 1.5,
427
+ height: 22
428
+ }
429
+ }) : null,
430
+ n && t.status !== "EXPIRED" ? /* @__PURE__ */ e(k, {
431
+ size: "small",
432
+ color: "warning",
433
+ label: "Expired",
434
+ sx: {
435
+ fontWeight: 700,
436
+ borderRadius: 1.5,
437
+ height: 22
438
+ }
439
+ }) : null,
440
+ t.sourceType ? /* @__PURE__ */ e(k, {
441
+ size: "small",
442
+ variant: "outlined",
443
+ color: t.sourceType === "PICKUP" ? "info" : t.sourceType === "TRANSFER_IN" ? "primary" : "default",
444
+ label: t.sourceType === "TRANSFER_IN" ? "Transfer" : t.sourceType === "PICKUP" ? "Pickup" : t.sourceType === "PURCHASE" ? "Purchase" : t.sourceType,
445
+ sx: {
446
+ fontWeight: 700,
447
+ borderRadius: 1.5,
448
+ height: 22
449
+ }
450
+ }) : null
451
+ ]
452
+ }) }),
453
+ /* @__PURE__ */ e(o, {
454
+ align: "right",
455
+ children: s ? t.isQuarantined ? n ? /* @__PURE__ */ e(c, {
456
+ variant: "caption",
457
+ color: "text.disabled",
458
+ children: "Expired"
459
+ }) : /* @__PURE__ */ e(u, {
460
+ size: "small",
461
+ variant: "outlined",
462
+ color: "success",
463
+ startIcon: /* @__PURE__ */ e(Fe, {}),
464
+ onClick: () => void se(t),
465
+ children: "Unquarantine"
466
+ }) : /* @__PURE__ */ r(p, {
467
+ direction: "row",
468
+ spacing: 1,
469
+ justifyContent: "flex-end",
470
+ children: [n || t.status === "EXHAUSTED" || t.status === "IN_USE" || t.canBeQuarantined === !1 ? null : /* @__PURE__ */ e(u, {
471
+ size: "small",
472
+ variant: "outlined",
473
+ color: "error",
474
+ startIcon: /* @__PURE__ */ e(Me, {}),
475
+ onClick: () => y({
476
+ open: !0,
477
+ batch: t,
478
+ reason: "OTHER",
479
+ notes: ""
480
+ }),
481
+ children: "Quarantine"
482
+ }), Number(t.qtyRemaining ?? 0) > 0 ? /* @__PURE__ */ e(u, {
483
+ size: "small",
484
+ variant: "outlined",
485
+ color: "warning",
486
+ startIcon: /* @__PURE__ */ e(He, {}),
487
+ onClick: () => ie(t),
488
+ children: "Waste"
489
+ }) : null]
490
+ }) : null
491
+ })
492
+ ]
493
+ }, t.id);
494
+ }) })]
495
+ })]
496
+ })]
497
+ }),
498
+ /* @__PURE__ */ r(J, {
499
+ open: l.open,
500
+ onClose: () => y({
501
+ ...l,
502
+ open: !1
503
+ }),
504
+ fullWidth: !0,
505
+ maxWidth: "sm",
506
+ children: [
507
+ /* @__PURE__ */ e(ee, { children: "Quarantine Batch" }),
508
+ /* @__PURE__ */ e(te, {
509
+ dividers: !0,
510
+ children: /* @__PURE__ */ r(p, {
511
+ spacing: 2,
512
+ sx: { pt: 1 },
513
+ children: [
514
+ /* @__PURE__ */ r(c, {
515
+ variant: "body2",
516
+ children: [
517
+ "Product: ",
518
+ /* @__PURE__ */ e("strong", { children: (B = l.batch) == null ? void 0 : B.productName }),
519
+ /* @__PURE__ */ e("br", {}),
520
+ "Lot: ",
521
+ /* @__PURE__ */ e("strong", { children: ((O = l.batch) == null ? void 0 : O.lotNumber) || "—" }),
522
+ /* @__PURE__ */ e("br", {}),
523
+ "Remaining: ",
524
+ /* @__PURE__ */ e("strong", { children: (V = l.batch) == null ? void 0 : V.qtyRemaining })
525
+ ]
526
+ }),
527
+ /* @__PURE__ */ e(D, {
528
+ label: "Reason",
529
+ required: !0,
530
+ value: l.reason,
531
+ onChange: (t) => y({
532
+ ...l,
533
+ reason: t
534
+ }),
535
+ options: Z,
536
+ error: !!P(l.reason, "Reason"),
537
+ helperText: P(l.reason, "Reason") || ""
538
+ }),
539
+ /* @__PURE__ */ e(T, {
540
+ label: "Notes",
541
+ size: "small",
542
+ multiline: !0,
543
+ minRows: 2,
544
+ fullWidth: !0,
545
+ value: l.notes,
546
+ onChange: (t) => y({
547
+ ...l,
548
+ notes: t.target.value
549
+ })
550
+ })
551
+ ]
552
+ })
553
+ }),
554
+ /* @__PURE__ */ r(ae, { children: [/* @__PURE__ */ e(u, {
555
+ onClick: () => y({
556
+ ...l,
557
+ open: !1
558
+ }),
559
+ children: "Cancel"
560
+ }), /* @__PURE__ */ e(u, {
561
+ variant: "contained",
562
+ color: "error",
563
+ disabled: !!P(l.reason, "Reason"),
564
+ onClick: () => void le(),
565
+ children: "Quarantine"
566
+ })] })
567
+ ]
568
+ }),
569
+ /* @__PURE__ */ r(J, {
570
+ open: i.open,
571
+ onClose: () => {
572
+ E || g({
573
+ ...i,
574
+ open: !1
575
+ });
576
+ },
577
+ fullWidth: !0,
578
+ maxWidth: "sm",
579
+ children: [
580
+ /* @__PURE__ */ e(ee, { children: "Mark Wastage" }),
581
+ /* @__PURE__ */ e(te, {
582
+ dividers: !0,
583
+ children: /* @__PURE__ */ r(p, {
584
+ spacing: 2,
585
+ sx: { pt: 1 },
586
+ children: [
587
+ /* @__PURE__ */ r(c, {
588
+ variant: "body2",
589
+ children: [
590
+ "Product: ",
591
+ /* @__PURE__ */ e("strong", { children: (X = i.batch) == null ? void 0 : X.productName }),
592
+ /* @__PURE__ */ e("br", {}),
593
+ "Lot: ",
594
+ /* @__PURE__ */ e("strong", { children: ((K = i.batch) == null ? void 0 : K.lotNumber) || "—" }),
595
+ /* @__PURE__ */ e("br", {}),
596
+ "Available to waste: ",
597
+ /* @__PURE__ */ e("strong", { children: ((Y = i.batch) == null ? void 0 : Y.qtyRemaining) ?? 0 })
598
+ ]
599
+ }),
600
+ /* @__PURE__ */ e(T, {
601
+ required: !0,
602
+ label: "Quantity to waste",
603
+ size: "small",
604
+ type: "number",
605
+ fullWidth: !0,
606
+ inputProps: {
607
+ min: 1,
608
+ max: C
609
+ },
610
+ value: i.qty,
611
+ onChange: (t) => g({
612
+ ...i,
613
+ qty: t.target.value
614
+ }),
615
+ error: !!q,
616
+ helperText: q || `Units to write off (max ${C}).`
617
+ }),
618
+ /* @__PURE__ */ e(D, {
619
+ label: "Reason",
620
+ required: !0,
621
+ value: i.reason,
622
+ onChange: (t) => g({
623
+ ...i,
624
+ reason: t
625
+ }),
626
+ options: ve
627
+ }),
628
+ /* @__PURE__ */ e(T, {
629
+ label: "Comments",
630
+ size: "small",
631
+ multiline: !0,
632
+ minRows: 2,
633
+ fullWidth: !0,
634
+ value: i.comments,
635
+ onChange: (t) => g({
636
+ ...i,
637
+ comments: t.target.value
638
+ })
639
+ })
640
+ ]
641
+ })
642
+ }),
643
+ /* @__PURE__ */ r(ae, { children: [/* @__PURE__ */ e(u, {
644
+ onClick: () => g({
645
+ ...i,
646
+ open: !1
647
+ }),
648
+ disabled: E,
649
+ children: "Cancel"
650
+ }), /* @__PURE__ */ e(u, {
651
+ variant: "contained",
652
+ color: "warning",
653
+ disabled: !_ || E,
654
+ onClick: () => void oe(),
655
+ children: E ? "Recording…" : "Mark Wastage"
656
+ })] })
657
+ ]
658
+ })
659
+ ]
660
+ })] });
661
+ }
662
+ export {
663
+ st as default
664
+ };
665
+ //# sourceMappingURL=InventoryPage-DOotGZrj-CoPjOJEI.js.map