@burdenoff/microfe-movethewheels 2026.930.4 → 2026.1010.1

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 (377) hide show
  1. package/dist/MoveTheWheelsRoot.js +177 -102
  2. package/dist/MoveTheWheelsRoutes.js +55 -11
  3. package/dist/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/components/ContainerEvidencePicker.js +143 -0
  5. package/dist/components/FreeTimeAgreementForm.js +496 -0
  6. package/dist/components/ReturnInstructionForm.js +108 -0
  7. package/dist/components/ReuseControls.js +91 -0
  8. package/dist/components/ReusePermissionForm.js +114 -0
  9. package/dist/components/ReuseProposalForm.js +455 -0
  10. package/dist/components/ReuseSourceFields.js +78 -0
  11. package/dist/components/consolidation/ConsolidationHistory.js +244 -0
  12. package/dist/components/consolidation/ConsolidationLotEditor.js +133 -0
  13. package/dist/components/consolidation/ConsolidationManifestWorkbench.js +143 -0
  14. package/dist/components/consolidation/ConsolidationPlanForm.js +172 -0
  15. package/dist/components/consolidation/ConsolidationPlanWorkbench.js +321 -0
  16. package/dist/components/consolidation/ConsolidationReportForm.js +94 -0
  17. package/dist/components/consolidation/ConsolidationReportsWorkbench.js +195 -0
  18. package/dist/components/consolidation/ConsolidationSummary.js +76 -0
  19. package/dist/components/consolidation/OriginalConsolidationHistory.js +112 -0
  20. package/dist/components/freight-cost/FreightDraftForm.js +213 -0
  21. package/dist/components/freight-cost/FreightFields.js +70 -0
  22. package/dist/components/freight-cost/FreightFxEditor.js +90 -0
  23. package/dist/components/freight-cost/FreightHistory.js +164 -0
  24. package/dist/components/freight-cost/FreightLineEditor.js +191 -0
  25. package/dist/components/freight-cost/FreightScopeEditor.js +72 -0
  26. package/dist/components/freight-cost/FreightTotals.js +66 -0
  27. package/dist/components/logistics-procedure/ProcedureDecisionForm.js +197 -0
  28. package/dist/components/logistics-procedure/ProcedureFields.js +31 -0
  29. package/dist/components/logistics-procedure/ProcedureHistory.js +177 -0
  30. package/dist/components/logistics-procedure/ProcedurePolicyForm.js +227 -0
  31. package/dist/components/logistics-procedure/ProcedurePolicyWorkbench.js +155 -0
  32. package/dist/components/logistics-procedure/ProcedureReviewWorkbench.js +221 -0
  33. package/dist/components/logistics-procedure/ProcedureRunWorkbench.js +190 -0
  34. package/dist/components/logistics-procedure/ProcedureSubjectPicker.js +130 -0
  35. package/dist/components/pending-pick/PendingPickDraft.js +84 -0
  36. package/dist/components/pending-pick/PendingPickHistory.js +113 -0
  37. package/dist/components/pending-pick/PickCapture.js +166 -0
  38. package/dist/components/pending-pick/PickLineSelection.js +111 -0
  39. package/dist/components/stock-binding/StockAssessmentDraft.js +48 -0
  40. package/dist/components/stock-binding/StockAssessmentHistory.js +61 -0
  41. package/dist/components/stock-binding/StockAssessmentSummary.js +199 -0
  42. package/dist/components/stock-binding/StockFactForm.js +232 -0
  43. package/dist/components/stock-observation/StockIssueForm.js +148 -0
  44. package/dist/components/stock-observation/StockIssueHistory.js +116 -0
  45. package/dist/components/stock-observation/StockIssueReadPanel.js +70 -0
  46. package/dist/components/trip-utilization/TripReportForm.js +118 -0
  47. package/dist/components/trip-utilization/TripReportHistory.js +54 -0
  48. package/dist/components/trip-utilization/TripReportSummary.js +216 -0
  49. package/dist/components/trip-utilization/TripSegmentFields.js +166 -0
  50. package/dist/generated/consolidation-operations.d.ts +1060 -0
  51. package/dist/generated/container-condition-operations.d.ts +868 -0
  52. package/dist/generated/container-operations.d.ts +356 -0
  53. package/dist/generated/empty-reuse-operations.d.ts +1578 -0
  54. package/dist/generated/free-time-operations.d.ts +938 -0
  55. package/dist/generated/freight-cost-operations.d.ts +716 -0
  56. package/dist/generated/logistics-procedure-operations.d.ts +938 -0
  57. package/dist/generated/pending-pick-operations.d.ts +1969 -0
  58. package/dist/generated/stock-binding-operations.d.ts +930 -0
  59. package/dist/generated/stock-observation-operations.d.ts +476 -0
  60. package/dist/generated/trip-utilization-operations.d.ts +651 -0
  61. package/dist/generated/wspace-operations.d.ts +143 -50
  62. package/dist/hooks/useConsolidationAction.js +119 -0
  63. package/dist/hooks/useContainerCondition.js +105 -0
  64. package/dist/hooks/useContainerLifecycle.js +192 -0
  65. package/dist/hooks/useEmptyReuseAction.js +45 -0
  66. package/dist/hooks/useFreightRecoveryAction.js +117 -0
  67. package/dist/hooks/useInventory.js +12 -1
  68. package/dist/hooks/useProcedureAction.js +119 -0
  69. package/dist/hooks/useProcedureSelection.js +53 -0
  70. package/dist/hooks/useReuseRecoveryAction.js +116 -0
  71. package/dist/movethewheels/components/ContainerEvidencePicker.d.ts +10 -0
  72. package/dist/movethewheels/components/FreeTimeAgreementForm.d.ts +14 -0
  73. package/dist/movethewheels/components/ReturnInstructionForm.d.ts +8 -0
  74. package/dist/movethewheels/components/ReuseControls.d.ts +42 -0
  75. package/dist/movethewheels/components/ReusePermissionForm.d.ts +9 -0
  76. package/dist/movethewheels/components/ReuseProposalForm.d.ts +11 -0
  77. package/dist/movethewheels/components/ReuseSourceFields.d.ts +9 -0
  78. package/dist/movethewheels/components/consolidation/ConsolidationHistory.d.ts +13 -0
  79. package/dist/movethewheels/components/consolidation/ConsolidationLotEditor.d.ts +6 -0
  80. package/dist/movethewheels/components/consolidation/ConsolidationManifestWorkbench.d.ts +8 -0
  81. package/dist/movethewheels/components/consolidation/ConsolidationPlanForm.d.ts +8 -0
  82. package/dist/movethewheels/components/consolidation/ConsolidationPlanWorkbench.d.ts +5 -0
  83. package/dist/movethewheels/components/consolidation/ConsolidationReportForm.d.ts +9 -0
  84. package/dist/movethewheels/components/consolidation/ConsolidationReportsWorkbench.d.ts +7 -0
  85. package/dist/movethewheels/components/consolidation/ConsolidationSummary.d.ts +6 -0
  86. package/dist/movethewheels/components/consolidation/OriginalConsolidationHistory.d.ts +8 -0
  87. package/dist/movethewheels/components/freight-cost/FreightDraftForm.d.ts +8 -0
  88. package/dist/movethewheels/components/freight-cost/FreightFields.d.ts +23 -0
  89. package/dist/movethewheels/components/freight-cost/FreightFxEditor.d.ts +6 -0
  90. package/dist/movethewheels/components/freight-cost/FreightHistory.d.ts +5 -0
  91. package/dist/movethewheels/components/freight-cost/FreightLineEditor.d.ts +8 -0
  92. package/dist/movethewheels/components/freight-cost/FreightScopeEditor.d.ts +6 -0
  93. package/dist/movethewheels/components/freight-cost/FreightTotals.d.ts +6 -0
  94. package/dist/movethewheels/components/logistics-procedure/ProcedureDecisionForm.d.ts +20 -0
  95. package/dist/movethewheels/components/logistics-procedure/ProcedureFields.d.ts +17 -0
  96. package/dist/movethewheels/components/logistics-procedure/ProcedureHistory.d.ts +7 -0
  97. package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyForm.d.ts +10 -0
  98. package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.d.ts +5 -0
  99. package/dist/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.d.ts +5 -0
  100. package/dist/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.d.ts +6 -0
  101. package/dist/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.d.ts +7 -0
  102. package/dist/movethewheels/components/pending-pick/PendingPickDraft.d.ts +16 -0
  103. package/dist/movethewheels/components/pending-pick/PendingPickHistory.d.ts +5 -0
  104. package/dist/movethewheels/components/pending-pick/PickCapture.d.ts +6 -0
  105. package/dist/movethewheels/components/pending-pick/PickLineSelection.d.ts +17 -0
  106. package/dist/movethewheels/components/stock-binding/StockAssessmentDraft.d.ts +13 -0
  107. package/dist/movethewheels/components/stock-binding/StockAssessmentHistory.d.ts +18 -0
  108. package/dist/movethewheels/components/stock-binding/StockAssessmentSummary.d.ts +9 -0
  109. package/dist/movethewheels/components/stock-binding/StockFactForm.d.ts +6 -0
  110. package/dist/movethewheels/components/stock-observation/StockIssueForm.d.ts +7 -0
  111. package/dist/movethewheels/components/stock-observation/StockIssueHistory.d.ts +7 -0
  112. package/dist/movethewheels/components/stock-observation/StockIssueReadPanel.d.ts +5 -0
  113. package/dist/movethewheels/components/trip-utilization/TripReportForm.d.ts +6 -0
  114. package/dist/movethewheels/components/trip-utilization/TripReportHistory.d.ts +14 -0
  115. package/dist/movethewheels/components/trip-utilization/TripReportSummary.d.ts +5 -0
  116. package/dist/movethewheels/components/trip-utilization/TripSegmentFields.d.ts +9 -0
  117. package/dist/movethewheels/hooks/useConsolidationAction.d.ts +19 -0
  118. package/dist/movethewheels/hooks/useContainerCondition.d.ts +21 -0
  119. package/dist/movethewheels/hooks/useContainerLifecycle.d.ts +40 -0
  120. package/dist/movethewheels/hooks/useEmptyReuseAction.d.ts +14 -0
  121. package/dist/movethewheels/hooks/useFreightRecoveryAction.d.ts +23 -0
  122. package/dist/movethewheels/hooks/useProcedureAction.d.ts +18 -0
  123. package/dist/movethewheels/hooks/useProcedureSelection.d.ts +51 -0
  124. package/dist/movethewheels/hooks/useReuseRecoveryAction.d.ts +18 -0
  125. package/dist/movethewheels/pages/ConsolidationPage.d.ts +1 -0
  126. package/dist/movethewheels/pages/ContainerConditionPage.d.ts +1 -0
  127. package/dist/movethewheels/pages/ContainersPage.d.ts +2 -0
  128. package/dist/movethewheels/pages/EmptyReusePage.d.ts +1 -0
  129. package/dist/movethewheels/pages/FreeTimePage.d.ts +1 -0
  130. package/dist/movethewheels/pages/FreightEstimatePage.d.ts +1 -0
  131. package/dist/movethewheels/pages/LogisticsProceduresPage.d.ts +1 -0
  132. package/dist/movethewheels/pages/PendingPickPage.d.ts +1 -0
  133. package/dist/movethewheels/pages/StockBindingPage.d.ts +1 -0
  134. package/dist/movethewheels/pages/StockObservationsPage.d.ts +1 -0
  135. package/dist/movethewheels/pages/TripUtilizationPage.d.ts +1 -0
  136. package/dist/movethewheels/utils/consolidationHistoryTarget.d.ts +12 -0
  137. package/dist/movethewheels/utils/consolidationInput.d.ts +15 -0
  138. package/dist/movethewheels/utils/consolidationLot.d.ts +3 -0
  139. package/dist/movethewheels/utils/consolidationPins.d.ts +20 -0
  140. package/dist/movethewheels/utils/consolidationRecovery.d.ts +5 -0
  141. package/dist/movethewheels/utils/consolidationReportHead.d.ts +5 -0
  142. package/dist/movethewheels/utils/freeTimeDate.d.ts +1 -0
  143. package/dist/movethewheels/utils/freightAcknowledgement.d.ts +2 -0
  144. package/dist/movethewheels/utils/freightDraft.d.ts +36 -0
  145. package/dist/movethewheels/utils/freightRecovery.d.ts +5 -0
  146. package/dist/movethewheels/utils/graphqlClient.d.ts +2 -1
  147. package/dist/movethewheels/utils/pendingPickDraft.d.ts +8 -0
  148. package/dist/movethewheels/utils/procedureInput.d.ts +18 -0
  149. package/dist/movethewheels/utils/procedureRecovery.d.ts +5 -0
  150. package/dist/movethewheels/utils/reuseAttempt.d.ts +7 -0
  151. package/dist/movethewheels/utils/reuseForm.d.ts +6 -0
  152. package/dist/movethewheels/utils/reuseRecovery.d.ts +26 -0
  153. package/dist/movethewheels/utils/stockBindingForm.d.ts +23 -0
  154. package/dist/movethewheels/utils/stockBindingLabels.d.ts +10 -0
  155. package/dist/movethewheels/utils/stockObservationForm.d.ts +5 -0
  156. package/dist/movethewheels/utils/tripDraftContext.d.ts +25 -0
  157. package/dist/movethewheels/utils/tripUtilizationForm.d.ts +6 -0
  158. package/dist/node_modules/@react-leaflet/core/lib/component.js +5 -5
  159. package/dist/node_modules/fast-equals/dist/es/index.js +87 -74
  160. package/dist/node_modules/leaflet/dist/leaflet-src.js +8 -5
  161. package/dist/node_modules/lodash/_Stack.js +2 -1
  162. package/dist/node_modules/lucide-react/dist/esm/icons/clipboard-list.js +35 -0
  163. package/dist/node_modules/lucide-react/dist/esm/icons/repeat-2.js +22 -0
  164. package/dist/node_modules/react-leaflet/lib/MapContainer.js +3 -3
  165. package/dist/node_modules/react-smooth/es6/Animate.js +2 -2
  166. package/dist/node_modules/recharts/es6/cartesian/Area.js +13 -13
  167. package/dist/node_modules/recharts/es6/cartesian/Bar.js +9 -9
  168. package/dist/node_modules/recharts/es6/cartesian/Brush.js +12 -12
  169. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +7 -7
  170. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +13 -13
  171. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +4 -4
  172. package/dist/node_modules/recharts/es6/cartesian/Line.js +10 -10
  173. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +3 -3
  174. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +3 -3
  175. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +4 -4
  176. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +3 -3
  177. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +3 -3
  178. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +1 -1
  179. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +22 -22
  180. package/dist/node_modules/recharts/es6/component/Cursor.js +1 -1
  181. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +11 -11
  182. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +6 -6
  183. package/dist/node_modules/recharts/es6/component/Label.js +14 -14
  184. package/dist/node_modules/recharts/es6/component/LabelList.js +6 -6
  185. package/dist/node_modules/recharts/es6/component/Legend.js +5 -5
  186. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +3 -3
  187. package/dist/node_modules/recharts/es6/component/Text.js +2 -2
  188. package/dist/node_modules/recharts/es6/component/Tooltip.js +3 -3
  189. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +2 -2
  190. package/dist/node_modules/recharts/es6/container/Layer.js +2 -2
  191. package/dist/node_modules/recharts/es6/container/Surface.js +2 -2
  192. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +2 -2
  193. package/dist/node_modules/recharts/es6/polar/Pie.js +13 -13
  194. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +8 -8
  195. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +6 -6
  196. package/dist/node_modules/recharts/es6/shape/Cross.js +1 -1
  197. package/dist/node_modules/recharts/es6/shape/Curve.js +1 -1
  198. package/dist/node_modules/recharts/es6/shape/Dot.js +1 -1
  199. package/dist/node_modules/recharts/es6/shape/Polygon.js +4 -4
  200. package/dist/node_modules/recharts/es6/shape/Rectangle.js +4 -4
  201. package/dist/node_modules/recharts/es6/shape/Sector.js +1 -1
  202. package/dist/node_modules/recharts/es6/shape/Symbols.js +1 -1
  203. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +4 -4
  204. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +9 -9
  205. package/dist/node_modules/recharts/es6/util/BarUtils.js +1 -1
  206. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +1 -1
  207. package/dist/node_modules/recharts/es6/util/PolarUtils.js +1 -1
  208. package/dist/node_modules/recharts/es6/util/ReactUtils.js +2 -2
  209. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +1 -1
  210. package/dist/node_modules/recharts/es6/util/types.js +1 -1
  211. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.development.js +2 -2
  212. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.production.min.js +2 -2
  213. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/index.js +2 -2
  214. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +97 -18
  215. package/dist/node_modules/zustand/esm/middleware.js +2 -2
  216. package/dist/pages/ConsolidationPage.js +76 -0
  217. package/dist/pages/ContainerConditionPage.js +972 -0
  218. package/dist/pages/ContainersPage.js +522 -0
  219. package/dist/pages/EmptyReusePage.js +777 -0
  220. package/dist/pages/FreeTimePage.js +657 -0
  221. package/dist/pages/FreightEstimatePage.js +284 -0
  222. package/dist/pages/InventoryPage.js +77 -73
  223. package/dist/pages/LogisticsProceduresPage.js +100 -0
  224. package/dist/pages/PendingPickPage.js +155 -0
  225. package/dist/pages/StockBindingPage.js +236 -0
  226. package/dist/pages/StockObservationsPage.js +168 -0
  227. package/dist/pages/TripUtilizationPage.js +227 -0
  228. package/dist/src/generated/consolidation-operations.js +505 -0
  229. package/dist/src/generated/container-condition-operations.js +208 -0
  230. package/dist/src/generated/container-operations.js +101 -0
  231. package/dist/src/generated/empty-reuse-operations.js +749 -0
  232. package/dist/src/generated/free-time-operations.js +235 -0
  233. package/dist/src/generated/freight-cost-operations.js +325 -0
  234. package/dist/src/generated/logistics-procedure-operations.js +362 -0
  235. package/dist/src/generated/pending-pick-operations.js +1128 -0
  236. package/dist/src/generated/stock-binding-operations.js +175 -0
  237. package/dist/src/generated/stock-observation-operations.js +93 -0
  238. package/dist/src/generated/trip-utilization-operations.js +140 -0
  239. package/dist/src/generated/wspace-operations.js +708 -0
  240. package/dist/utils/consolidationHistoryTarget.js +27 -0
  241. package/dist/utils/consolidationInput.js +21 -0
  242. package/dist/utils/consolidationLot.js +29 -0
  243. package/dist/utils/consolidationPins.js +13 -0
  244. package/dist/utils/consolidationRecovery.js +40 -0
  245. package/dist/utils/consolidationReportHead.js +18 -0
  246. package/dist/utils/freeTimeDate.js +26 -0
  247. package/dist/utils/freightAcknowledgement.js +8 -0
  248. package/dist/utils/freightDraft.js +125 -0
  249. package/dist/utils/freightRecovery.js +36 -0
  250. package/dist/utils/graphqlClient.js +28 -28
  251. package/dist/utils/pendingPickDraft.js +46 -0
  252. package/dist/utils/procedureInput.js +43 -0
  253. package/dist/utils/procedureRecovery.js +42 -0
  254. package/dist/utils/reuseAttempt.js +20 -0
  255. package/dist/utils/reuseForm.js +25 -0
  256. package/dist/utils/reuseRecovery.js +71 -0
  257. package/dist/utils/stockBindingForm.js +142 -0
  258. package/dist/utils/stockBindingLabels.js +23 -0
  259. package/dist/utils/stockObservationForm.js +55 -0
  260. package/dist/utils/tripDraftContext.js +19 -0
  261. package/dist/utils/tripUtilizationForm.js +60 -0
  262. package/package.json +19 -5
  263. package/src/generated/consolidation-operations.ts +1138 -0
  264. package/src/generated/container-condition-operations.ts +771 -0
  265. package/src/generated/container-operations.ts +376 -0
  266. package/src/generated/empty-reuse-operations.ts +1648 -0
  267. package/src/generated/free-time-operations.ts +814 -0
  268. package/src/generated/freight-cost-operations.ts +753 -0
  269. package/src/generated/logistics-procedure-operations.ts +1047 -0
  270. package/src/generated/pending-pick-operations.ts +1508 -0
  271. package/src/generated/stock-binding-operations.ts +631 -0
  272. package/src/generated/stock-observation-operations.ts +373 -0
  273. package/src/generated/trip-utilization-operations.ts +500 -0
  274. package/src/generated/wspace-operations.ts +116 -0
  275. package/src/movethewheels/MoveTheWheelsRoot.tsx +79 -0
  276. package/src/movethewheels/MoveTheWheelsRoutes.tsx +22 -0
  277. package/src/movethewheels/components/ContainerEvidencePicker.tsx +146 -0
  278. package/src/movethewheels/components/FreeTimeAgreementForm.tsx +483 -0
  279. package/src/movethewheels/components/ReturnInstructionForm.tsx +102 -0
  280. package/src/movethewheels/components/ReuseControls.tsx +138 -0
  281. package/src/movethewheels/components/ReusePermissionForm.tsx +123 -0
  282. package/src/movethewheels/components/ReuseProposalForm.tsx +484 -0
  283. package/src/movethewheels/components/ReuseSourceFields.tsx +80 -0
  284. package/src/movethewheels/components/consolidation/ConsolidationHistory.tsx +159 -0
  285. package/src/movethewheels/components/consolidation/ConsolidationLotEditor.tsx +144 -0
  286. package/src/movethewheels/components/consolidation/ConsolidationManifestWorkbench.tsx +168 -0
  287. package/src/movethewheels/components/consolidation/ConsolidationPlanForm.tsx +185 -0
  288. package/src/movethewheels/components/consolidation/ConsolidationPlanWorkbench.tsx +395 -0
  289. package/src/movethewheels/components/consolidation/ConsolidationReportForm.tsx +124 -0
  290. package/src/movethewheels/components/consolidation/ConsolidationReportsWorkbench.tsx +233 -0
  291. package/src/movethewheels/components/consolidation/ConsolidationSummary.tsx +84 -0
  292. package/src/movethewheels/components/consolidation/OriginalConsolidationHistory.tsx +133 -0
  293. package/src/movethewheels/components/freight-cost/FreightDraftForm.tsx +224 -0
  294. package/src/movethewheels/components/freight-cost/FreightFields.tsx +91 -0
  295. package/src/movethewheels/components/freight-cost/FreightFxEditor.tsx +98 -0
  296. package/src/movethewheels/components/freight-cost/FreightHistory.tsx +91 -0
  297. package/src/movethewheels/components/freight-cost/FreightLineEditor.tsx +192 -0
  298. package/src/movethewheels/components/freight-cost/FreightScopeEditor.tsx +64 -0
  299. package/src/movethewheels/components/freight-cost/FreightTotals.tsx +68 -0
  300. package/src/movethewheels/components/logistics-procedure/ProcedureDecisionForm.tsx +204 -0
  301. package/src/movethewheels/components/logistics-procedure/ProcedureFields.tsx +43 -0
  302. package/src/movethewheels/components/logistics-procedure/ProcedureHistory.tsx +102 -0
  303. package/src/movethewheels/components/logistics-procedure/ProcedurePolicyForm.tsx +226 -0
  304. package/src/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.tsx +174 -0
  305. package/src/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.tsx +278 -0
  306. package/src/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.tsx +292 -0
  307. package/src/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.tsx +111 -0
  308. package/src/movethewheels/components/pending-pick/PendingPickDraft.tsx +82 -0
  309. package/src/movethewheels/components/pending-pick/PendingPickHistory.tsx +93 -0
  310. package/src/movethewheels/components/pending-pick/PickCapture.tsx +70 -0
  311. package/src/movethewheels/components/pending-pick/PickLineSelection.tsx +130 -0
  312. package/src/movethewheels/components/stock-binding/StockAssessmentDraft.tsx +52 -0
  313. package/src/movethewheels/components/stock-binding/StockAssessmentHistory.tsx +56 -0
  314. package/src/movethewheels/components/stock-binding/StockAssessmentSummary.tsx +108 -0
  315. package/src/movethewheels/components/stock-binding/StockFactForm.tsx +186 -0
  316. package/src/movethewheels/components/stock-observation/StockIssueForm.tsx +103 -0
  317. package/src/movethewheels/components/stock-observation/StockIssueHistory.tsx +96 -0
  318. package/src/movethewheels/components/stock-observation/StockIssueReadPanel.tsx +72 -0
  319. package/src/movethewheels/components/trip-utilization/TripReportForm.tsx +116 -0
  320. package/src/movethewheels/components/trip-utilization/TripReportHistory.tsx +51 -0
  321. package/src/movethewheels/components/trip-utilization/TripReportSummary.tsx +127 -0
  322. package/src/movethewheels/components/trip-utilization/TripSegmentFields.tsx +118 -0
  323. package/src/movethewheels/hooks/useConsolidationAction.ts +196 -0
  324. package/src/movethewheels/hooks/useContainerCondition.ts +129 -0
  325. package/src/movethewheels/hooks/useContainerLifecycle.ts +291 -0
  326. package/src/movethewheels/hooks/useEmptyReuseAction.ts +72 -0
  327. package/src/movethewheels/hooks/useFreightRecoveryAction.ts +201 -0
  328. package/src/movethewheels/hooks/useInventory.ts +2 -20
  329. package/src/movethewheels/hooks/useProcedureAction.ts +196 -0
  330. package/src/movethewheels/hooks/useProcedureSelection.ts +75 -0
  331. package/src/movethewheels/hooks/useReuseRecoveryAction.ts +192 -0
  332. package/src/movethewheels/pages/ConsolidationPage.tsx +70 -0
  333. package/src/movethewheels/pages/ContainerConditionPage.tsx +959 -0
  334. package/src/movethewheels/pages/ContainersPage.tsx +490 -0
  335. package/src/movethewheels/pages/EmptyReusePage.tsx +823 -0
  336. package/src/movethewheels/pages/FreeTimePage.tsx +720 -0
  337. package/src/movethewheels/pages/FreightEstimatePage.tsx +353 -0
  338. package/src/movethewheels/pages/InventoryPage.tsx +16 -2
  339. package/src/movethewheels/pages/LogisticsProceduresPage.tsx +86 -0
  340. package/src/movethewheels/pages/PendingPickPage.tsx +226 -0
  341. package/src/movethewheels/pages/StockBindingPage.tsx +299 -0
  342. package/src/movethewheels/pages/StockObservationsPage.tsx +181 -0
  343. package/src/movethewheels/pages/TripUtilizationPage.tsx +315 -0
  344. package/src/movethewheels/utils/consolidationHistoryTarget.ts +39 -0
  345. package/src/movethewheels/utils/consolidationInput.ts +70 -0
  346. package/src/movethewheels/utils/consolidationLot.ts +24 -0
  347. package/src/movethewheels/utils/consolidationPins.ts +52 -0
  348. package/src/movethewheels/utils/consolidationRecovery.ts +88 -0
  349. package/src/movethewheels/utils/consolidationReportHead.ts +29 -0
  350. package/src/movethewheels/utils/freeTimeDate.ts +31 -0
  351. package/src/movethewheels/utils/freightAcknowledgement.ts +31 -0
  352. package/src/movethewheels/utils/freightDraft.ts +170 -0
  353. package/src/movethewheels/utils/freightRecovery.ts +79 -0
  354. package/src/movethewheels/utils/graphqlClient.ts +14 -5
  355. package/src/movethewheels/utils/pendingPickDraft.ts +61 -0
  356. package/src/movethewheels/utils/procedureInput.ts +98 -0
  357. package/src/movethewheels/utils/procedureRecovery.ts +92 -0
  358. package/src/movethewheels/utils/reuseAttempt.ts +29 -0
  359. package/src/movethewheels/utils/reuseForm.ts +30 -0
  360. package/src/movethewheels/utils/reuseRecovery.ts +151 -0
  361. package/src/movethewheels/utils/stockBindingForm.ts +209 -0
  362. package/src/movethewheels/utils/stockBindingLabels.ts +41 -0
  363. package/src/movethewheels/utils/stockObservationForm.ts +73 -0
  364. package/src/movethewheels/utils/tripDraftContext.ts +61 -0
  365. package/src/movethewheels/utils/tripUtilizationForm.ts +105 -0
  366. package/src/operations/condition/container-condition.graphql +41 -0
  367. package/src/operations/consolidation/consolidation.graphql +490 -0
  368. package/src/operations/container/container-lifecycle.graphql +80 -0
  369. package/src/operations/empty-reuse/empty-reuse.graphql +737 -0
  370. package/src/operations/free-time/free-time.graphql +47 -0
  371. package/src/operations/freight-cost/freight.graphql +6 -0
  372. package/src/operations/logistics-procedure/procedure.graphql +15 -0
  373. package/src/operations/pending-pick/pending-pick.graphql +1122 -0
  374. package/src/operations/stock-binding/stock-binding.graphql +160 -0
  375. package/src/operations/stock-observation/stock-observation.graphql +20 -0
  376. package/src/operations/trip-utilization/trip-utilization.graphql +126 -0
  377. package/src/operations/wspace/container-evidence.graphql +6 -0
@@ -0,0 +1,221 @@
1
+ import { Button as e } from "../ui.js";
2
+ import { useConditionApi as t, useConditionQuery as n } from "../../hooks/useContainerCondition.js";
3
+ import { object as r } from "../../utils/procedureInput.js";
4
+ import { ReusePager as i, ReuseState as a, reuseCard as o } from "../ReuseControls.js";
5
+ import { ProcedureField as s } from "./ProcedureFields.js";
6
+ import { ProcedureApplicableDocument as c, ProcedureCyclesDocument as l, ProcedureProposalsDocument as u, ProcedureRunsDocument as d, StartProcedureDocument as f } from "../../src/generated/logistics-procedure-operations.js";
7
+ import { useProcedureSelection as p } from "../../hooks/useProcedureSelection.js";
8
+ import { ProcedureSubjectPicker as m } from "./ProcedureSubjectPicker.js";
9
+ import { ProcedureRunWorkbench as h } from "./ProcedureRunWorkbench.js";
10
+ import { useEffect as g, useRef as _, useState as v } from "react";
11
+ import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
12
+ //#region src/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.tsx
13
+ function S({ actions: S }) {
14
+ let C = p(S.revision), w = t(), [T, E] = v(""), [D, O] = v(null), [k, A] = v(!1), [j, M] = v(null), [N, P] = v(""), [F, I] = v(0), L = _(!0);
15
+ g(() => (L.current = !0, () => {
16
+ L.current = !1;
17
+ }), []);
18
+ let R = n(c, C.proposalId ? { proposalId: C.proposalId } : null, S.revision), z = n(d, C.proposalId ? {
19
+ proposalId: C.proposalId,
20
+ pagination: {
21
+ limit: 10,
22
+ offset: F
23
+ }
24
+ } : null, S.revision), B = S.busy || S.uncertain || k, V = R.data?.mtwApplicableProcedures.policies.find((e) => e.version.id === T), H = !!D && (D.proposalId !== C.proposal?.id || D.expectedProposalRevision !== C.proposal.revision || D.cycleId !== C.cycle?.id || D.expectedCycleVersion !== C.cycle.version || !R.data?.mtwApplicableProcedures.policies.some((e) => e.version.id === D.procedureVersionId && e.status === "APPLICABLE_RECORDED_POLICY")), U = () => {
25
+ O(null), P(""), I(0), E(""), M(null);
26
+ }, W = async () => {
27
+ if (!D || B) return;
28
+ A(!0), M(null);
29
+ let e = D;
30
+ try {
31
+ let [t, n, i] = await Promise.all([
32
+ w(l, {
33
+ containerId: e.containerId,
34
+ pagination: {
35
+ limit: 25,
36
+ offset: e.cycleOffset
37
+ }
38
+ }),
39
+ w(u, {
40
+ cycleId: e.cycleId,
41
+ pagination: {
42
+ limit: 25,
43
+ offset: e.proposalOffset
44
+ }
45
+ }),
46
+ w(c, { proposalId: e.proposalId })
47
+ ]);
48
+ if (!L.current) throw Error("Workspace context changed. Nothing was sent.");
49
+ if (t.mtwContainerCyclePage.items.find((t) => t.id === e.cycleId)?.version !== e.expectedCycleVersion || n.mtwReuseProposalPage.items.find((t) => t.id === e.proposalId)?.revision !== e.expectedProposalRevision || !i.mtwApplicableProcedures.policies.some((t) => t.version.id === e.procedureVersionId && t.status === "APPLICABLE_RECORDED_POLICY")) throw Error("Proposal, cycle or policy changed. Refresh and review again.");
50
+ let a = await S.run(f, {
51
+ proposalId: e.proposalId,
52
+ procedureVersionId: e.procedureVersionId,
53
+ expectedCycleVersion: e.expectedCycleVersion,
54
+ expectedProposalRevision: e.expectedProposalRevision
55
+ }, "Checklist run recorded. No reservation was authorized.");
56
+ a && L.current && r(a.startMtwProcedureExecution) && typeof a.startMtwProcedureExecution.id == "string" && (P(a.startMtwProcedureExecution.id), O(null), I(0));
57
+ } catch (e) {
58
+ L.current && M(e instanceof Error ? e.message : "Unable to record checklist run.");
59
+ } finally {
60
+ L.current && A(!1);
61
+ }
62
+ };
63
+ return /* @__PURE__ */ x("div", {
64
+ className: "space-y-5",
65
+ children: [
66
+ /* @__PURE__ */ x("section", {
67
+ className: o,
68
+ children: [
69
+ /* @__PURE__ */ b(m, {
70
+ selection: C,
71
+ busy: B,
72
+ onChange: U
73
+ }),
74
+ /* @__PURE__ */ b(a, {
75
+ loading: R.loading,
76
+ error: R.error
77
+ }),
78
+ C.proposal && /* @__PURE__ */ x(y, { children: [
79
+ /* @__PURE__ */ x("p", { children: [
80
+ C.proposal.exportBookingReference,
81
+ " · exporter",
82
+ " ",
83
+ C.proposal.exporterReference,
84
+ " · ",
85
+ C.proposal.handoffLocationReference
86
+ ] }),
87
+ /* @__PURE__ */ x("p", { children: [
88
+ "Displayed proposal revision ",
89
+ C.proposal.revision,
90
+ "; cycle version",
91
+ " ",
92
+ C.cycle?.version ?? "Unknown",
93
+ "."
94
+ ] }),
95
+ /* @__PURE__ */ x("label", {
96
+ className: "block",
97
+ children: ["Applicable recorded procedure", /* @__PURE__ */ x("select", {
98
+ className: "mt-1 w-full rounded-md border bg-bg-surface p-2 text-sm",
99
+ disabled: B,
100
+ value: T,
101
+ onChange: (e) => {
102
+ E(e.target.value), O(null);
103
+ },
104
+ children: [/* @__PURE__ */ b("option", {
105
+ value: "",
106
+ children: "Choose a sourced procedure"
107
+ }), R.data?.mtwApplicableProcedures.policies.map((e) => /* @__PURE__ */ x("option", {
108
+ value: e.version.id,
109
+ disabled: e.status !== "APPLICABLE_RECORDED_POLICY",
110
+ children: [
111
+ e.version.title,
112
+ " · v",
113
+ e.version.version,
114
+ " ·",
115
+ " ",
116
+ e.status === "APPLICABLE_RECORDED_POLICY" ? "Applicable record" : e.status.toLowerCase()
117
+ ]
118
+ }, e.version.id))]
119
+ })]
120
+ }),
121
+ R.data && R.data.mtwApplicableProcedures.policies.length === 0 && /* @__PURE__ */ b("p", { children: "No exact-scope procedure is recorded. This does not establish an exemption." }),
122
+ /* @__PURE__ */ b(e, {
123
+ type: "button",
124
+ disabled: B || !V || V.status !== "APPLICABLE_RECORDED_POLICY" || !C.cycle || C.cycle.status !== "OPEN" || C.cycles.loading || C.proposals.loading || R.loading,
125
+ onClick: () => {
126
+ C.cycle && C.proposal && V && O({
127
+ containerId: C.containerId,
128
+ cycleId: C.cycle.id,
129
+ proposalId: C.proposal.id,
130
+ procedureVersionId: V.version.id,
131
+ expectedCycleVersion: C.cycle.version,
132
+ expectedProposalRevision: C.proposal.revision,
133
+ cycleOffset: C.cycleOffset,
134
+ proposalOffset: C.proposalOffset
135
+ });
136
+ },
137
+ children: "Review exact proposal and policy"
138
+ }),
139
+ D && /* @__PURE__ */ x(y, { children: [
140
+ /* @__PURE__ */ x("p", { children: [
141
+ "Captured revisions: proposal ",
142
+ D.expectedProposalRevision,
143
+ ", cycle",
144
+ " ",
145
+ D.expectedCycleVersion,
146
+ ". The server rechecks these when recording."
147
+ ] }),
148
+ H && /* @__PURE__ */ b("p", {
149
+ role: "alert",
150
+ children: "Displayed facts changed. Review them again."
151
+ }),
152
+ /* @__PURE__ */ b(e, {
153
+ type: "button",
154
+ disabled: B || H || C.cycles.loading || C.proposals.loading || R.loading,
155
+ onClick: () => void W(),
156
+ children: "Record checklist run"
157
+ })
158
+ ] })
159
+ ] }),
160
+ j && /* @__PURE__ */ b("p", {
161
+ role: "alert",
162
+ children: j
163
+ })
164
+ ]
165
+ }),
166
+ /* @__PURE__ */ x("section", {
167
+ className: o,
168
+ children: [
169
+ /* @__PURE__ */ b("h2", {
170
+ className: "text-lg font-semibold",
171
+ children: "Recorded runs"
172
+ }),
173
+ /* @__PURE__ */ b(a, {
174
+ loading: z.loading,
175
+ error: z.error
176
+ }),
177
+ z.data?.mtwProcedureExecutionPage.items.map((t) => /* @__PURE__ */ x(e, {
178
+ type: "button",
179
+ variant: "outline",
180
+ disabled: B,
181
+ onClick: () => P(t.id),
182
+ children: [
183
+ "Open ",
184
+ new Date(t.recordedAt).toLocaleString(),
185
+ " ·",
186
+ " ",
187
+ /* @__PURE__ */ b("span", {
188
+ className: "break-all",
189
+ children: t.id
190
+ })
191
+ ]
192
+ }, t.id)),
193
+ /* @__PURE__ */ b(i, {
194
+ offset: F,
195
+ page: z.data?.mtwProcedureExecutionPage,
196
+ onChange: I,
197
+ busy: B || z.loading
198
+ }),
199
+ /* @__PURE__ */ b(s, {
200
+ label: "Known run reference (exact scoped history)",
201
+ value: N,
202
+ onChange: (e) => {
203
+ B || P(e);
204
+ },
205
+ required: !1
206
+ }),
207
+ /* @__PURE__ */ b("p", {
208
+ className: "text-sm",
209
+ children: "A known reference opens captured history; this is not an archive search."
210
+ })
211
+ ]
212
+ }),
213
+ N && /* @__PURE__ */ b(h, {
214
+ id: N,
215
+ actions: S
216
+ }, N)
217
+ ]
218
+ });
219
+ }
220
+ //#endregion
221
+ export { S as ProcedureReviewWorkbench };
@@ -0,0 +1,190 @@
1
+ import { useMoveTheWheels as e } from "../../providers/MoveTheWheelsProvider.js";
2
+ import { Button as t } from "../ui.js";
3
+ import { useConditionApi as n, useConditionQuery as r } from "../../hooks/useContainerCondition.js";
4
+ import { chainMatches as i, procedureSteps as a, stepLabel as o } from "../../utils/procedureInput.js";
5
+ import { ReusePager as s, ReuseState as c, reuseCard as l } from "../ReuseControls.js";
6
+ import { ProcedureDeviationsDocument as u, ProcedureRunDocument as d, ProcedureStepsDocument as f, RecordProcedureDeviationDocument as p, RecordProcedureStepDocument as m, RevokeProcedureDeviationDocument as h } from "../../src/generated/logistics-procedure-operations.js";
7
+ import { ProcedureHistory as g } from "./ProcedureHistory.js";
8
+ import { ProcedureDeviationForm as _, ProcedureStepForm as v } from "./ProcedureDecisionForm.js";
9
+ import { useEffect as y, useRef as b, useState as x } from "react";
10
+ import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
11
+ //#region src/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.tsx
12
+ function T({ id: T, actions: E }) {
13
+ let D = n(), { currentUser: O } = e(), [k, ee] = x(0), [A, j] = x(0), [M, N] = x(null), [P, F] = x(null), [I, L] = x(!1), [R, te] = x("RETURN_INSTRUCTION_REVIEW"), [z, ne] = x(""), B = b(!0);
14
+ y(() => (B.current = !0, () => {
15
+ B.current = !1;
16
+ }), []);
17
+ let V = r(d, { id: T }, E.revision), H = r(f, {
18
+ executionId: T,
19
+ pagination: {
20
+ limit: 100,
21
+ offset: k
22
+ }
23
+ }, E.revision), U = r(u, {
24
+ executionId: T,
25
+ pagination: {
26
+ limit: 100,
27
+ offset: A
28
+ }
29
+ }, E.revision), W = H.data?.mtwProcedureStepPage.items ?? [], G = U.data?.mtwProcedureDeviationPage.items ?? [], K = E.busy || E.uncertain || I, q = !!H.data && !H.data.mtwProcedureStepPage.hasMore && k === 0, J = !!U.data && !U.data.mtwProcedureDeviationPage.hasMore && A === 0, Y = (e) => W.find((t) => t.step === e) ?? null, X = (e) => G.find((t) => t.stepDecisionId === e) ?? null, Z = !!M && q && !i(M.previous, Y(M.step)), Q = !!P && J && !i(P.previous, X(P.issue.id)), re = async (e) => {
30
+ if (!M || K) throw Error("Review the current step predecessor first.");
31
+ L(!0);
32
+ try {
33
+ let t = await D(f, {
34
+ executionId: T,
35
+ pagination: {
36
+ limit: 100,
37
+ offset: 0
38
+ }
39
+ });
40
+ if (!B.current) throw Error("Context changed. Nothing was sent.");
41
+ if (t.mtwProcedureStepPage.hasMore || !i(M.previous, t.mtwProcedureStepPage.items.find((e) => e.step === M.step) ?? null)) throw Error("Step history changed or exceeds this bounded review. Refresh and review again.");
42
+ await E.run(m, e, "Checklist decision recorded.") && B.current && N(null);
43
+ } finally {
44
+ B.current && L(!1);
45
+ }
46
+ }, $ = async (e, t) => {
47
+ if (!P || K) throw Error("Review the exact issue and deviation predecessor first.");
48
+ L(!0);
49
+ try {
50
+ let n = await D(u, {
51
+ executionId: T,
52
+ pagination: {
53
+ limit: 100,
54
+ offset: 0
55
+ }
56
+ });
57
+ if (!B.current) throw Error("Context changed. Nothing was sent.");
58
+ if (n.mtwProcedureDeviationPage.hasMore || !i(P.previous, n.mtwProcedureDeviationPage.items.find((e) => e.stepDecisionId === P.issue.id) ?? null)) throw Error("Deviation history changed or exceeds this bounded review.");
59
+ await E.run(t ? h : p, e, "Internal deviation review recorded.") && B.current && F(null);
60
+ } finally {
61
+ B.current && L(!1);
62
+ }
63
+ };
64
+ return /* @__PURE__ */ w("section", {
65
+ className: l,
66
+ children: [
67
+ /* @__PURE__ */ C(c, {
68
+ loading: V.loading,
69
+ error: V.error
70
+ }),
71
+ /* @__PURE__ */ C(c, {
72
+ loading: H.loading,
73
+ error: H.error
74
+ }),
75
+ /* @__PURE__ */ C(c, {
76
+ loading: U.loading,
77
+ error: U.error
78
+ }),
79
+ V.data && /* @__PURE__ */ w(S, { children: [
80
+ /* @__PURE__ */ C(g, {
81
+ run: V.data.mtwProcedureExecution,
82
+ steps: W,
83
+ deviations: G
84
+ }),
85
+ /* @__PURE__ */ C(s, {
86
+ offset: k,
87
+ page: H.data?.mtwProcedureStepPage,
88
+ onChange: ee,
89
+ busy: K || H.loading
90
+ }),
91
+ /* @__PURE__ */ C(s, {
92
+ offset: A,
93
+ page: U.data?.mtwProcedureDeviationPage,
94
+ onChange: j,
95
+ busy: K || U.loading
96
+ }),
97
+ (!q || !J) && /* @__PURE__ */ C("p", { children: "History is paged or exceeds 100 records. Recording is blocked here to avoid guessing a chain predecessor." }),
98
+ O?.id === V.data.mtwProcedureExecution.executorActorId && /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ w("label", {
99
+ className: "block",
100
+ children: ["Checklist step", /* @__PURE__ */ C("select", {
101
+ className: "mt-1 w-full rounded-md border bg-bg-surface p-2 text-sm",
102
+ disabled: K,
103
+ value: R,
104
+ onChange: (e) => {
105
+ let t = a.find((t) => t === e.target.value);
106
+ t && (te(t), N(null));
107
+ },
108
+ children: a.map((e) => /* @__PURE__ */ C("option", {
109
+ value: e,
110
+ children: o[e]
111
+ }, e))
112
+ })]
113
+ }), /* @__PURE__ */ C(t, {
114
+ type: "button",
115
+ disabled: K || !q || H.loading,
116
+ onClick: () => N({
117
+ step: R,
118
+ previous: Y(R),
119
+ generation: crypto.randomUUID()
120
+ }),
121
+ children: "Review predecessor and open check"
122
+ })] }),
123
+ M && /* @__PURE__ */ w(S, { children: [
124
+ /* @__PURE__ */ C("p", { children: "Opening another form discards unsent fields; refresh never replaces a retained original request." }),
125
+ Z && /* @__PURE__ */ C("p", {
126
+ role: "alert",
127
+ children: "Step history changed. Review a fresh predecessor."
128
+ }),
129
+ /* @__PURE__ */ C(v, {
130
+ executionId: T,
131
+ step: M.step,
132
+ previous: M.previous,
133
+ busy: K || Z || !q || H.loading,
134
+ onSave: re
135
+ }, M.generation)
136
+ ] }),
137
+ /* @__PURE__ */ w("label", {
138
+ className: "block",
139
+ children: ["Issue for an independent review", /* @__PURE__ */ w("select", {
140
+ className: "mt-1 w-full rounded-md border bg-bg-surface p-2 text-sm",
141
+ disabled: K,
142
+ value: z,
143
+ onChange: (e) => {
144
+ ne(e.target.value), F(null);
145
+ },
146
+ children: [/* @__PURE__ */ C("option", {
147
+ value: "",
148
+ children: "Choose a reported issue"
149
+ }), W.filter((e) => e.kind === "ISSUE").map((e) => /* @__PURE__ */ w("option", {
150
+ value: e.id,
151
+ children: [
152
+ o[e.step],
153
+ " · version ",
154
+ e.version,
155
+ " · ",
156
+ e.id
157
+ ]
158
+ }, e.id))]
159
+ })]
160
+ }),
161
+ /* @__PURE__ */ C(t, {
162
+ type: "button",
163
+ disabled: K || !z || !q || !J || H.loading || U.loading || O?.id === V.data.mtwProcedureExecution.executorActorId,
164
+ onClick: () => {
165
+ let e = W.find((e) => e.id === z && e.kind === "ISSUE");
166
+ e && F({
167
+ issue: e,
168
+ previous: X(e.id),
169
+ generation: crypto.randomUUID()
170
+ });
171
+ },
172
+ children: "Review issue and open deviation form"
173
+ }),
174
+ P && /* @__PURE__ */ w(S, { children: [Q && /* @__PURE__ */ C("p", {
175
+ role: "alert",
176
+ children: "Deviation history changed. Review a fresh predecessor."
177
+ }), /* @__PURE__ */ C(_, {
178
+ executionId: T,
179
+ issue: P.issue,
180
+ previous: P.previous,
181
+ busy: K || Q || !J || U.loading,
182
+ onSave: (e) => $(e, !1),
183
+ onRevoke: (e) => $(e, !0)
184
+ }, P.generation)] })
185
+ ] })
186
+ ]
187
+ });
188
+ }
189
+ //#endregion
190
+ export { T as ProcedureRunWorkbench };
@@ -0,0 +1,130 @@
1
+ import { ReusePager as e, ReuseState as t, reuseSelect as n } from "../ReuseControls.js";
2
+ import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
3
+ //#region src/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.tsx
4
+ function o({ selection: o, busy: s, onChange: c }) {
5
+ return /* @__PURE__ */ a("fieldset", {
6
+ disabled: s,
7
+ className: "space-y-4",
8
+ children: [
9
+ /* @__PURE__ */ i("legend", {
10
+ className: "font-semibold",
11
+ children: "Choose the recorded reuse proposal"
12
+ }),
13
+ /* @__PURE__ */ a("label", {
14
+ className: "block",
15
+ children: ["Container", /* @__PURE__ */ a("select", {
16
+ className: n,
17
+ value: o.containerId,
18
+ onChange: (e) => {
19
+ o.selectContainer(e.target.value), c();
20
+ },
21
+ children: [/* @__PURE__ */ i("option", {
22
+ value: "",
23
+ children: "Select a container"
24
+ }), o.containers.data?.mtwContainerPage.items.map((e) => /* @__PURE__ */ a("option", {
25
+ value: e.id,
26
+ children: [
27
+ e.containerNumber,
28
+ " · ",
29
+ e.equipmentType
30
+ ]
31
+ }, e.id))]
32
+ })]
33
+ }),
34
+ /* @__PURE__ */ i(t, {
35
+ loading: o.containers.loading,
36
+ error: o.containers.error
37
+ }),
38
+ /* @__PURE__ */ i(e, {
39
+ offset: o.containerOffset,
40
+ page: o.containers.data?.mtwContainerPage,
41
+ busy: s || o.containers.loading,
42
+ onChange: (e) => {
43
+ o.pageContainers(e), c();
44
+ }
45
+ }),
46
+ o.containerId && /* @__PURE__ */ a(r, { children: [
47
+ /* @__PURE__ */ a("label", {
48
+ className: "block",
49
+ children: ["Cycle", /* @__PURE__ */ a("select", {
50
+ className: "mt-1 w-full rounded-md border bg-bg-surface p-2 text-sm",
51
+ value: o.cycleId,
52
+ onChange: (e) => {
53
+ o.selectCycle(e.target.value), c();
54
+ },
55
+ children: [/* @__PURE__ */ i("option", {
56
+ value: "",
57
+ children: "Select a cycle"
58
+ }), o.cycles.data?.mtwContainerCyclePage.items.map((e) => /* @__PURE__ */ a("option", {
59
+ value: e.id,
60
+ children: [
61
+ e.bookingReference ?? "No booking reference",
62
+ " ·",
63
+ " ",
64
+ new Date(e.openedAt).toLocaleString(),
65
+ " · ",
66
+ e.status,
67
+ " · ",
68
+ e.id
69
+ ]
70
+ }, e.id))]
71
+ })]
72
+ }),
73
+ /* @__PURE__ */ i(t, {
74
+ loading: o.cycles.loading,
75
+ error: o.cycles.error
76
+ }),
77
+ /* @__PURE__ */ i(e, {
78
+ offset: o.cycleOffset,
79
+ page: o.cycles.data?.mtwContainerCyclePage,
80
+ busy: s || o.cycles.loading,
81
+ onChange: (e) => {
82
+ o.pageCycles(e), c();
83
+ }
84
+ })
85
+ ] }),
86
+ o.cycleId && /* @__PURE__ */ a(r, { children: [
87
+ /* @__PURE__ */ a("label", {
88
+ className: "block",
89
+ children: ["Proposal", /* @__PURE__ */ a("select", {
90
+ className: "mt-1 w-full rounded-md border bg-bg-surface p-2 text-sm",
91
+ value: o.proposalId,
92
+ onChange: (e) => {
93
+ o.selectProposal(e.target.value), c();
94
+ },
95
+ children: [/* @__PURE__ */ i("option", {
96
+ value: "",
97
+ children: "Select a proposal"
98
+ }), o.proposals.data?.mtwReuseProposalPage.items.map((e) => /* @__PURE__ */ a("option", {
99
+ value: e.id,
100
+ children: [
101
+ e.proposalReference,
102
+ " · revision ",
103
+ e.revision,
104
+ " · ",
105
+ e.exportBookingReference,
106
+ " ·",
107
+ " ",
108
+ e.handoffLocationReference
109
+ ]
110
+ }, e.id))]
111
+ })]
112
+ }),
113
+ /* @__PURE__ */ i(t, {
114
+ loading: o.proposals.loading,
115
+ error: o.proposals.error
116
+ }),
117
+ /* @__PURE__ */ i(e, {
118
+ offset: o.proposalOffset,
119
+ page: o.proposals.data?.mtwReuseProposalPage,
120
+ busy: s || o.proposals.loading,
121
+ onChange: (e) => {
122
+ o.pageProposals(e), c();
123
+ }
124
+ })
125
+ ] })
126
+ ]
127
+ });
128
+ }
129
+ //#endregion
130
+ export { o as ProcedureSubjectPicker };
@@ -0,0 +1,84 @@
1
+ import { Button as e, Input as t } from "../ui.js";
2
+ import { reuseCard as n } from "../ReuseControls.js";
3
+ import { PickCapture as r } from "./PickCapture.js";
4
+ import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ //#region src/movethewheels/components/pending-pick/PendingPickDraft.tsx
6
+ function s({ context: s, locked: c, loading: l, count: u, reason: d, draft: f, stale: p, onCount: m, onReason: h, onReview: g, onSave: _ }) {
7
+ return s ? /* @__PURE__ */ o(i, { children: [
8
+ /* @__PURE__ */ o("p", {
9
+ className: "text-sm",
10
+ children: [
11
+ "Server review time ",
12
+ s.evaluatedAt,
13
+ ". Applicability is reported by the server."
14
+ ]
15
+ }),
16
+ /* @__PURE__ */ o("div", {
17
+ className: "grid gap-3 lg:grid-cols-2",
18
+ children: [/* @__PURE__ */ a(r, {
19
+ title: "Source",
20
+ line: s.source
21
+ }), /* @__PURE__ */ a(r, {
22
+ title: "Staging",
23
+ line: s.destination
24
+ })]
25
+ }),
26
+ /* @__PURE__ */ o("section", {
27
+ className: `${n} min-w-0 break-words`,
28
+ children: [
29
+ /* @__PURE__ */ a("h2", {
30
+ className: "font-semibold",
31
+ children: "Review a pending plan"
32
+ }),
33
+ /* @__PURE__ */ a("p", { children: "Count units remain as reported above. Missing or mismatched facts remain review gaps." }),
34
+ /* @__PURE__ */ o("label", {
35
+ className: "block",
36
+ children: ["Requested whole count", /* @__PURE__ */ a(t, {
37
+ value: u,
38
+ inputMode: "numeric",
39
+ disabled: c,
40
+ onChange: (e) => {
41
+ m(e.target.value);
42
+ }
43
+ })]
44
+ }),
45
+ /* @__PURE__ */ o("label", {
46
+ className: "block",
47
+ children: ["Reason", /* @__PURE__ */ a(t, {
48
+ value: d,
49
+ maxLength: 1e3,
50
+ disabled: c,
51
+ onChange: (e) => {
52
+ h(e.target.value);
53
+ }
54
+ })]
55
+ }),
56
+ /* @__PURE__ */ a(e, {
57
+ type: "button",
58
+ variant: "outline",
59
+ disabled: c || l,
60
+ onClick: g,
61
+ children: "Review this plan"
62
+ }),
63
+ f && /* @__PURE__ */ o("p", { children: [
64
+ f.requestedQuantity,
65
+ " count · ",
66
+ f.note,
67
+ ". Proposed executor is the current user; recording requires a verified direct-human session."
68
+ ] }),
69
+ p && /* @__PURE__ */ a("p", {
70
+ role: "alert",
71
+ children: "Displayed source facts changed. Review this plan again."
72
+ }),
73
+ /* @__PURE__ */ a(e, {
74
+ type: "button",
75
+ disabled: c || !f || p || l,
76
+ onClick: _,
77
+ children: "Record pending plan"
78
+ })
79
+ ]
80
+ })
81
+ ] }) : null;
82
+ }
83
+ //#endregion
84
+ export { s as PendingPickDraft };