@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,143 @@
1
+ import { Button as e } from "./ui.js";
2
+ import { useConditionQuery as t } from "../hooks/useContainerCondition.js";
3
+ import { ContainerEvidenceFilesDocument as n, ContainerEvidenceVersionsDocument as r } from "../src/generated/wspace-operations.js";
4
+ import { useState as i } from "react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ //#region src/movethewheels/components/ContainerEvidencePicker.tsx
7
+ function s({ value: s, onChange: c, description: l = "Choose exact versions from shared Files. Evidence integrity does not confirm the issuer or certify the container." }) {
8
+ let [u, d] = i(""), [f, p] = i(0), [m, h] = i(0), g = t(n, { pagination: {
9
+ limit: 25,
10
+ offset: f
11
+ } }), _ = t(r, u ? {
12
+ fileId: u,
13
+ pagination: {
14
+ limit: 25,
15
+ offset: m
16
+ }
17
+ } : null);
18
+ return /* @__PURE__ */ o("fieldset", {
19
+ className: "space-y-3 rounded-lg border p-4",
20
+ children: [
21
+ /* @__PURE__ */ a("legend", {
22
+ className: "px-1 font-medium",
23
+ children: "Evidence for this record"
24
+ }),
25
+ /* @__PURE__ */ a("p", {
26
+ className: "text-sm",
27
+ children: l
28
+ }),
29
+ g.error && /* @__PURE__ */ o("p", {
30
+ role: "alert",
31
+ children: ["Evidence files unavailable: ", g.error]
32
+ }),
33
+ /* @__PURE__ */ o("label", {
34
+ className: "block",
35
+ children: ["File", /* @__PURE__ */ o("select", {
36
+ "aria-label": "Evidence file",
37
+ className: "mt-1 w-full rounded-md border p-2",
38
+ value: u,
39
+ onChange: (e) => {
40
+ d(e.target.value), h(0);
41
+ },
42
+ children: [/* @__PURE__ */ a("option", {
43
+ value: "",
44
+ children: "Choose a readable file"
45
+ }), g.data?.getFiles.files.filter((e) => e.canRead === !0).map((e) => /* @__PURE__ */ a("option", {
46
+ value: e.id,
47
+ children: e.name
48
+ }, e.id))]
49
+ })]
50
+ }),
51
+ g.loading && /* @__PURE__ */ a("p", {
52
+ role: "status",
53
+ children: "Loading evidence files…"
54
+ }),
55
+ /* @__PURE__ */ o("div", {
56
+ className: "flex gap-2",
57
+ children: [/* @__PURE__ */ a(e, {
58
+ type: "button",
59
+ variant: "outline",
60
+ disabled: f === 0 || g.loading,
61
+ onClick: () => {
62
+ p(Math.max(0, f - 25)), d("");
63
+ },
64
+ children: "Previous files"
65
+ }), /* @__PURE__ */ a(e, {
66
+ type: "button",
67
+ variant: "outline",
68
+ disabled: !g.data?.getFiles.hasMore || g.loading,
69
+ onClick: () => {
70
+ p(f + 25), d("");
71
+ },
72
+ children: "Next files"
73
+ })]
74
+ }),
75
+ _.error && /* @__PURE__ */ o("p", {
76
+ role: "alert",
77
+ children: ["File versions unavailable: ", _.error]
78
+ }),
79
+ _.loading && /* @__PURE__ */ a("p", {
80
+ role: "status",
81
+ children: "Loading file versions…"
82
+ }),
83
+ _.data?.getFileVersions.versions.map((e) => {
84
+ let t = s.some((t) => t.versionId === e.id), n = /^[a-fA-F0-9]{64}$/.test(e.sha256Hash ?? ""), r = `${e.name} — version ${e.versionLabel ?? e.versionNumber}`;
85
+ return /* @__PURE__ */ o("label", {
86
+ className: "flex gap-2 text-sm",
87
+ children: [
88
+ /* @__PURE__ */ a("input", {
89
+ type: "checkbox",
90
+ checked: t,
91
+ disabled: !n || !t && s.length >= 10,
92
+ onChange: () => c(t ? s.filter((t) => t.versionId !== e.id) : [...s, {
93
+ fileId: e.fileId,
94
+ versionId: e.id,
95
+ label: r
96
+ }])
97
+ }),
98
+ r,
99
+ !n && " (integrity fingerprint unavailable)"
100
+ ]
101
+ }, e.id);
102
+ }),
103
+ u && /* @__PURE__ */ o("div", {
104
+ className: "flex gap-2",
105
+ children: [/* @__PURE__ */ a(e, {
106
+ type: "button",
107
+ variant: "outline",
108
+ disabled: m === 0 || _.loading,
109
+ onClick: () => h(Math.max(0, m - 25)),
110
+ children: "Previous versions"
111
+ }), /* @__PURE__ */ a(e, {
112
+ type: "button",
113
+ variant: "outline",
114
+ disabled: !_.data?.getFileVersions.hasMore || _.loading,
115
+ onClick: () => h(m + 25),
116
+ children: "Next versions"
117
+ })]
118
+ }),
119
+ /* @__PURE__ */ o("p", {
120
+ className: "text-sm",
121
+ children: [
122
+ "Selected ",
123
+ s.length,
124
+ " of 10 versions."
125
+ ]
126
+ }),
127
+ s.map((t) => /* @__PURE__ */ o("div", {
128
+ className: "flex items-center justify-between gap-2 text-sm",
129
+ children: [/* @__PURE__ */ a("span", {
130
+ className: "break-words",
131
+ children: t.label
132
+ }), /* @__PURE__ */ a(e, {
133
+ type: "button",
134
+ variant: "outline",
135
+ onClick: () => c(s.filter((e) => e.versionId !== t.versionId)),
136
+ children: "Remove"
137
+ })]
138
+ }, t.versionId))
139
+ ]
140
+ });
141
+ }
142
+ //#endregion
143
+ export { s as ContainerEvidencePicker };
@@ -0,0 +1,496 @@
1
+ import { Button as e, Input as t } from "./ui.js";
2
+ import { ContainerEvidencePicker as n } from "./ContainerEvidencePicker.js";
3
+ import { freeTimeIso as r } from "../utils/freeTimeDate.js";
4
+ import { useState as i } from "react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ //#region src/movethewheels/components/FreeTimeAgreementForm.tsx
7
+ var s = "block space-y-1 text-sm", c = "w-full rounded-md border bg-bg-surface p-2";
8
+ function l({ events: l, initial: u, onSubmit: d, busy: f }) {
9
+ let [p, m] = i([]), [h, g] = i(!!u?.terms), [_, v] = i(u?.terms?.rateTiers.map((e) => ({
10
+ from: String(e.fromDay),
11
+ through: e.throughDay == null ? "" : String(e.throughDay),
12
+ amount: String(e.dailyMinorUnits)
13
+ })) ?? [{
14
+ from: "1",
15
+ through: "",
16
+ amount: ""
17
+ }]), [y, b] = i(null), [x, S] = i(u?.triggerEventType ?? "AVAILABLE_FOR_PICKUP"), [C, w] = i(u?.stopEventType ?? "GATE_OUT"), [T, E] = i(u?.triggerEventId ?? ""), [D, O] = i(u?.stopEventId ?? ""), k = (e) => e.split(/\r?\n/).map((e) => e.trim()).filter(Boolean);
18
+ return /* @__PURE__ */ o("form", {
19
+ className: "space-y-4",
20
+ onSubmit: async (e) => {
21
+ e.preventDefault(), b(null);
22
+ try {
23
+ if (!p.length) throw Error("Select exact source evidence versions.");
24
+ let t = new FormData(e.currentTarget), n = (e) => String(t.get(e) ?? "").trim(), i = (e) => n(e).split(",").map((e) => Number(e.trim())), a = h ? {
25
+ timeZone: n("timeZone"),
26
+ freeDays: Number(n("freeDays")),
27
+ includeTriggerDate: t.get("includeTrigger") === "on",
28
+ freeCalendar: {
29
+ weekdays: i("freeWeekdays"),
30
+ excludedDates: k(n("freeHolidays"))
31
+ },
32
+ chargeCalendar: {
33
+ weekdays: i("chargeWeekdays"),
34
+ excludedDates: k(n("chargeHolidays"))
35
+ },
36
+ currency: n("currency"),
37
+ minorUnitDigits: Number(n("minorDigits")),
38
+ rateTiers: _.map((e) => ({
39
+ fromDay: Number(e.from),
40
+ throughDay: e.through ? Number(e.through) : null,
41
+ dailyMinorUnits: Number(e.amount)
42
+ })),
43
+ calculationPolicy: n("calculationPolicy") === "LOCAL_DATE_END" ? "LOCAL_DATE_END" : "UNSUPPORTED",
44
+ partialDayPolicy: n("partialDayPolicy") === "ANY_STARTED_LOCAL_DATE" ? "ANY_STARTED_LOCAL_DATE" : "UNSUPPORTED",
45
+ tierBasis: n("tierBasis") === "CHARGED_DAYS" ? "CHARGED_DAYS" : "UNSUPPORTED"
46
+ } : null;
47
+ await d({
48
+ payer: n("payer"),
49
+ payee: n("payee"),
50
+ sourceReference: n("source"),
51
+ effectiveAt: r(n("effectiveAt")),
52
+ applicability: n("applicability") === "WHOLE_CLOCK" ? "WHOLE_CLOCK" : "UNSUPPORTED_SEGMENTED",
53
+ triggerEventType: x,
54
+ stopEventType: C,
55
+ triggerEventId: n("triggerEvent") || null,
56
+ stopEventId: n("stopEvent") || null,
57
+ confirmedFreeUntil: n("confirmedDeadline") ? r(n("confirmedDeadline")) : null,
58
+ terms: a,
59
+ changeReason: n("changeReason"),
60
+ evidence: p.map(({ fileId: e, versionId: t }) => ({
61
+ fileId: e,
62
+ versionId: t
63
+ }))
64
+ });
65
+ } catch (e) {
66
+ b(e instanceof Error ? e.message : "Unable to record agreement.");
67
+ }
68
+ },
69
+ children: [
70
+ /* @__PURE__ */ a("p", {
71
+ className: "text-sm",
72
+ children: "Each version is a full sourced replacement. Previous versions remain in history. Prices are estimates, not payable invoice determinations."
73
+ }),
74
+ /* @__PURE__ */ o("div", {
75
+ className: "grid gap-3 md:grid-cols-2",
76
+ children: [
77
+ /* @__PURE__ */ o("label", {
78
+ className: s,
79
+ children: ["Obligated party", /* @__PURE__ */ a(t, {
80
+ name: "payer",
81
+ required: !0,
82
+ maxLength: 255,
83
+ defaultValue: u?.payer
84
+ })]
85
+ }),
86
+ /* @__PURE__ */ o("label", {
87
+ className: s,
88
+ children: ["Payee", /* @__PURE__ */ a(t, {
89
+ name: "payee",
90
+ required: !0,
91
+ maxLength: 255,
92
+ defaultValue: u?.payee
93
+ })]
94
+ }),
95
+ /* @__PURE__ */ o("label", {
96
+ className: s,
97
+ children: ["Agreement source reference", /* @__PURE__ */ a(t, {
98
+ name: "source",
99
+ required: !0,
100
+ maxLength: 255,
101
+ defaultValue: u?.sourceReference
102
+ })]
103
+ }),
104
+ /* @__PURE__ */ o("label", {
105
+ className: s,
106
+ children: ["Agreement effective time with timezone", /* @__PURE__ */ a(t, {
107
+ name: "effectiveAt",
108
+ required: !0,
109
+ placeholder: "2026-10-04T09:00:00+05:30",
110
+ defaultValue: u?.effectiveAt
111
+ })]
112
+ }),
113
+ /* @__PURE__ */ o("label", {
114
+ className: s,
115
+ children: ["Agreement applicability", /* @__PURE__ */ o("select", {
116
+ name: "applicability",
117
+ className: c,
118
+ required: !0,
119
+ defaultValue: u?.applicability ?? "",
120
+ children: [
121
+ /* @__PURE__ */ a("option", {
122
+ value: "",
123
+ children: "Choose recorded applicability"
124
+ }),
125
+ /* @__PURE__ */ a("option", {
126
+ value: "WHOLE_CLOCK",
127
+ children: "Applies to the whole clock"
128
+ }),
129
+ /* @__PURE__ */ a("option", {
130
+ value: "UNSUPPORTED_SEGMENTED",
131
+ children: "Prospective segmented amendment — cannot estimate"
132
+ })
133
+ ]
134
+ })]
135
+ }),
136
+ /* @__PURE__ */ o("label", {
137
+ className: s,
138
+ children: ["Externally confirmed deadline with timezone", /* @__PURE__ */ a(t, {
139
+ name: "confirmedDeadline",
140
+ placeholder: "Leave empty if unconfirmed",
141
+ defaultValue: u?.confirmedFreeUntil ?? ""
142
+ })]
143
+ }),
144
+ /* @__PURE__ */ o("label", {
145
+ className: s,
146
+ children: ["Contractual trigger", /* @__PURE__ */ o("select", {
147
+ className: c,
148
+ value: x,
149
+ onChange: (e) => {
150
+ let t = [
151
+ "AVAILABLE_FOR_PICKUP",
152
+ "DISCHARGED",
153
+ "GATE_OUT",
154
+ "GATE_IN"
155
+ ].find((t) => t === e.target.value);
156
+ t && (S(t), E(""));
157
+ },
158
+ children: [
159
+ /* @__PURE__ */ a("option", { children: "AVAILABLE_FOR_PICKUP" }),
160
+ /* @__PURE__ */ a("option", { children: "DISCHARGED" }),
161
+ /* @__PURE__ */ a("option", { children: "GATE_OUT" }),
162
+ /* @__PURE__ */ a("option", { children: "GATE_IN" })
163
+ ]
164
+ })]
165
+ }),
166
+ /* @__PURE__ */ o("label", {
167
+ className: s,
168
+ children: ["Contractual stop", /* @__PURE__ */ o("select", {
169
+ className: c,
170
+ value: C,
171
+ onChange: (e) => {
172
+ let t = [
173
+ "GATE_OUT",
174
+ "GATE_IN",
175
+ "LOADED",
176
+ "DELIVERED",
177
+ "EMPTY_RETURNED",
178
+ "RETURN_ACCEPTED"
179
+ ].find((t) => t === e.target.value);
180
+ t && (w(t), O(""));
181
+ },
182
+ children: [
183
+ /* @__PURE__ */ a("option", { children: "GATE_OUT" }),
184
+ /* @__PURE__ */ a("option", { children: "GATE_IN" }),
185
+ /* @__PURE__ */ a("option", { children: "LOADED" }),
186
+ /* @__PURE__ */ a("option", { children: "DELIVERED" }),
187
+ /* @__PURE__ */ a("option", { children: "EMPTY_RETURNED" }),
188
+ /* @__PURE__ */ a("option", { children: "RETURN_ACCEPTED" })
189
+ ]
190
+ })]
191
+ }),
192
+ /* @__PURE__ */ o("label", {
193
+ className: s,
194
+ children: ["Actual trigger observation", /* @__PURE__ */ o("select", {
195
+ name: "triggerEvent",
196
+ className: c,
197
+ value: T,
198
+ onChange: (e) => E(e.target.value),
199
+ children: [
200
+ /* @__PURE__ */ a("option", {
201
+ value: "",
202
+ children: "Missing — exposure stays unknown"
203
+ }),
204
+ T && !l.some((e) => e.id === T) && /* @__PURE__ */ a("option", {
205
+ value: T,
206
+ children: "Selected actual observation — not on this event page"
207
+ }),
208
+ l.filter((e) => e.kind === "ACTUAL" && e.eventType === x).map((e) => /* @__PURE__ */ o("option", {
209
+ value: e.id,
210
+ children: [
211
+ e.eventType,
212
+ " — ",
213
+ e.occurredAt
214
+ ]
215
+ }, e.id))
216
+ ]
217
+ })]
218
+ }),
219
+ /* @__PURE__ */ o("label", {
220
+ className: s,
221
+ children: ["Actual stop observation", /* @__PURE__ */ o("select", {
222
+ name: "stopEvent",
223
+ className: c,
224
+ value: D,
225
+ onChange: (e) => O(e.target.value),
226
+ children: [
227
+ /* @__PURE__ */ a("option", {
228
+ value: "",
229
+ children: "No actual stop recorded"
230
+ }),
231
+ D && !l.some((e) => e.id === D) && /* @__PURE__ */ a("option", {
232
+ value: D,
233
+ children: "Selected actual observation — not on this event page"
234
+ }),
235
+ l.filter((e) => e.kind === "ACTUAL" && e.eventType === C).map((e) => /* @__PURE__ */ o("option", {
236
+ value: e.id,
237
+ children: [
238
+ e.eventType,
239
+ " — ",
240
+ e.occurredAt
241
+ ]
242
+ }, e.id))
243
+ ]
244
+ })]
245
+ })
246
+ ]
247
+ }),
248
+ /* @__PURE__ */ a("p", {
249
+ className: "text-sm",
250
+ children: "Availability is a separate sourced observation. Requested return, actual return and accepted return are distinct; select the boundary in the contract."
251
+ }),
252
+ /* @__PURE__ */ o("label", {
253
+ className: "flex items-center gap-2",
254
+ children: [/* @__PURE__ */ a("input", {
255
+ type: "checkbox",
256
+ checked: h,
257
+ onChange: (e) => g(e.target.checked)
258
+ }), "Complete pricing terms available"]
259
+ }),
260
+ h && /* @__PURE__ */ o("fieldset", {
261
+ className: "space-y-3 rounded-lg border p-4",
262
+ children: [
263
+ /* @__PURE__ */ a("legend", { children: "Recorded pricing conventions" }),
264
+ /* @__PURE__ */ o("div", {
265
+ className: "grid gap-3 md:grid-cols-2",
266
+ children: [
267
+ /* @__PURE__ */ o("label", {
268
+ className: s,
269
+ children: ["Named IANA timezone", /* @__PURE__ */ a(t, {
270
+ name: "timeZone",
271
+ required: !0,
272
+ defaultValue: u?.terms?.timeZone,
273
+ placeholder: "Asia/Kolkata"
274
+ })]
275
+ }),
276
+ /* @__PURE__ */ o("label", {
277
+ className: s,
278
+ children: ["Free days", /* @__PURE__ */ a(t, {
279
+ name: "freeDays",
280
+ type: "number",
281
+ required: !0,
282
+ min: 0,
283
+ max: 365,
284
+ defaultValue: u?.terms?.freeDays
285
+ })]
286
+ }),
287
+ /* @__PURE__ */ o("label", {
288
+ className: s,
289
+ children: ["Currency code", /* @__PURE__ */ a(t, {
290
+ name: "currency",
291
+ required: !0,
292
+ pattern: "[A-Z]{3}",
293
+ defaultValue: u?.terms?.currency,
294
+ placeholder: "INR"
295
+ })]
296
+ }),
297
+ /* @__PURE__ */ o("label", {
298
+ className: s,
299
+ children: ["Currency minor-unit digits", /* @__PURE__ */ a(t, {
300
+ name: "minorDigits",
301
+ type: "number",
302
+ required: !0,
303
+ min: 0,
304
+ max: 4,
305
+ defaultValue: u?.terms?.minorUnitDigits
306
+ })]
307
+ }),
308
+ /* @__PURE__ */ o("label", {
309
+ className: s,
310
+ children: ["Free-day weekdays (Monday=1…Sunday=7)", /* @__PURE__ */ a(t, {
311
+ name: "freeWeekdays",
312
+ required: !0,
313
+ defaultValue: u?.terms?.freeCalendar.weekdays.join(","),
314
+ placeholder: "1,2,3,4,5"
315
+ })]
316
+ }),
317
+ /* @__PURE__ */ o("label", {
318
+ className: s,
319
+ children: ["Charged-day weekdays", /* @__PURE__ */ a(t, {
320
+ name: "chargeWeekdays",
321
+ required: !0,
322
+ defaultValue: u?.terms?.chargeCalendar.weekdays.join(","),
323
+ placeholder: "1,2,3,4,5,6,7"
324
+ })]
325
+ }),
326
+ /* @__PURE__ */ o("label", {
327
+ className: s,
328
+ children: ["Excluded free dates, one YYYY-MM-DD per line", /* @__PURE__ */ a("textarea", {
329
+ className: c,
330
+ name: "freeHolidays",
331
+ defaultValue: u?.terms?.freeCalendar.excludedDates.join("\n")
332
+ })]
333
+ }),
334
+ /* @__PURE__ */ o("label", {
335
+ className: s,
336
+ children: ["Excluded charge dates, one per line", /* @__PURE__ */ a("textarea", {
337
+ className: c,
338
+ name: "chargeHolidays",
339
+ defaultValue: u?.terms?.chargeCalendar.excludedDates.join("\n")
340
+ })]
341
+ }),
342
+ /* @__PURE__ */ o("label", {
343
+ className: s,
344
+ children: ["Free-time counting", /* @__PURE__ */ o("select", {
345
+ className: c,
346
+ name: "calculationPolicy",
347
+ required: !0,
348
+ defaultValue: u?.terms?.calculationPolicy ?? "",
349
+ children: [
350
+ /* @__PURE__ */ a("option", {
351
+ value: "",
352
+ children: "Choose sourced policy"
353
+ }),
354
+ /* @__PURE__ */ a("option", {
355
+ value: "LOCAL_DATE_END",
356
+ children: "End of eligible local date"
357
+ }),
358
+ /* @__PURE__ */ a("option", {
359
+ value: "UNSUPPORTED",
360
+ children: "Other / pooled / rolling 24-hour — cannot estimate"
361
+ })
362
+ ]
363
+ })]
364
+ }),
365
+ /* @__PURE__ */ o("label", {
366
+ className: s,
367
+ children: ["Partial-day charging", /* @__PURE__ */ o("select", {
368
+ className: c,
369
+ name: "partialDayPolicy",
370
+ required: !0,
371
+ defaultValue: u?.terms?.partialDayPolicy ?? "",
372
+ children: [
373
+ /* @__PURE__ */ a("option", {
374
+ value: "",
375
+ children: "Choose sourced rounding"
376
+ }),
377
+ /* @__PURE__ */ a("option", {
378
+ value: "ANY_STARTED_LOCAL_DATE",
379
+ children: "Any started eligible local date"
380
+ }),
381
+ /* @__PURE__ */ a("option", {
382
+ value: "UNSUPPORTED",
383
+ children: "Other — cannot estimate"
384
+ })
385
+ ]
386
+ })]
387
+ }),
388
+ /* @__PURE__ */ o("label", {
389
+ className: s,
390
+ children: ["Rate-tier basis", /* @__PURE__ */ o("select", {
391
+ className: c,
392
+ name: "tierBasis",
393
+ required: !0,
394
+ defaultValue: u?.terms?.tierBasis ?? "",
395
+ children: [
396
+ /* @__PURE__ */ a("option", {
397
+ value: "",
398
+ children: "Choose sourced basis"
399
+ }),
400
+ /* @__PURE__ */ a("option", {
401
+ value: "CHARGED_DAYS",
402
+ children: "Charged-day ordinal"
403
+ }),
404
+ /* @__PURE__ */ a("option", {
405
+ value: "UNSUPPORTED",
406
+ children: "Elapsed / other — cannot estimate"
407
+ })
408
+ ]
409
+ })]
410
+ }),
411
+ /* @__PURE__ */ o("label", {
412
+ className: "flex items-center gap-2",
413
+ children: [/* @__PURE__ */ a("input", {
414
+ type: "checkbox",
415
+ name: "includeTrigger",
416
+ defaultChecked: u?.terms?.includeTriggerDate
417
+ }), "Count trigger date when eligible"]
418
+ })
419
+ ]
420
+ }),
421
+ _.map((e, n) => /* @__PURE__ */ a("div", {
422
+ className: "grid gap-3 rounded-md border p-3 md:grid-cols-3",
423
+ children: [
424
+ "from",
425
+ "through",
426
+ "amount"
427
+ ].map((r) => /* @__PURE__ */ o("label", {
428
+ className: s,
429
+ children: [r === "from" ? "From charged day" : r === "through" ? "Through charged day (blank = unbounded)" : "Daily price in integer minor units", /* @__PURE__ */ a(t, {
430
+ type: "number",
431
+ min: r === "amount" ? 0 : 1,
432
+ max: r === "amount" ? 1e9 : void 0,
433
+ required: r !== "through",
434
+ value: e[r],
435
+ onChange: (e) => v((t) => t.map((t, i) => i === n ? {
436
+ ...t,
437
+ [r]: e.target.value
438
+ } : t))
439
+ })]
440
+ }, r))
441
+ }, n)),
442
+ /* @__PURE__ */ o("div", {
443
+ className: "flex flex-wrap gap-2",
444
+ children: [/* @__PURE__ */ a(e, {
445
+ type: "button",
446
+ variant: "outline",
447
+ disabled: _.length >= 20,
448
+ onClick: () => v((e) => [...e, {
449
+ from: "",
450
+ through: "",
451
+ amount: ""
452
+ }]),
453
+ children: "Add rate tier"
454
+ }), /* @__PURE__ */ a(e, {
455
+ type: "button",
456
+ variant: "outline",
457
+ disabled: _.length === 1,
458
+ onClick: () => v((e) => e.slice(0, -1)),
459
+ children: "Remove last tier"
460
+ })]
461
+ }),
462
+ /* @__PURE__ */ a("p", {
463
+ className: "text-sm",
464
+ children: "Tiers start at day 1, are contiguous and end unbounded. Holidays must come from the source; no country calendar is inferred."
465
+ })
466
+ ]
467
+ }),
468
+ /* @__PURE__ */ o("label", {
469
+ className: s,
470
+ children: ["Change reason and whole-clock applicability", /* @__PURE__ */ a("textarea", {
471
+ name: "changeReason",
472
+ className: c,
473
+ required: !0,
474
+ maxLength: 2e3,
475
+ defaultValue: u ? "" : void 0
476
+ })]
477
+ }),
478
+ /* @__PURE__ */ a(n, {
479
+ description: "Choose exact source versions. Integrity does not independently establish contractual terms or counterparty acceptance.",
480
+ value: p,
481
+ onChange: m
482
+ }),
483
+ y && /* @__PURE__ */ a("p", {
484
+ role: "alert",
485
+ children: y
486
+ }),
487
+ /* @__PURE__ */ a(e, {
488
+ type: "submit",
489
+ disabled: f,
490
+ children: u ? "Record agreement correction" : "Open sourced clock"
491
+ })
492
+ ]
493
+ });
494
+ }
495
+ //#endregion
496
+ export { l as FreeTimeAgreementForm };