@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.
- package/dist/MoveTheWheelsRoot.js +177 -102
- package/dist/MoveTheWheelsRoutes.js +55 -11
- package/dist/_virtual/_rolldown/runtime.js +1 -1
- package/dist/components/ContainerEvidencePicker.js +143 -0
- package/dist/components/FreeTimeAgreementForm.js +496 -0
- package/dist/components/ReturnInstructionForm.js +108 -0
- package/dist/components/ReuseControls.js +91 -0
- package/dist/components/ReusePermissionForm.js +114 -0
- package/dist/components/ReuseProposalForm.js +455 -0
- package/dist/components/ReuseSourceFields.js +78 -0
- package/dist/components/consolidation/ConsolidationHistory.js +244 -0
- package/dist/components/consolidation/ConsolidationLotEditor.js +133 -0
- package/dist/components/consolidation/ConsolidationManifestWorkbench.js +143 -0
- package/dist/components/consolidation/ConsolidationPlanForm.js +172 -0
- package/dist/components/consolidation/ConsolidationPlanWorkbench.js +321 -0
- package/dist/components/consolidation/ConsolidationReportForm.js +94 -0
- package/dist/components/consolidation/ConsolidationReportsWorkbench.js +195 -0
- package/dist/components/consolidation/ConsolidationSummary.js +76 -0
- package/dist/components/consolidation/OriginalConsolidationHistory.js +112 -0
- package/dist/components/freight-cost/FreightDraftForm.js +213 -0
- package/dist/components/freight-cost/FreightFields.js +70 -0
- package/dist/components/freight-cost/FreightFxEditor.js +90 -0
- package/dist/components/freight-cost/FreightHistory.js +164 -0
- package/dist/components/freight-cost/FreightLineEditor.js +191 -0
- package/dist/components/freight-cost/FreightScopeEditor.js +72 -0
- package/dist/components/freight-cost/FreightTotals.js +66 -0
- package/dist/components/logistics-procedure/ProcedureDecisionForm.js +197 -0
- package/dist/components/logistics-procedure/ProcedureFields.js +31 -0
- package/dist/components/logistics-procedure/ProcedureHistory.js +177 -0
- package/dist/components/logistics-procedure/ProcedurePolicyForm.js +227 -0
- package/dist/components/logistics-procedure/ProcedurePolicyWorkbench.js +155 -0
- package/dist/components/logistics-procedure/ProcedureReviewWorkbench.js +221 -0
- package/dist/components/logistics-procedure/ProcedureRunWorkbench.js +190 -0
- package/dist/components/logistics-procedure/ProcedureSubjectPicker.js +130 -0
- package/dist/components/pending-pick/PendingPickDraft.js +84 -0
- package/dist/components/pending-pick/PendingPickHistory.js +113 -0
- package/dist/components/pending-pick/PickCapture.js +166 -0
- package/dist/components/pending-pick/PickLineSelection.js +111 -0
- package/dist/components/stock-binding/StockAssessmentDraft.js +48 -0
- package/dist/components/stock-binding/StockAssessmentHistory.js +61 -0
- package/dist/components/stock-binding/StockAssessmentSummary.js +199 -0
- package/dist/components/stock-binding/StockFactForm.js +232 -0
- package/dist/components/stock-observation/StockIssueForm.js +148 -0
- package/dist/components/stock-observation/StockIssueHistory.js +116 -0
- package/dist/components/stock-observation/StockIssueReadPanel.js +70 -0
- package/dist/components/trip-utilization/TripReportForm.js +118 -0
- package/dist/components/trip-utilization/TripReportHistory.js +54 -0
- package/dist/components/trip-utilization/TripReportSummary.js +216 -0
- package/dist/components/trip-utilization/TripSegmentFields.js +166 -0
- package/dist/generated/consolidation-operations.d.ts +1060 -0
- package/dist/generated/container-condition-operations.d.ts +868 -0
- package/dist/generated/container-operations.d.ts +356 -0
- package/dist/generated/empty-reuse-operations.d.ts +1578 -0
- package/dist/generated/free-time-operations.d.ts +938 -0
- package/dist/generated/freight-cost-operations.d.ts +716 -0
- package/dist/generated/logistics-procedure-operations.d.ts +938 -0
- package/dist/generated/pending-pick-operations.d.ts +1969 -0
- package/dist/generated/stock-binding-operations.d.ts +930 -0
- package/dist/generated/stock-observation-operations.d.ts +476 -0
- package/dist/generated/trip-utilization-operations.d.ts +651 -0
- package/dist/generated/wspace-operations.d.ts +143 -50
- package/dist/hooks/useConsolidationAction.js +119 -0
- package/dist/hooks/useContainerCondition.js +105 -0
- package/dist/hooks/useContainerLifecycle.js +192 -0
- package/dist/hooks/useEmptyReuseAction.js +45 -0
- package/dist/hooks/useFreightRecoveryAction.js +117 -0
- package/dist/hooks/useInventory.js +12 -1
- package/dist/hooks/useProcedureAction.js +119 -0
- package/dist/hooks/useProcedureSelection.js +53 -0
- package/dist/hooks/useReuseRecoveryAction.js +116 -0
- package/dist/movethewheels/components/ContainerEvidencePicker.d.ts +10 -0
- package/dist/movethewheels/components/FreeTimeAgreementForm.d.ts +14 -0
- package/dist/movethewheels/components/ReturnInstructionForm.d.ts +8 -0
- package/dist/movethewheels/components/ReuseControls.d.ts +42 -0
- package/dist/movethewheels/components/ReusePermissionForm.d.ts +9 -0
- package/dist/movethewheels/components/ReuseProposalForm.d.ts +11 -0
- package/dist/movethewheels/components/ReuseSourceFields.d.ts +9 -0
- package/dist/movethewheels/components/consolidation/ConsolidationHistory.d.ts +13 -0
- package/dist/movethewheels/components/consolidation/ConsolidationLotEditor.d.ts +6 -0
- package/dist/movethewheels/components/consolidation/ConsolidationManifestWorkbench.d.ts +8 -0
- package/dist/movethewheels/components/consolidation/ConsolidationPlanForm.d.ts +8 -0
- package/dist/movethewheels/components/consolidation/ConsolidationPlanWorkbench.d.ts +5 -0
- package/dist/movethewheels/components/consolidation/ConsolidationReportForm.d.ts +9 -0
- package/dist/movethewheels/components/consolidation/ConsolidationReportsWorkbench.d.ts +7 -0
- package/dist/movethewheels/components/consolidation/ConsolidationSummary.d.ts +6 -0
- package/dist/movethewheels/components/consolidation/OriginalConsolidationHistory.d.ts +8 -0
- package/dist/movethewheels/components/freight-cost/FreightDraftForm.d.ts +8 -0
- package/dist/movethewheels/components/freight-cost/FreightFields.d.ts +23 -0
- package/dist/movethewheels/components/freight-cost/FreightFxEditor.d.ts +6 -0
- package/dist/movethewheels/components/freight-cost/FreightHistory.d.ts +5 -0
- package/dist/movethewheels/components/freight-cost/FreightLineEditor.d.ts +8 -0
- package/dist/movethewheels/components/freight-cost/FreightScopeEditor.d.ts +6 -0
- package/dist/movethewheels/components/freight-cost/FreightTotals.d.ts +6 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureDecisionForm.d.ts +20 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureFields.d.ts +17 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureHistory.d.ts +7 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyForm.d.ts +10 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.d.ts +5 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.d.ts +5 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.d.ts +6 -0
- package/dist/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.d.ts +7 -0
- package/dist/movethewheels/components/pending-pick/PendingPickDraft.d.ts +16 -0
- package/dist/movethewheels/components/pending-pick/PendingPickHistory.d.ts +5 -0
- package/dist/movethewheels/components/pending-pick/PickCapture.d.ts +6 -0
- package/dist/movethewheels/components/pending-pick/PickLineSelection.d.ts +17 -0
- package/dist/movethewheels/components/stock-binding/StockAssessmentDraft.d.ts +13 -0
- package/dist/movethewheels/components/stock-binding/StockAssessmentHistory.d.ts +18 -0
- package/dist/movethewheels/components/stock-binding/StockAssessmentSummary.d.ts +9 -0
- package/dist/movethewheels/components/stock-binding/StockFactForm.d.ts +6 -0
- package/dist/movethewheels/components/stock-observation/StockIssueForm.d.ts +7 -0
- package/dist/movethewheels/components/stock-observation/StockIssueHistory.d.ts +7 -0
- package/dist/movethewheels/components/stock-observation/StockIssueReadPanel.d.ts +5 -0
- package/dist/movethewheels/components/trip-utilization/TripReportForm.d.ts +6 -0
- package/dist/movethewheels/components/trip-utilization/TripReportHistory.d.ts +14 -0
- package/dist/movethewheels/components/trip-utilization/TripReportSummary.d.ts +5 -0
- package/dist/movethewheels/components/trip-utilization/TripSegmentFields.d.ts +9 -0
- package/dist/movethewheels/hooks/useConsolidationAction.d.ts +19 -0
- package/dist/movethewheels/hooks/useContainerCondition.d.ts +21 -0
- package/dist/movethewheels/hooks/useContainerLifecycle.d.ts +40 -0
- package/dist/movethewheels/hooks/useEmptyReuseAction.d.ts +14 -0
- package/dist/movethewheels/hooks/useFreightRecoveryAction.d.ts +23 -0
- package/dist/movethewheels/hooks/useProcedureAction.d.ts +18 -0
- package/dist/movethewheels/hooks/useProcedureSelection.d.ts +51 -0
- package/dist/movethewheels/hooks/useReuseRecoveryAction.d.ts +18 -0
- package/dist/movethewheels/pages/ConsolidationPage.d.ts +1 -0
- package/dist/movethewheels/pages/ContainerConditionPage.d.ts +1 -0
- package/dist/movethewheels/pages/ContainersPage.d.ts +2 -0
- package/dist/movethewheels/pages/EmptyReusePage.d.ts +1 -0
- package/dist/movethewheels/pages/FreeTimePage.d.ts +1 -0
- package/dist/movethewheels/pages/FreightEstimatePage.d.ts +1 -0
- package/dist/movethewheels/pages/LogisticsProceduresPage.d.ts +1 -0
- package/dist/movethewheels/pages/PendingPickPage.d.ts +1 -0
- package/dist/movethewheels/pages/StockBindingPage.d.ts +1 -0
- package/dist/movethewheels/pages/StockObservationsPage.d.ts +1 -0
- package/dist/movethewheels/pages/TripUtilizationPage.d.ts +1 -0
- package/dist/movethewheels/utils/consolidationHistoryTarget.d.ts +12 -0
- package/dist/movethewheels/utils/consolidationInput.d.ts +15 -0
- package/dist/movethewheels/utils/consolidationLot.d.ts +3 -0
- package/dist/movethewheels/utils/consolidationPins.d.ts +20 -0
- package/dist/movethewheels/utils/consolidationRecovery.d.ts +5 -0
- package/dist/movethewheels/utils/consolidationReportHead.d.ts +5 -0
- package/dist/movethewheels/utils/freeTimeDate.d.ts +1 -0
- package/dist/movethewheels/utils/freightAcknowledgement.d.ts +2 -0
- package/dist/movethewheels/utils/freightDraft.d.ts +36 -0
- package/dist/movethewheels/utils/freightRecovery.d.ts +5 -0
- package/dist/movethewheels/utils/graphqlClient.d.ts +2 -1
- package/dist/movethewheels/utils/pendingPickDraft.d.ts +8 -0
- package/dist/movethewheels/utils/procedureInput.d.ts +18 -0
- package/dist/movethewheels/utils/procedureRecovery.d.ts +5 -0
- package/dist/movethewheels/utils/reuseAttempt.d.ts +7 -0
- package/dist/movethewheels/utils/reuseForm.d.ts +6 -0
- package/dist/movethewheels/utils/reuseRecovery.d.ts +26 -0
- package/dist/movethewheels/utils/stockBindingForm.d.ts +23 -0
- package/dist/movethewheels/utils/stockBindingLabels.d.ts +10 -0
- package/dist/movethewheels/utils/stockObservationForm.d.ts +5 -0
- package/dist/movethewheels/utils/tripDraftContext.d.ts +25 -0
- package/dist/movethewheels/utils/tripUtilizationForm.d.ts +6 -0
- package/dist/node_modules/@react-leaflet/core/lib/component.js +5 -5
- package/dist/node_modules/fast-equals/dist/es/index.js +87 -74
- package/dist/node_modules/leaflet/dist/leaflet-src.js +8 -5
- package/dist/node_modules/lodash/_Stack.js +2 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/clipboard-list.js +35 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/repeat-2.js +22 -0
- package/dist/node_modules/react-leaflet/lib/MapContainer.js +3 -3
- package/dist/node_modules/react-smooth/es6/Animate.js +2 -2
- package/dist/node_modules/recharts/es6/cartesian/Area.js +13 -13
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +9 -9
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +12 -12
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +7 -7
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +13 -13
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +4 -4
- package/dist/node_modules/recharts/es6/cartesian/Line.js +10 -10
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +3 -3
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +3 -3
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +4 -4
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +3 -3
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +3 -3
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +1 -1
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +22 -22
- package/dist/node_modules/recharts/es6/component/Cursor.js +1 -1
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +11 -11
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +6 -6
- package/dist/node_modules/recharts/es6/component/Label.js +14 -14
- package/dist/node_modules/recharts/es6/component/LabelList.js +6 -6
- package/dist/node_modules/recharts/es6/component/Legend.js +5 -5
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +3 -3
- package/dist/node_modules/recharts/es6/component/Text.js +2 -2
- package/dist/node_modules/recharts/es6/component/Tooltip.js +3 -3
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +2 -2
- package/dist/node_modules/recharts/es6/container/Layer.js +2 -2
- package/dist/node_modules/recharts/es6/container/Surface.js +2 -2
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +2 -2
- package/dist/node_modules/recharts/es6/polar/Pie.js +13 -13
- package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +8 -8
- package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +6 -6
- package/dist/node_modules/recharts/es6/shape/Cross.js +1 -1
- package/dist/node_modules/recharts/es6/shape/Curve.js +1 -1
- package/dist/node_modules/recharts/es6/shape/Dot.js +1 -1
- package/dist/node_modules/recharts/es6/shape/Polygon.js +4 -4
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +4 -4
- package/dist/node_modules/recharts/es6/shape/Sector.js +1 -1
- package/dist/node_modules/recharts/es6/shape/Symbols.js +1 -1
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +4 -4
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +9 -9
- package/dist/node_modules/recharts/es6/util/BarUtils.js +1 -1
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +1 -1
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +1 -1
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +2 -2
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +1 -1
- package/dist/node_modules/recharts/es6/util/types.js +1 -1
- package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.development.js +2 -2
- package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.production.min.js +2 -2
- package/dist/node_modules/{react-is → recharts/node_modules/react-is}/index.js +2 -2
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +97 -18
- package/dist/node_modules/zustand/esm/middleware.js +2 -2
- package/dist/pages/ConsolidationPage.js +76 -0
- package/dist/pages/ContainerConditionPage.js +972 -0
- package/dist/pages/ContainersPage.js +522 -0
- package/dist/pages/EmptyReusePage.js +777 -0
- package/dist/pages/FreeTimePage.js +657 -0
- package/dist/pages/FreightEstimatePage.js +284 -0
- package/dist/pages/InventoryPage.js +77 -73
- package/dist/pages/LogisticsProceduresPage.js +100 -0
- package/dist/pages/PendingPickPage.js +155 -0
- package/dist/pages/StockBindingPage.js +236 -0
- package/dist/pages/StockObservationsPage.js +168 -0
- package/dist/pages/TripUtilizationPage.js +227 -0
- package/dist/src/generated/consolidation-operations.js +505 -0
- package/dist/src/generated/container-condition-operations.js +208 -0
- package/dist/src/generated/container-operations.js +101 -0
- package/dist/src/generated/empty-reuse-operations.js +749 -0
- package/dist/src/generated/free-time-operations.js +235 -0
- package/dist/src/generated/freight-cost-operations.js +325 -0
- package/dist/src/generated/logistics-procedure-operations.js +362 -0
- package/dist/src/generated/pending-pick-operations.js +1128 -0
- package/dist/src/generated/stock-binding-operations.js +175 -0
- package/dist/src/generated/stock-observation-operations.js +93 -0
- package/dist/src/generated/trip-utilization-operations.js +140 -0
- package/dist/src/generated/wspace-operations.js +708 -0
- package/dist/utils/consolidationHistoryTarget.js +27 -0
- package/dist/utils/consolidationInput.js +21 -0
- package/dist/utils/consolidationLot.js +29 -0
- package/dist/utils/consolidationPins.js +13 -0
- package/dist/utils/consolidationRecovery.js +40 -0
- package/dist/utils/consolidationReportHead.js +18 -0
- package/dist/utils/freeTimeDate.js +26 -0
- package/dist/utils/freightAcknowledgement.js +8 -0
- package/dist/utils/freightDraft.js +125 -0
- package/dist/utils/freightRecovery.js +36 -0
- package/dist/utils/graphqlClient.js +28 -28
- package/dist/utils/pendingPickDraft.js +46 -0
- package/dist/utils/procedureInput.js +43 -0
- package/dist/utils/procedureRecovery.js +42 -0
- package/dist/utils/reuseAttempt.js +20 -0
- package/dist/utils/reuseForm.js +25 -0
- package/dist/utils/reuseRecovery.js +71 -0
- package/dist/utils/stockBindingForm.js +142 -0
- package/dist/utils/stockBindingLabels.js +23 -0
- package/dist/utils/stockObservationForm.js +55 -0
- package/dist/utils/tripDraftContext.js +19 -0
- package/dist/utils/tripUtilizationForm.js +60 -0
- package/package.json +19 -5
- package/src/generated/consolidation-operations.ts +1138 -0
- package/src/generated/container-condition-operations.ts +771 -0
- package/src/generated/container-operations.ts +376 -0
- package/src/generated/empty-reuse-operations.ts +1648 -0
- package/src/generated/free-time-operations.ts +814 -0
- package/src/generated/freight-cost-operations.ts +753 -0
- package/src/generated/logistics-procedure-operations.ts +1047 -0
- package/src/generated/pending-pick-operations.ts +1508 -0
- package/src/generated/stock-binding-operations.ts +631 -0
- package/src/generated/stock-observation-operations.ts +373 -0
- package/src/generated/trip-utilization-operations.ts +500 -0
- package/src/generated/wspace-operations.ts +116 -0
- package/src/movethewheels/MoveTheWheelsRoot.tsx +79 -0
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +22 -0
- package/src/movethewheels/components/ContainerEvidencePicker.tsx +146 -0
- package/src/movethewheels/components/FreeTimeAgreementForm.tsx +483 -0
- package/src/movethewheels/components/ReturnInstructionForm.tsx +102 -0
- package/src/movethewheels/components/ReuseControls.tsx +138 -0
- package/src/movethewheels/components/ReusePermissionForm.tsx +123 -0
- package/src/movethewheels/components/ReuseProposalForm.tsx +484 -0
- package/src/movethewheels/components/ReuseSourceFields.tsx +80 -0
- package/src/movethewheels/components/consolidation/ConsolidationHistory.tsx +159 -0
- package/src/movethewheels/components/consolidation/ConsolidationLotEditor.tsx +144 -0
- package/src/movethewheels/components/consolidation/ConsolidationManifestWorkbench.tsx +168 -0
- package/src/movethewheels/components/consolidation/ConsolidationPlanForm.tsx +185 -0
- package/src/movethewheels/components/consolidation/ConsolidationPlanWorkbench.tsx +395 -0
- package/src/movethewheels/components/consolidation/ConsolidationReportForm.tsx +124 -0
- package/src/movethewheels/components/consolidation/ConsolidationReportsWorkbench.tsx +233 -0
- package/src/movethewheels/components/consolidation/ConsolidationSummary.tsx +84 -0
- package/src/movethewheels/components/consolidation/OriginalConsolidationHistory.tsx +133 -0
- package/src/movethewheels/components/freight-cost/FreightDraftForm.tsx +224 -0
- package/src/movethewheels/components/freight-cost/FreightFields.tsx +91 -0
- package/src/movethewheels/components/freight-cost/FreightFxEditor.tsx +98 -0
- package/src/movethewheels/components/freight-cost/FreightHistory.tsx +91 -0
- package/src/movethewheels/components/freight-cost/FreightLineEditor.tsx +192 -0
- package/src/movethewheels/components/freight-cost/FreightScopeEditor.tsx +64 -0
- package/src/movethewheels/components/freight-cost/FreightTotals.tsx +68 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureDecisionForm.tsx +204 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureFields.tsx +43 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureHistory.tsx +102 -0
- package/src/movethewheels/components/logistics-procedure/ProcedurePolicyForm.tsx +226 -0
- package/src/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.tsx +174 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.tsx +278 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.tsx +292 -0
- package/src/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.tsx +111 -0
- package/src/movethewheels/components/pending-pick/PendingPickDraft.tsx +82 -0
- package/src/movethewheels/components/pending-pick/PendingPickHistory.tsx +93 -0
- package/src/movethewheels/components/pending-pick/PickCapture.tsx +70 -0
- package/src/movethewheels/components/pending-pick/PickLineSelection.tsx +130 -0
- package/src/movethewheels/components/stock-binding/StockAssessmentDraft.tsx +52 -0
- package/src/movethewheels/components/stock-binding/StockAssessmentHistory.tsx +56 -0
- package/src/movethewheels/components/stock-binding/StockAssessmentSummary.tsx +108 -0
- package/src/movethewheels/components/stock-binding/StockFactForm.tsx +186 -0
- package/src/movethewheels/components/stock-observation/StockIssueForm.tsx +103 -0
- package/src/movethewheels/components/stock-observation/StockIssueHistory.tsx +96 -0
- package/src/movethewheels/components/stock-observation/StockIssueReadPanel.tsx +72 -0
- package/src/movethewheels/components/trip-utilization/TripReportForm.tsx +116 -0
- package/src/movethewheels/components/trip-utilization/TripReportHistory.tsx +51 -0
- package/src/movethewheels/components/trip-utilization/TripReportSummary.tsx +127 -0
- package/src/movethewheels/components/trip-utilization/TripSegmentFields.tsx +118 -0
- package/src/movethewheels/hooks/useConsolidationAction.ts +196 -0
- package/src/movethewheels/hooks/useContainerCondition.ts +129 -0
- package/src/movethewheels/hooks/useContainerLifecycle.ts +291 -0
- package/src/movethewheels/hooks/useEmptyReuseAction.ts +72 -0
- package/src/movethewheels/hooks/useFreightRecoveryAction.ts +201 -0
- package/src/movethewheels/hooks/useInventory.ts +2 -20
- package/src/movethewheels/hooks/useProcedureAction.ts +196 -0
- package/src/movethewheels/hooks/useProcedureSelection.ts +75 -0
- package/src/movethewheels/hooks/useReuseRecoveryAction.ts +192 -0
- package/src/movethewheels/pages/ConsolidationPage.tsx +70 -0
- package/src/movethewheels/pages/ContainerConditionPage.tsx +959 -0
- package/src/movethewheels/pages/ContainersPage.tsx +490 -0
- package/src/movethewheels/pages/EmptyReusePage.tsx +823 -0
- package/src/movethewheels/pages/FreeTimePage.tsx +720 -0
- package/src/movethewheels/pages/FreightEstimatePage.tsx +353 -0
- package/src/movethewheels/pages/InventoryPage.tsx +16 -2
- package/src/movethewheels/pages/LogisticsProceduresPage.tsx +86 -0
- package/src/movethewheels/pages/PendingPickPage.tsx +226 -0
- package/src/movethewheels/pages/StockBindingPage.tsx +299 -0
- package/src/movethewheels/pages/StockObservationsPage.tsx +181 -0
- package/src/movethewheels/pages/TripUtilizationPage.tsx +315 -0
- package/src/movethewheels/utils/consolidationHistoryTarget.ts +39 -0
- package/src/movethewheels/utils/consolidationInput.ts +70 -0
- package/src/movethewheels/utils/consolidationLot.ts +24 -0
- package/src/movethewheels/utils/consolidationPins.ts +52 -0
- package/src/movethewheels/utils/consolidationRecovery.ts +88 -0
- package/src/movethewheels/utils/consolidationReportHead.ts +29 -0
- package/src/movethewheels/utils/freeTimeDate.ts +31 -0
- package/src/movethewheels/utils/freightAcknowledgement.ts +31 -0
- package/src/movethewheels/utils/freightDraft.ts +170 -0
- package/src/movethewheels/utils/freightRecovery.ts +79 -0
- package/src/movethewheels/utils/graphqlClient.ts +14 -5
- package/src/movethewheels/utils/pendingPickDraft.ts +61 -0
- package/src/movethewheels/utils/procedureInput.ts +98 -0
- package/src/movethewheels/utils/procedureRecovery.ts +92 -0
- package/src/movethewheels/utils/reuseAttempt.ts +29 -0
- package/src/movethewheels/utils/reuseForm.ts +30 -0
- package/src/movethewheels/utils/reuseRecovery.ts +151 -0
- package/src/movethewheels/utils/stockBindingForm.ts +209 -0
- package/src/movethewheels/utils/stockBindingLabels.ts +41 -0
- package/src/movethewheels/utils/stockObservationForm.ts +73 -0
- package/src/movethewheels/utils/tripDraftContext.ts +61 -0
- package/src/movethewheels/utils/tripUtilizationForm.ts +105 -0
- package/src/operations/condition/container-condition.graphql +41 -0
- package/src/operations/consolidation/consolidation.graphql +490 -0
- package/src/operations/container/container-lifecycle.graphql +80 -0
- package/src/operations/empty-reuse/empty-reuse.graphql +737 -0
- package/src/operations/free-time/free-time.graphql +47 -0
- package/src/operations/freight-cost/freight.graphql +6 -0
- package/src/operations/logistics-procedure/procedure.graphql +15 -0
- package/src/operations/pending-pick/pending-pick.graphql +1122 -0
- package/src/operations/stock-binding/stock-binding.graphql +160 -0
- package/src/operations/stock-observation/stock-observation.graphql +20 -0
- package/src/operations/trip-utilization/trip-utilization.graphql +126 -0
- package/src/operations/wspace/container-evidence.graphql +6 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { resolveGraphqlUrl as e } from "./graphqlClient.js";
|
|
2
|
+
import { Kind as t, parse as n, print as r } from "graphql";
|
|
3
|
+
//#region src/movethewheels/utils/reuseRecovery.ts
|
|
4
|
+
var i = "movethewheels.empty-reuse.unresolved.v1", a = 2e5, o = new Set([
|
|
5
|
+
"RecordReturnInstruction",
|
|
6
|
+
"RecordReuseProposal",
|
|
7
|
+
"RecordReuseApproval",
|
|
8
|
+
"AcceptReuseReservation",
|
|
9
|
+
"TerminateReuseReservation"
|
|
10
|
+
]);
|
|
11
|
+
function s(e) {
|
|
12
|
+
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
13
|
+
}
|
|
14
|
+
function c(t, n, r, i, a) {
|
|
15
|
+
if (!t || !n || !a) return null;
|
|
16
|
+
try {
|
|
17
|
+
let o = a.split(".")[1], c = JSON.parse(atob(o.replace(/-/g, "+").replace(/_/g, "/")));
|
|
18
|
+
if (!s(c) || c.sub !== t || c.workspaceId !== n || typeof c.organizationId != "string" || !c.organizationId || !Object.hasOwn(c, "projectId")) return null;
|
|
19
|
+
let l = c.projectId;
|
|
20
|
+
return l != null && typeof l != "string" ? null : {
|
|
21
|
+
actorId: t,
|
|
22
|
+
workspaceId: n,
|
|
23
|
+
tenantId: r ?? "",
|
|
24
|
+
organizationId: c.organizationId,
|
|
25
|
+
gateway: e(i),
|
|
26
|
+
projectId: l ?? null
|
|
27
|
+
};
|
|
28
|
+
} catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function l(e) {
|
|
33
|
+
return JSON.stringify(e);
|
|
34
|
+
}
|
|
35
|
+
function u(e, t) {
|
|
36
|
+
return t !== null && e.actorId === t.actorId && e.workspaceId === t.workspaceId && e.tenantId === t.tenantId && e.organizationId === t.organizationId && e.gateway === t.gateway && e.projectId === t.projectId;
|
|
37
|
+
}
|
|
38
|
+
function d(e, i) {
|
|
39
|
+
if (!e || new TextEncoder().encode(e).byteLength > a) return null;
|
|
40
|
+
try {
|
|
41
|
+
let a = JSON.parse(e);
|
|
42
|
+
if (!s(a) || a.version !== 1 || !s(a.scope) || !s(a.input)) return null;
|
|
43
|
+
let c = a.scope;
|
|
44
|
+
if (typeof c.actorId != "string" || typeof c.workspaceId != "string" || typeof c.tenantId != "string" || typeof c.organizationId != "string" || typeof c.gateway != "string" || !c.actorId || !c.workspaceId || c.projectId !== null && typeof c.projectId != "string" || typeof a.operation != "string" || !i.some((e) => r(e) === a.operation)) return null;
|
|
45
|
+
let l = n(a.operation).definitions.find((e) => e.kind === t.OPERATION_DEFINITION);
|
|
46
|
+
return !l || l.kind !== t.OPERATION_DEFINITION || l.operation !== "mutation" || !l.name || !o.has(l.name.value) || typeof a.key != "string" || !a.key || a.key.length > 200 || typeof a.success != "string" || a.success.length > 500 ? null : {
|
|
47
|
+
version: 1,
|
|
48
|
+
scope: {
|
|
49
|
+
actorId: c.actorId,
|
|
50
|
+
workspaceId: c.workspaceId,
|
|
51
|
+
tenantId: c.tenantId,
|
|
52
|
+
organizationId: c.organizationId,
|
|
53
|
+
gateway: c.gateway,
|
|
54
|
+
projectId: c.projectId
|
|
55
|
+
},
|
|
56
|
+
operation: a.operation,
|
|
57
|
+
input: a.input,
|
|
58
|
+
key: a.key,
|
|
59
|
+
success: a.success
|
|
60
|
+
};
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function f(e) {
|
|
66
|
+
let t = JSON.stringify(e);
|
|
67
|
+
if (new TextEncoder().encode(t).byteLength > a) throw Error("This request is too large to retain safely.");
|
|
68
|
+
return t;
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { i as REUSE_RECOVERY_STORAGE, d as decodeReuseRecovery, f as encodeReuseRecovery, l as reuseRecoveryContextKey, c as reuseRecoveryScope, u as sameReuseRecoveryScope };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { freeTimeIso as e } from "./freeTimeDate.js";
|
|
2
|
+
//#region src/movethewheels/utils/stockBindingForm.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
return `${e.warehouse?.name ?? "Warehouse unavailable"} (${e.warehouse?.code ?? "unknown code"}) / ${e.cargoItem?.name ?? "Cargo unavailable"} (${e.cargoItem?.sku ?? "unknown SKU"}) / ${e.locationId === null ? "Unbinned" : e.location?.locationCode ?? "Bin unavailable"}`;
|
|
5
|
+
}
|
|
6
|
+
function n(e, n) {
|
|
7
|
+
if (!e.cargoItem || !e.warehouse || e.cargoItem.id !== e.cargoItemId || e.warehouse.id !== e.warehouseId || (e.locationId === null ? e.location != null : !e.location || e.location.id !== e.locationId || e.location.warehouseId !== e.warehouseId)) throw Error("This stock line is missing a current owner. Refresh and review it before recording.");
|
|
8
|
+
if (!Number.isInteger(e.compositionEpoch) || e.compositionEpoch < 0 || e.compositionEpoch > 2147483647) throw Error("The current continuity revision is unavailable. Refresh and review this stock line.");
|
|
9
|
+
if (n && n.inventoryItemId !== e.id) throw Error("The previous assessment belongs to another stock line.");
|
|
10
|
+
return {
|
|
11
|
+
inventoryItemId: e.id,
|
|
12
|
+
expectedCompositionEpoch: e.compositionEpoch,
|
|
13
|
+
expectedCargoItemId: e.cargoItemId,
|
|
14
|
+
expectedWarehouseId: e.warehouseId,
|
|
15
|
+
expectedLocationId: e.locationId ?? null,
|
|
16
|
+
expectedInventoryUpdatedAt: e.updatedAt,
|
|
17
|
+
expectedCargoUpdatedAt: e.cargoItem.updatedAt,
|
|
18
|
+
expectedWarehouseUpdatedAt: e.warehouse.updatedAt,
|
|
19
|
+
expectedLocationUpdatedAt: e.location?.updatedAt ?? null,
|
|
20
|
+
expectedPreviousAssessmentId: n?.id ?? null,
|
|
21
|
+
expectedVersion: n?.version ?? 0,
|
|
22
|
+
label: t(e)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function r(e, t, r) {
|
|
26
|
+
if (!t) return !1;
|
|
27
|
+
try {
|
|
28
|
+
let i = n(t, r);
|
|
29
|
+
return Object.entries(i).every(([t, n]) => t === "label" || e[t] === n);
|
|
30
|
+
} catch {
|
|
31
|
+
return !1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function i(e, t, n, i) {
|
|
35
|
+
if (!r(t, n, i)) throw Error("This stock line or its recorded history changed. Refresh and review a new draft.");
|
|
36
|
+
return {
|
|
37
|
+
inventoryItemId: t.inventoryItemId,
|
|
38
|
+
expectedCompositionEpoch: t.expectedCompositionEpoch,
|
|
39
|
+
expectedCargoItemId: t.expectedCargoItemId,
|
|
40
|
+
expectedWarehouseId: t.expectedWarehouseId,
|
|
41
|
+
expectedLocationId: t.expectedLocationId,
|
|
42
|
+
expectedInventoryUpdatedAt: t.expectedInventoryUpdatedAt,
|
|
43
|
+
expectedCargoUpdatedAt: t.expectedCargoUpdatedAt,
|
|
44
|
+
expectedWarehouseUpdatedAt: t.expectedWarehouseUpdatedAt,
|
|
45
|
+
expectedLocationUpdatedAt: t.expectedLocationUpdatedAt,
|
|
46
|
+
expectedPreviousAssessmentId: t.expectedPreviousAssessmentId,
|
|
47
|
+
expectedVersion: t.expectedVersion,
|
|
48
|
+
...e
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function a(e, t, n = 255) {
|
|
52
|
+
let r = e.get(t);
|
|
53
|
+
if (r === null || r === "") return null;
|
|
54
|
+
if (typeof r != "string") throw Error("Enter text source facts.");
|
|
55
|
+
let i = r.trim();
|
|
56
|
+
if (!i) return null;
|
|
57
|
+
if (i.length > n) throw Error(`${t} exceeds ${n} characters.`);
|
|
58
|
+
return i;
|
|
59
|
+
}
|
|
60
|
+
function o(t, n) {
|
|
61
|
+
let r = a(t, n);
|
|
62
|
+
return r === null ? null : e(r);
|
|
63
|
+
}
|
|
64
|
+
function s(e, t, n) {
|
|
65
|
+
let r = n.find((n) => n === e.get(t));
|
|
66
|
+
if (!r) throw Error(`Choose a declared ${t}.`);
|
|
67
|
+
return r;
|
|
68
|
+
}
|
|
69
|
+
function c(t, n) {
|
|
70
|
+
let r = s(t, "validityPolicy", [
|
|
71
|
+
"UNKNOWN",
|
|
72
|
+
"TIME_BOUNDED",
|
|
73
|
+
"NO_REQUIRED_EXPIRY"
|
|
74
|
+
]), i = o(t, "validityFrom"), c = o(t, "validityUntil");
|
|
75
|
+
if (r === "NO_REQUIRED_EXPIRY" && c !== null || i && c && Date.parse(i) >= Date.parse(c)) throw Error("Source validity cutoff or chronology contradicts its declaration.");
|
|
76
|
+
let l = s(t, "lotPresent", ["UNKNOWN", "REPORTED"]) === "REPORTED", u = l ? s(t, "expiryPolicy", [
|
|
77
|
+
"UNKNOWN",
|
|
78
|
+
"TIME_BOUNDED",
|
|
79
|
+
"NO_REQUIRED_EXPIRY"
|
|
80
|
+
]) : "UNKNOWN", d = o(t, "expiresAt");
|
|
81
|
+
if (l && u === "NO_REQUIRED_EXPIRY" && d !== null) throw Error("No-required-expiry lot cannot have a cutoff.");
|
|
82
|
+
if (!n.length || n.length > 10) throw Error("Choose 1–10 exact evidence versions from shared Files.");
|
|
83
|
+
return {
|
|
84
|
+
effectiveAt: e(a(t, "effectiveAt") ?? ""),
|
|
85
|
+
evidence: n.map(({ fileId: e, versionId: t }) => ({
|
|
86
|
+
fileId: e,
|
|
87
|
+
versionId: t
|
|
88
|
+
})),
|
|
89
|
+
facts: {
|
|
90
|
+
scope: s(t, "scope", [
|
|
91
|
+
"UNKNOWN",
|
|
92
|
+
"WHOLE_LINE",
|
|
93
|
+
"UNSUPPORTED_MIXED_LOT"
|
|
94
|
+
]),
|
|
95
|
+
source: {
|
|
96
|
+
reference: a(t, "sourceReference"),
|
|
97
|
+
revision: a(t, "sourceRevision", 120)
|
|
98
|
+
},
|
|
99
|
+
countUnit: s(t, "unitPresent", ["UNKNOWN", "COUNT_UNIT"]) === "COUNT_UNIT" ? {
|
|
100
|
+
kind: "COUNT_UNIT",
|
|
101
|
+
reference: a(t, "unitReference"),
|
|
102
|
+
revision: a(t, "unitRevision", 120)
|
|
103
|
+
} : null,
|
|
104
|
+
scanMapping: {
|
|
105
|
+
reportedItemLabel: a(t, "itemLabel"),
|
|
106
|
+
reportedBinLabel: a(t, "binLabel"),
|
|
107
|
+
mappingReference: a(t, "mappingReference"),
|
|
108
|
+
mappingRevision: a(t, "mappingRevision", 120)
|
|
109
|
+
},
|
|
110
|
+
declaredLotPolicy: s(t, "lotPolicy", [
|
|
111
|
+
"UNKNOWN",
|
|
112
|
+
"REQUIRED",
|
|
113
|
+
"NOT_REQUIRED"
|
|
114
|
+
]),
|
|
115
|
+
lot: l ? {
|
|
116
|
+
reference: a(t, "lotReference"),
|
|
117
|
+
revision: a(t, "lotRevision", 120),
|
|
118
|
+
declaredDisposition: s(t, "lotDisposition", [
|
|
119
|
+
"UNKNOWN",
|
|
120
|
+
"RELEASED",
|
|
121
|
+
"HELD",
|
|
122
|
+
"EXPIRED"
|
|
123
|
+
]),
|
|
124
|
+
expiry: {
|
|
125
|
+
policy: u,
|
|
126
|
+
expiresAt: d,
|
|
127
|
+
sourceReference: a(t, "expiryReference"),
|
|
128
|
+
sourceRevision: a(t, "expiryRevision", 120)
|
|
129
|
+
}
|
|
130
|
+
} : null,
|
|
131
|
+
sourceValidity: {
|
|
132
|
+
policy: r,
|
|
133
|
+
from: i,
|
|
134
|
+
until: c,
|
|
135
|
+
sourceReference: a(t, "validityReference"),
|
|
136
|
+
sourceRevision: a(t, "validityRevision", 120)
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
//#endregion
|
|
142
|
+
export { i as inputForStockDraft, c as readStockFactDraft, t as stockContextLabel, r as stockContextMatches, n as stockDraftPin };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/movethewheels/utils/stockBindingLabels.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return e === "SOURCE_FACTS_ONLY" ? "Reported facts" : e === "INCOMPLETE" ? "Missing facts" : e === "UNSUPPORTED_MIXED_LOT" ? "Mixed lots need separate handling" : "Unknown";
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
if (!e || e === "UNKNOWN") return "Unknown";
|
|
7
|
+
if (e === "NO_REQUIRED_EXPIRY") return "Source reports no required expiry";
|
|
8
|
+
if (e === "COUNT_UNIT") return "Explicit count unit";
|
|
9
|
+
if (e === "UNSUPPORTED_MIXED_LOT") return "Mixed lots need separate handling";
|
|
10
|
+
let t = e.toLowerCase().replaceAll("_", " ");
|
|
11
|
+
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
12
|
+
}
|
|
13
|
+
function n(e) {
|
|
14
|
+
let t = e.toLowerCase().replaceAll("_", " ").replace(/^declared /, "Reported ").replace(/ unknown$/, " is unknown");
|
|
15
|
+
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
16
|
+
}
|
|
17
|
+
function r(e, t) {
|
|
18
|
+
if (e.capturedCompositionEpoch == null) return "Continuity revision not recorded.";
|
|
19
|
+
let n = `Recorded continuity revision: ${e.capturedCompositionEpoch}.`;
|
|
20
|
+
return !t || t.id !== e.inventoryItemId || !Number.isInteger(t.compositionEpoch) || t.compositionEpoch < 0 || t.compositionEpoch > 2147483647 ? `${n} Current comparison unavailable.` : t.compositionEpoch === e.capturedCompositionEpoch ? `${n} Matches the displayed stock revision.` : `${n} Stock context changed since this record.`;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { e as stockCompletenessLabel, r as stockContinuityLabel, t as stockFactLabel, n as stockMissingFactLabel };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
//#region src/movethewheels/utils/stockObservationForm.ts
|
|
2
|
+
function e(e, t, n, r = !1) {
|
|
3
|
+
let i = e.get(t);
|
|
4
|
+
if (typeof i != "string") throw Error("Reported field is missing.");
|
|
5
|
+
let a = i.trim();
|
|
6
|
+
if (a.length > n || r && !a) throw Error("Check the reported field length.");
|
|
7
|
+
return a || null;
|
|
8
|
+
}
|
|
9
|
+
function t(e) {
|
|
10
|
+
let t = e.trim();
|
|
11
|
+
if (!t) return null;
|
|
12
|
+
if (!/^\d+$/.test(t)) throw Error("Reported count must be a whole number or blank.");
|
|
13
|
+
let n = Number(t);
|
|
14
|
+
if (!Number.isSafeInteger(n) || n > 2147483647) throw Error("Reported count is outside the supported range.");
|
|
15
|
+
return n;
|
|
16
|
+
}
|
|
17
|
+
function n(e) {
|
|
18
|
+
if (!e) return null;
|
|
19
|
+
let t = new Date(e);
|
|
20
|
+
if (!Number.isFinite(t.getTime()) || t.getTime() > Date.now()) throw Error("Reported observation time must be valid and no later than now.");
|
|
21
|
+
return t.toISOString();
|
|
22
|
+
}
|
|
23
|
+
function r(r, i) {
|
|
24
|
+
let a = e(i, "kind", 40, !0), o = e(i, "countScope", 40, !0);
|
|
25
|
+
if (a !== "COUNT_DISCREPANCY" && a !== "DAMAGE" && a !== "IDENTITY_UNCERTAIN" && a !== "OTHER") throw Error("Choose a supported issue.");
|
|
26
|
+
if (o !== "WHOLE_LINE" && o !== "UNKNOWN") throw Error("Choose a supported count scope.");
|
|
27
|
+
let s = e(i, "fileId", 255), c = e(i, "versionId", 255);
|
|
28
|
+
if (!!s != !!c) throw Error("Enter both exact file and version references, or leave both blank.");
|
|
29
|
+
let l = e(i, "unitReference", 255), u = e(i, "unitRevision", 255), d = e(i, "sourceReference", 255), f = e(i, "sourceRevision", 255), p = i.get("countUnit");
|
|
30
|
+
if (p !== "COUNT_UNIT" && p !== "UNKNOWN") throw Error("Choose a supported reported unit.");
|
|
31
|
+
if (p === "UNKNOWN" && (l || u)) throw Error("Select count unit before supplying its references.");
|
|
32
|
+
return {
|
|
33
|
+
inventoryItemId: r,
|
|
34
|
+
kind: a,
|
|
35
|
+
countScope: o,
|
|
36
|
+
observedCount: t(e(i, "observedCount", 32) ?? ""),
|
|
37
|
+
reportedCountUnit: p === "COUNT_UNIT" ? {
|
|
38
|
+
kind: "COUNT_UNIT",
|
|
39
|
+
reference: l,
|
|
40
|
+
revision: u
|
|
41
|
+
} : null,
|
|
42
|
+
source: d || f ? {
|
|
43
|
+
reference: d,
|
|
44
|
+
revision: f
|
|
45
|
+
} : null,
|
|
46
|
+
reportedObservedAt: n(e(i, "reportedObservedAt", 50) ?? ""),
|
|
47
|
+
reason: e(i, "reason", 1e3, !0) ?? "",
|
|
48
|
+
evidenceDeclarations: s && c ? [{
|
|
49
|
+
fileId: s,
|
|
50
|
+
versionId: c
|
|
51
|
+
}] : []
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { r as stockObservationInput };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/movethewheels/utils/tripDraftContext.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
return !!t && t.id === e.routeId && t.updatedAt === e.routeUpdatedAt && t.vehicleId === e.vehicleId;
|
|
4
|
+
}
|
|
5
|
+
function t(t, n, r) {
|
|
6
|
+
return e(t, n) && !!r && r.id === t.vehicleId && r.updatedAt === t.vehicleUpdatedAt;
|
|
7
|
+
}
|
|
8
|
+
function n(e, n, r, i) {
|
|
9
|
+
if (!t(n, r, i)) throw Error("Route assignment or revision changed since this draft began. Refresh context, review the route and vehicle, and start a new report; the entered measurements will not be reassigned automatically.");
|
|
10
|
+
return {
|
|
11
|
+
...e,
|
|
12
|
+
routeId: n.routeId,
|
|
13
|
+
vehicleId: n.vehicleId,
|
|
14
|
+
expectedRouteUpdatedAt: n.routeUpdatedAt,
|
|
15
|
+
expectedVehicleUpdatedAt: n.vehicleUpdatedAt
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n as inputForTripDraft, t as tripContextStillMatches, e as tripRouteStillMatches };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { freeTimeIso as e } from "./freeTimeDate.js";
|
|
2
|
+
import { reuseText as t } from "./reuseForm.js";
|
|
3
|
+
//#region src/movethewheels/utils/tripUtilizationForm.ts
|
|
4
|
+
function n(e, t, n = !1) {
|
|
5
|
+
if (!e.trim()) return null;
|
|
6
|
+
if (!/^(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e.trim())) throw Error("Enter a nonnegative measurement, or leave it blank for UNKNOWN.");
|
|
7
|
+
let r = Number(e);
|
|
8
|
+
if (!Number.isFinite(r) || r > t || r === 0 && /[1-9]/.test(e.trim().split(/[eE]/)[0] ?? "") || (n ? r <= 0 : r < 0)) throw Error(`Measurement must be ${n ? "positive" : "nonnegative"}, finite and no greater than ${t}.`);
|
|
9
|
+
return r;
|
|
10
|
+
}
|
|
11
|
+
function r(e, t, n) {
|
|
12
|
+
let r = t.find((t) => t === e);
|
|
13
|
+
if (!r) throw Error(`Choose ${n}.`);
|
|
14
|
+
return r;
|
|
15
|
+
}
|
|
16
|
+
function i(i, a, o, s, c) {
|
|
17
|
+
if (!c.length) throw Error("Select exact readable evidence versions for the report.");
|
|
18
|
+
let l = e(t(i, "intervalFrom")), u = e(t(i, "intervalUntil"));
|
|
19
|
+
if (l > u) throw Error("The report interval must end at or after its start.");
|
|
20
|
+
let d = a.map((a, s) => {
|
|
21
|
+
let c = (e) => t(i, `${a}.${e}`), d = c("observedAt"), f = d ? e(d) : null;
|
|
22
|
+
if (o === "OBSERVED" && (!f || f < l || f > u)) throw Error(`Segment ${s + 1}: observation time must be within the reported interval.`);
|
|
23
|
+
return {
|
|
24
|
+
segmentId: a,
|
|
25
|
+
sequence: s + 1,
|
|
26
|
+
loadedState: r(c("loadedState"), [
|
|
27
|
+
"EMPTY",
|
|
28
|
+
"LOADED",
|
|
29
|
+
"UNKNOWN"
|
|
30
|
+
], "explicit load state"),
|
|
31
|
+
distanceKm: n(c("distanceKm"), 1e7),
|
|
32
|
+
payloadKg: n(c("payloadKg"), 1e9),
|
|
33
|
+
payloadCapacityKg: n(c("payloadCapacityKg"), 1e9, !0),
|
|
34
|
+
cubeM3: n(c("cubeM3"), 1e9),
|
|
35
|
+
cubeCapacityM3: n(c("cubeCapacityM3"), 1e9, !0),
|
|
36
|
+
source: {
|
|
37
|
+
reference: c("reference"),
|
|
38
|
+
revision: c("revision"),
|
|
39
|
+
observedAt: f,
|
|
40
|
+
distanceBasis: r(c("distanceBasis"), o === "OBSERVED" ? ["MEASURED"] : ["PROVIDER_ESTIMATE", "OPERATOR_ESTIMATE"], "distance source basis"),
|
|
41
|
+
loadBasis: r(c("loadBasis"), o === "OBSERVED" ? ["MEASURED"] : ["MEASURED", "SOURCE_CONFIRMED_PLAN"], "load source basis"),
|
|
42
|
+
capacityBasis: r(c("capacityBasis"), ["RATED", "MEASURED"], "capacity source basis")
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
tripId: t(i, "tripReference"),
|
|
48
|
+
basis: o,
|
|
49
|
+
declaredCoverage: s,
|
|
50
|
+
intervalFrom: l,
|
|
51
|
+
intervalUntil: u,
|
|
52
|
+
segments: d,
|
|
53
|
+
evidence: c.map(({ fileId: e, versionId: t }) => ({
|
|
54
|
+
fileId: e,
|
|
55
|
+
versionId: t
|
|
56
|
+
}))
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { i as readTripDraft };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-movethewheels",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.1010.1",
|
|
4
4
|
"description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"main": "./dist/index.js",
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
27
|
"scripts": {
|
|
28
|
+
"verify:live-logistics-contract": "bun test scripts/check-logistics-live-contract.test.mjs scripts/fetch-logistics-live-schema.test.mjs",
|
|
28
29
|
"dev": "vite --port 5191",
|
|
29
30
|
"build": "tsc && bash scripts/build-limits.sh --gate vite build",
|
|
30
31
|
"lint": "eslint .",
|
|
@@ -32,21 +33,32 @@
|
|
|
32
33
|
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
33
34
|
"type:check": "bash scripts/build-limits.sh tsc --noEmit",
|
|
34
35
|
"validate:schema-drift": "graphql-schema-drift",
|
|
35
|
-
"sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run build && bun run build-storybook'",
|
|
36
|
+
"sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run verify:live-logistics-contract && bun run verify:empty-reuse-retry && bun run verify:empty-reuse-recovery && bun run verify:trip-utilization-input && bun run verify:trip-draft-context && bun run verify:stock-binding-input && bun run verify:stock-observation-input && bun run verify:pending-pick-input && bun run verify:freight-input && bun run verify:freight-recovery && bun run verify:procedure-input && bun run verify:consolidation && bun run build && bun run build-storybook'",
|
|
36
37
|
"storybook": "storybook dev -p 6006",
|
|
37
38
|
"build-storybook": "storybook build",
|
|
38
39
|
"test:storybook": "test-storybook",
|
|
39
40
|
"schema:pull": "bash scripts/schema-pull.sh",
|
|
40
41
|
"schema:pull:introspect": "bash scripts/schema-pull.sh --mode introspect",
|
|
41
42
|
"schema:check": "bash scripts/schema-pull.sh --check",
|
|
42
|
-
"
|
|
43
|
+
"verify:stock-binding-input": "bun scripts/verify-stock-binding-input.mjs",
|
|
44
|
+
"codegen": "graphql-codegen --project wspace && graphql-codegen --project container-foundation && graphql-codegen --project container-condition && graphql-codegen --project free-time && graphql-codegen --project empty-reuse && graphql-codegen --project trip-utilization && graphql-codegen --project stock-binding && graphql-codegen --project stock-observation && graphql-codegen --project pending-pick && graphql-codegen --project freight-cost && graphql-codegen --project logistics-procedure && graphql-codegen --project consolidation",
|
|
43
45
|
"codegen:all": "bun run schema:pull && bun run codegen",
|
|
44
46
|
"switch:status": "bun scripts/deps-mode.ts status",
|
|
45
47
|
"switch:remote": "bun scripts/deps-mode.ts remote",
|
|
46
48
|
"switch:local": "bun scripts/deps-mode.ts local",
|
|
47
49
|
"switch:check": "bun scripts/deps-mode.ts check",
|
|
48
50
|
"prepare": "lefthook install || true",
|
|
49
|
-
"format:check": "prettier --check \"src/**/*.{ts,tsx}\""
|
|
51
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
|
|
52
|
+
"verify:empty-reuse-retry": "bun scripts/verify-empty-reuse-retry.mjs",
|
|
53
|
+
"verify:trip-utilization-input": "bun scripts/verify-trip-utilization-input.mjs",
|
|
54
|
+
"verify:trip-draft-context": "bun scripts/verify-trip-draft-context.mjs",
|
|
55
|
+
"verify:stock-observation-input": "bun scripts/verify-stock-observation-input.mjs",
|
|
56
|
+
"verify:pending-pick-input": "bun scripts/verify-pending-pick-input.mjs",
|
|
57
|
+
"verify:empty-reuse-recovery": "bun scripts/verify-empty-reuse-recovery.mjs && bun scripts/verify-empty-reuse-recovery-hook.mjs",
|
|
58
|
+
"verify:freight-input": "bun scripts/verify-freight-input.mjs",
|
|
59
|
+
"verify:freight-recovery": "bun scripts/verify-freight-recovery-hook.mjs",
|
|
60
|
+
"verify:procedure-input": "bun scripts/verify-procedure-input.mjs && bun scripts/verify-procedure-recovery-hook.mjs",
|
|
61
|
+
"verify:consolidation": "bun scripts/verify-consolidation-input.mjs && bun scripts/verify-consolidation-recovery-hook.mjs && bun scripts/verify-consolidation-mounted-hook.mjs"
|
|
50
62
|
},
|
|
51
63
|
"dependencies": {
|
|
52
64
|
"@apollo/client": "^4.0.11",
|
|
@@ -66,6 +78,7 @@
|
|
|
66
78
|
"zustand": "^5.0.3"
|
|
67
79
|
},
|
|
68
80
|
"devDependencies": {
|
|
81
|
+
"@escape.tech/graphql-armor-cost-limit": "2.4.3",
|
|
69
82
|
"@eslint/js": "^9.39.2",
|
|
70
83
|
"@graphql-codegen/add": "^5.0.0",
|
|
71
84
|
"@graphql-codegen/cli": "^5.0.0",
|
|
@@ -94,11 +107,12 @@
|
|
|
94
107
|
"lefthook": "^2.1.1",
|
|
95
108
|
"postcss": "^8.4.49",
|
|
96
109
|
"prettier": "^3.4.2",
|
|
110
|
+
"react-test-renderer": "19.3.0",
|
|
97
111
|
"storybook": "^8.6.0",
|
|
98
112
|
"tailwindcss": "^4.0.0",
|
|
99
113
|
"typescript": "^5.9.0",
|
|
100
114
|
"typescript-eslint": "^8.54.0",
|
|
101
|
-
"vite": "8.0.
|
|
115
|
+
"vite": "8.0.16",
|
|
102
116
|
"vite-plugin-dts": "3.9.1"
|
|
103
117
|
},
|
|
104
118
|
"peerDependencies": {
|