@feedmepos/mf-inventory-portal 1.7.13-dev.3 → 1.7.13-dev.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/dist/{App-OcI38sEw.js → App-JqoqVVdP.js} +471 -460
  2. package/dist/{ApprovalView-qTRrEvTp.js → ApprovalView-JiWbXkVU.js} +9 -9
  3. package/dist/{BindingsDialog-G8tFbm7v.js → BindingsDialog-BK4xofWu.js} +2 -2
  4. package/dist/{BindingsPicker-DB3mjjVh.js → BindingsPicker-CLMsAseG.js} +2 -2
  5. package/dist/{BindingsTable-DLf8XLyn.js → BindingsTable-DKrBQTxN.js} +4 -4
  6. package/dist/{BulkReceiveRequestView-2AWitWXo.js → BulkReceiveRequestView-bttHw2ub.js} +19 -19
  7. package/dist/{ClosingDraftView-c25_GCaw.js → ClosingDraftView-Bhdwo-n8.js} +19 -19
  8. package/dist/ClosingHistoryView-DrQPWnr6.js +761 -0
  9. package/dist/{ClosingTemplateView-BzaVZ1Mf.js → ClosingTemplateView-UkwXCrz_.js} +16 -16
  10. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-Dlh4ThV0.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-DNtMdFVF.js} +1 -1
  11. package/dist/{DefaultView-e9RSHejw.js → DefaultView-sGrYeUGh.js} +2 -2
  12. package/dist/{DeliveryOrderPrintPreview-BSbiO2Vd.js → DeliveryOrderPrintPreview-CVnqC9Jy.js} +10 -10
  13. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-D_8msVau.js → EmailDialog.vue_vue_type_script_setup_true_lang-CYtHQ2Ru.js} +2250 -2250
  14. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DUjcebMR.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DXTdvT0C.js} +1 -1
  15. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BA6stZHF.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DtfiRgsD.js} +2 -2
  16. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-yBIbCJYy.js +243 -0
  17. package/dist/{FmMultiselectDialog-DEg8KNwS.js → FmMultiselectDialog-A9VIMLGn.js} +1 -1
  18. package/dist/{FmMultiselectDialog-DsA4X91e.js → FmMultiselectDialog-DL00XnUc.js} +2 -2
  19. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-CPlywwpg.js → FmUnitInput.vue_vue_type_script_setup_true_lang-RJKOB-cm.js} +66 -63
  20. package/dist/{ImportView-D9QCHpOd.js → ImportView-DPrLnJO8.js} +6 -6
  21. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-C7iOvnZV.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-IAQyFPmi.js} +1 -1
  22. package/dist/{IngredientGroupView-BRH304Pf.js → IngredientGroupView-DyhC6lJ8.js} +5 -5
  23. package/dist/{IngredientsView-BUGYJ6cN.js → IngredientsView-P4AqPikD.js} +15 -15
  24. package/dist/{IntegrationExplorerView-Z3_x4C5I.js → IntegrationExplorerView-CujhjHHV.js} +4 -4
  25. package/dist/{IntegrationView-ClWTgLai.js → IntegrationView-CFqsZyzI.js} +3077 -2998
  26. package/dist/{InventoryBindingForm-B7tGISLQ.js → InventoryBindingForm-B0NJ8H51.js} +1 -1
  27. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-DOWePtXq.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-bbIpFo_4.js} +5 -5
  28. package/dist/{InventoryBindingSummary-j3YGRPOt.js → InventoryBindingSummary-CBgO_tCz.js} +1 -1
  29. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CPpO-iyC.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DuuXzyKH.js} +1 -1
  30. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BP8f4hlw.js → PremiumBadge.vue_vue_type_script_setup_true_lang-C418f34P.js} +1 -1
  31. package/dist/ProductionRunDetailView-tSByC3nQ.js +5165 -0
  32. package/dist/ProductionRunPreparePrintView-zPAATL-n.js +31 -0
  33. package/dist/ProductionRunTabs.vue_vue_type_script_setup_true_lang-DgtZJgrs.js +3506 -0
  34. package/dist/ProductionRunView-BsP02jgC.js +815 -0
  35. package/dist/{PublishView-CL747KZU.js → PublishView-Cf0Tn7xt.js} +3 -3
  36. package/dist/{PurchaseOrderPrintPreview-C5AB03ht.js → PurchaseOrderPrintPreview-BTlSyQqZ.js} +6 -6
  37. package/dist/{ReceiveRequestView-BDy40tBg.js → ReceiveRequestView-9LFOl2hJ.js} +14 -14
  38. package/dist/{RecipeView-BbBZGBPb.js → RecipeView-C4KxMCpQ.js} +17 -17
  39. package/dist/{SettingsView-rcalnrlB.js → SettingsView-ShrefnTM.js} +4 -4
  40. package/dist/{StockView-BSLGMo1e.js → StockView-BVd6f7Fr.js} +21 -21
  41. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DeEq2HQe.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-B-rB7p9o.js} +1 -1
  42. package/dist/{SupplierView-DOq8oosU.js → SupplierView-DZSY6_eU.js} +12 -12
  43. package/dist/{SurchargeView-BK9Yakao.js → SurchargeView-UUYoT8MK.js} +6 -6
  44. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DQRfvdyo.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-BLMxzi1C.js} +2 -2
  45. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CjfzWy2p.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-z3qIVKP7.js} +1 -1
  46. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-6qKRU6v7.js → TransferDetails.vue_vue_type_script_setup_true_lang-DEO8CP-X.js} +20 -20
  47. package/dist/{TransferTemplateView-BmWxWDe8.js → TransferTemplateView-C21o2V_1.js} +20 -20
  48. package/dist/{UnitCostHistoryView-BCvCf-2e.js → UnitCostHistoryView-DPEGVLBP.js} +4 -4
  49. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-DJu3u-cT.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-BuGmmHBk.js} +4 -4
  50. package/dist/{UnitView-CW8GRw2n.js → UnitView-Bx03E4uc.js} +7 -7
  51. package/dist/{WarehouseView-ZWuCwzuM.js → WarehouseView-BehHQ9Ao.js} +6 -6
  52. package/dist/{WastageTemplateView-DkwVp2Bc.js → WastageTemplateView-gmr7doXL.js} +14 -14
  53. package/dist/api/netsuite.d.ts +13 -0
  54. package/dist/api/production-run-error.d.ts +36 -0
  55. package/dist/api/production-run-error.spec.d.ts +1 -0
  56. package/dist/api/production-run.d.ts +58 -0
  57. package/dist/api/stock.d.ts +0 -6
  58. package/dist/{app-BJsy0dhl.js → app-BT7hD4az.js} +16523 -12629
  59. package/dist/app.d.ts +3047 -71
  60. package/dist/app.js +1 -1
  61. package/dist/{closing-template-DdxIx-dq.js → closing-template-BNfr1RIX.js} +1 -1
  62. package/dist/components/FmInventoryBanner.vue.d.ts +39 -0
  63. package/dist/components/FmUnitInput.spec.d.ts +1 -0
  64. package/dist/components/FmUnitInputProps.d.ts +2 -0
  65. package/dist/composable/useModalA11y.d.ts +9 -0
  66. package/dist/composable/useModalA11y.spec.d.ts +1 -0
  67. package/dist/cypress/component/ChangelogPanel.cy.d.ts +1 -0
  68. package/dist/cypress/support/component.d.ts +1 -2
  69. package/dist/{date2-BySoG7zL.js → date2-CAh7rsAp.js} +1 -1
  70. package/dist/{dayjs.min-CEK_HLa5.js → dayjs.min-BJk-edO7.js} +7 -7
  71. package/dist/{decimal-CxH3h_oz.js → decimal-DYlKNkVX.js} +2 -2
  72. package/dist/{defineDeepModel-BiNh3hbS.js → defineDeepModel-BPHl7mTD.js} +1 -1
  73. package/dist/{duplicate-template-BqTirEVQ.js → duplicate-template-BWUUIdzG.js} +1 -1
  74. package/dist/{feature-CtiarMKO.js → feature-CSvVyBN2.js} +2 -2
  75. package/dist/{format-time-from-id-BZlQSqcg.js → format-time-from-id-Dh3lxXpc.js} +1 -1
  76. package/dist/{format-unit-display-Ckyw7NDq.js → format-unit-display-B1ft2wxm.js} +12 -12
  77. package/dist/{import-export.helper-93ZgMgfA.js → import-export.helper-txDvkMf0.js} +6 -6
  78. package/dist/{index-6U0mJTRK.js → index-AmTodx3_.js} +1 -1
  79. package/dist/{index-OMz6kBpd.js → index-B4wQijn6.js} +1 -1
  80. package/dist/{index-BDmWjw_1.js → index-TIX5DyQk.js} +3 -3
  81. package/dist/inventory-core-dart.default-BpMxAF-0.js +31060 -0
  82. package/dist/{lz-string-BgsMxnd4.js → lz-string-CFDYH-K6.js} +1 -1
  83. package/dist/{netsuite-DFRzj2t1.js → netsuite-CdW9v92G.js} +477 -462
  84. package/dist/{number-D-_PL2pH.js → number-DRRlTYv7.js} +6 -6
  85. package/dist/{predefined-templates-Ccsy5pq1.js → predefined-templates-C68U85pc.js} +1 -1
  86. package/dist/production-run-display-DmyfdjHR.js +239 -0
  87. package/dist/production-run-prepare-sheet-BvxMd19E.js +189 -0
  88. package/dist/{purchase-order-template-DhWqGEYn.js → purchase-order-template-BvED3CpO.js} +1 -1
  89. package/dist/{recalculationUtils-DBZx8AEF.js → recalculationUtils-9rFepwwr.js} +1 -1
  90. package/dist/router/name.d.ts +2 -0
  91. package/dist/{rules-14YnQFVP.js → rules-C8RmopTe.js} +2 -2
  92. package/dist/{stock-CqPXExNE.js → stock-BKkluaaM.js} +26 -36
  93. package/dist/{stock-NwBpU2GU.js → stock-CiCsT5JK.js} +3 -3
  94. package/dist/stores/integration/codemax.d.ts +1 -1
  95. package/dist/stores/integration/netsuite.d.ts +54 -0
  96. package/dist/style.css +1 -1
  97. package/dist/{supplier-BGh3ELiI.js → supplier--zZMQHPc.js} +2 -2
  98. package/dist/{surcharge-B2A5F8CG.js → surcharge-BLF3XV0G.js} +1 -1
  99. package/dist/tsconfig.app.tsbuildinfo +1 -1
  100. package/dist/{uom-rules-B9vLSzRQ.js → uom-rules-CjCCXiGL.js} +1 -1
  101. package/dist/{use-ingredient-select-dialog-vwF7iReq.js → use-ingredient-select-dialog-DnUiY-Ic.js} +2 -2
  102. package/dist/{use-inventory-binding-dialog-DBp_gbnj.js → use-inventory-binding-dialog-BAU-P8kV.js} +2 -2
  103. package/dist/{use-template-enabled-locations-DSvlNPYu.js → use-template-enabled-locations-DZMzYCi-.js} +2 -2
  104. package/dist/{use-transfer-locations-OMxT9ofA.js → use-transfer-locations-DomGLsT2.js} +2 -2
  105. package/dist/{useHrmPermission-BbjcDYMn.js → useHrmPermission-CrhsV_5z.js} +1 -1
  106. package/dist/{useNavigationMenu-CJw7QuVt.js → useNavigationMenu-1h-G_-el.js} +2 -2
  107. package/dist/{useSseClient-CT69SXDP.js → useSseClient-o_3wiqhX.js} +1 -1
  108. package/dist/views/changelog/components/ChangelogFloatingButton.spec.d.ts +1 -0
  109. package/dist/views/changelog/composables/fab-position.d.ts +21 -0
  110. package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +1 -1
  111. package/dist/views/closing-draft/helpers/draft-status-to-class-name.helper.d.ts +1 -1
  112. package/dist/views/integration/components/ApplyProductDialogCodemax.vue.d.ts +2 -2
  113. package/dist/views/integration/components/CodemaxDialog.vue.d.ts +2 -2
  114. package/dist/views/integration/components/netsuite/business/vendor-publish.d.ts +7 -0
  115. package/dist/views/integration/components/netsuite/business/vendor-publish.spec.d.ts +1 -0
  116. package/dist/views/production-run/ProductionRunDetailView.spec.d.ts +1 -0
  117. package/dist/views/production-run/ProductionRunDetailView.vue.d.ts +15 -0
  118. package/dist/views/production-run/ProductionRunPreparePrintView.spec.d.ts +1 -0
  119. package/dist/views/production-run/ProductionRunPreparePrintView.vue.d.ts +2 -0
  120. package/dist/views/production-run/ProductionRunView.spec.d.ts +1 -0
  121. package/dist/views/production-run/ProductionRunView.vue.d.ts +2 -0
  122. package/dist/views/production-run/components/CancelRunDialog.spec.d.ts +1 -0
  123. package/dist/views/production-run/components/CancelRunDialog.vue.d.ts +918 -0
  124. package/dist/views/production-run/components/CancelRunDialogProps.d.ts +9 -0
  125. package/dist/views/production-run/components/CloseRunDialog.spec.d.ts +1 -0
  126. package/dist/views/production-run/components/CloseRunDialog.vue.d.ts +918 -0
  127. package/dist/views/production-run/components/CloseRunDialogProps.d.ts +29 -0
  128. package/dist/views/production-run/components/PrepareRunConfirmationDialog.spec.d.ts +1 -0
  129. package/dist/views/production-run/components/PrepareRunConfirmationDialog.vue.d.ts +29 -0
  130. package/dist/views/production-run/components/PrepareRunDialog.spec.d.ts +1 -0
  131. package/dist/views/production-run/components/PrepareRunDialog.vue.d.ts +18 -0
  132. package/dist/views/production-run/components/PrepareRunDialogProps.d.ts +29 -0
  133. package/dist/views/production-run/components/PrepareSheetDialog.spec.d.ts +1 -0
  134. package/dist/views/production-run/components/PrepareSheetDialog.vue.d.ts +26 -0
  135. package/dist/views/{stock/components/dialog/SnapshotRecalculationDialog.vue.d.ts → production-run/components/ProductionRunActionMenuItem.vue.d.ts} +7 -10
  136. package/dist/views/production-run/components/ProductionRunActionsCell.spec.d.ts +1 -0
  137. package/dist/views/production-run/components/ProductionRunActionsCell.vue.d.ts +20 -0
  138. package/dist/views/production-run/components/ProductionRunActivityTab.spec.d.ts +1 -0
  139. package/dist/views/production-run/components/ProductionRunActivityTab.vue.d.ts +15 -0
  140. package/dist/views/production-run/components/ProductionRunBanner.spec.d.ts +1 -0
  141. package/dist/views/production-run/components/ProductionRunBanner.vue.d.ts +42 -0
  142. package/dist/views/production-run/components/ProductionRunBatchCard.spec.d.ts +1 -0
  143. package/dist/views/production-run/components/ProductionRunBatchCard.vue.d.ts +69 -0
  144. package/dist/views/production-run/components/ProductionRunBatchWastageDetails.spec.d.ts +1 -0
  145. package/dist/views/production-run/components/ProductionRunBatchWastageDetails.vue.d.ts +33 -0
  146. package/dist/views/production-run/components/ProductionRunBindingsDisclosure.spec.d.ts +1 -0
  147. package/dist/views/production-run/components/ProductionRunBindingsDisclosure.vue.d.ts +25 -0
  148. package/dist/views/production-run/components/ProductionRunBindingsList.vue.d.ts +51 -0
  149. package/dist/views/production-run/components/ProductionRunCompactDisclosure.vue.d.ts +25 -0
  150. package/dist/views/production-run/components/ProductionRunContributorBranch.spec.d.ts +1 -0
  151. package/dist/views/production-run/components/ProductionRunContributorBranch.vue.d.ts +25 -0
  152. package/dist/views/production-run/components/ProductionRunCostRail.spec.d.ts +1 -0
  153. package/dist/views/production-run/components/ProductionRunCostRail.vue.d.ts +77 -0
  154. package/dist/views/production-run/components/ProductionRunDialog.spec.d.ts +1 -0
  155. package/dist/views/production-run/components/ProductionRunDialog.vue.d.ts +24 -0
  156. package/dist/views/production-run/components/ProductionRunDialogProps.d.ts +15 -0
  157. package/dist/views/production-run/components/ProductionRunDialogSurface.vue.d.ts +33 -0
  158. package/dist/views/production-run/components/ProductionRunDiscardDialog.spec.d.ts +1 -0
  159. package/dist/views/production-run/components/ProductionRunDiscardDialog.vue.d.ts +21 -0
  160. package/dist/views/production-run/components/ProductionRunDuplicateDialog.spec.d.ts +1 -0
  161. package/dist/views/production-run/components/ProductionRunDuplicateDialog.vue.d.ts +51 -0
  162. package/dist/views/production-run/components/ProductionRunFormDialog.spec.d.ts +1 -0
  163. package/dist/views/production-run/components/ProductionRunFormDialog.vue.d.ts +918 -0
  164. package/dist/views/production-run/components/ProductionRunFormDialogProps.d.ts +22 -0
  165. package/dist/views/production-run/components/ProductionRunHeader.spec.d.ts +1 -0
  166. package/dist/views/production-run/components/ProductionRunHeader.vue.d.ts +65 -0
  167. package/dist/views/production-run/components/ProductionRunHelpPopover.spec.d.ts +1 -0
  168. package/dist/views/production-run/components/ProductionRunHelpPopover.vue.d.ts +52 -0
  169. package/dist/views/production-run/components/ProductionRunIngredientTree.spec.d.ts +1 -0
  170. package/dist/views/production-run/components/ProductionRunIngredientTree.vue.d.ts +42 -0
  171. package/dist/views/production-run/components/ProductionRunIngredientsTab.spec.d.ts +1 -0
  172. package/dist/views/production-run/components/ProductionRunIngredientsTab.vue.d.ts +63 -0
  173. package/dist/views/production-run/components/ProductionRunInstructionsCard.spec.d.ts +1 -0
  174. package/dist/views/production-run/components/ProductionRunInstructionsCard.vue.d.ts +15 -0
  175. package/dist/views/production-run/components/ProductionRunItemPickerDialog.spec.d.ts +1 -0
  176. package/dist/views/production-run/components/ProductionRunItemPickerDialog.vue.d.ts +30 -0
  177. package/dist/views/production-run/components/ProductionRunItemsCell.spec.d.ts +1 -0
  178. package/dist/views/production-run/components/ProductionRunItemsCell.vue.d.ts +33 -0
  179. package/dist/views/production-run/components/ProductionRunItemsTable.spec.d.ts +1 -0
  180. package/dist/views/production-run/components/ProductionRunItemsTable.vue.d.ts +73 -0
  181. package/dist/views/production-run/components/ProductionRunLoadBannerContract.spec.d.ts +1 -0
  182. package/dist/views/production-run/components/ProductionRunNoBindingsHelp.spec.d.ts +1 -0
  183. package/dist/views/production-run/components/ProductionRunNoBindingsHelp.vue.d.ts +15 -0
  184. package/dist/views/production-run/components/ProductionRunOutputTab.spec.d.ts +1 -0
  185. package/dist/views/production-run/components/ProductionRunOutputTab.vue.d.ts +26 -0
  186. package/dist/views/production-run/components/ProductionRunOverviewTab.spec.d.ts +1 -0
  187. package/dist/views/production-run/components/ProductionRunOverviewTab.vue.d.ts +999 -0
  188. package/dist/views/production-run/components/ProductionRunPlanCard.spec.d.ts +1 -0
  189. package/dist/views/production-run/components/ProductionRunPlanCard.vue.d.ts +50 -0
  190. package/dist/views/production-run/components/ProductionRunPlanner.spec.d.ts +1 -0
  191. package/dist/views/production-run/components/ProductionRunPlanner.vue.d.ts +61 -0
  192. package/dist/views/production-run/components/ProductionRunPrepareSheet.vue.d.ts +16 -0
  193. package/dist/views/production-run/components/ProductionRunProjectionFeedback.spec.d.ts +1 -0
  194. package/dist/views/production-run/components/ProductionRunProjectionFeedback.vue.d.ts +41 -0
  195. package/dist/views/production-run/components/ProductionRunRecordOutputDetails.spec.d.ts +1 -0
  196. package/dist/views/production-run/components/ProductionRunRecordOutputDetails.vue.d.ts +43 -0
  197. package/dist/views/production-run/components/ProductionRunRecordOutputWastageStatus.spec.d.ts +1 -0
  198. package/dist/views/production-run/components/ProductionRunRecordOutputWastageStatus.vue.d.ts +31 -0
  199. package/dist/views/production-run/components/ProductionRunRequestedOverview.spec.d.ts +1 -0
  200. package/dist/views/production-run/components/ProductionRunRequestedOverview.vue.d.ts +48 -0
  201. package/dist/views/production-run/components/ProductionRunResultTable.spec.d.ts +1 -0
  202. package/dist/views/production-run/components/ProductionRunResultTable.vue.d.ts +31 -0
  203. package/dist/views/production-run/components/ProductionRunScrollHint.spec.d.ts +1 -0
  204. package/dist/views/production-run/components/ProductionRunScrollHint.vue.d.ts +31 -0
  205. package/dist/views/production-run/components/ProductionRunSelectionCheckbox.vue.d.ts +31 -0
  206. package/dist/views/production-run/components/ProductionRunSelectionControls.spec.d.ts +1 -0
  207. package/dist/views/production-run/components/ProductionRunSelectionRadio.spec.d.ts +1 -0
  208. package/dist/views/production-run/components/ProductionRunSelectionRadio.vue.d.ts +37 -0
  209. package/dist/views/production-run/components/ProductionRunSideSheet.spec.d.ts +1 -0
  210. package/dist/views/production-run/components/ProductionRunSideSheet.vue.d.ts +77 -0
  211. package/dist/views/production-run/components/ProductionRunSideSheetSurface.vue.d.ts +52 -0
  212. package/dist/views/production-run/components/ProductionRunSortHeader.spec.d.ts +1 -0
  213. package/dist/views/production-run/components/ProductionRunSortHeader.vue.d.ts +25 -0
  214. package/dist/views/production-run/components/ProductionRunStatusBadge.vue.d.ts +15 -0
  215. package/dist/views/production-run/components/ProductionRunTabs.spec.d.ts +1 -0
  216. package/dist/views/production-run/components/ProductionRunTabs.vue.d.ts +47 -0
  217. package/dist/views/production-run/components/ProductionRunTerminalNotice.spec.d.ts +1 -0
  218. package/dist/views/production-run/components/ProductionRunTerminalNotice.vue.d.ts +15 -0
  219. package/dist/views/production-run/components/ProductionRunTextarea.spec.d.ts +1 -0
  220. package/dist/views/production-run/components/ProductionRunTextarea.vue.d.ts +53 -0
  221. package/dist/views/production-run/components/ProductionRunUnitInput.spec.d.ts +1 -0
  222. package/dist/views/production-run/components/ProductionRunUnitInput.vue.d.ts +34 -0
  223. package/dist/views/production-run/components/ProductionRunWastageDisclosure.spec.d.ts +1 -0
  224. package/dist/views/production-run/components/ProductionRunWastageDisclosure.vue.d.ts +23 -0
  225. package/dist/views/production-run/components/RecordOutputDialog.spec.d.ts +1 -0
  226. package/dist/views/production-run/components/RecordOutputDialog.vue.d.ts +20 -0
  227. package/dist/views/production-run/components/RecordOutputDialogProps.d.ts +28 -0
  228. package/dist/views/production-run/components/TargetReachedDialog.spec.d.ts +1 -0
  229. package/dist/views/production-run/components/TargetReachedDialog.vue.d.ts +927 -0
  230. package/dist/views/production-run/components/production-run-deduction-parity.spec.d.ts +1 -0
  231. package/dist/views/production-run/components/production-run-prepare-sheet.d.ts +17 -0
  232. package/dist/views/production-run/components/production-run-typography-contract.spec.d.ts +1 -0
  233. package/dist/views/production-run/components/production-run-unit-snapshot.d.ts +39 -0
  234. package/dist/views/production-run/composables/production-run-display.d.ts +272 -0
  235. package/dist/views/production-run/composables/production-run-display.spec.d.ts +1 -0
  236. package/dist/views/production-run/composables/production-run-list.d.ts +46 -0
  237. package/dist/views/production-run/composables/production-run-list.spec.d.ts +1 -0
  238. package/dist/views/production-run/composables/production-run-request-confirmation.d.ts +20 -0
  239. package/dist/views/production-run/composables/use-production-run-actions.d.ts +37 -0
  240. package/dist/views/production-run/composables/use-production-run-actions.spec.d.ts +1 -0
  241. package/dist/views/production-run/composables/use-production-run-cost.d.ts +672 -0
  242. package/dist/views/production-run/composables/use-production-run-cost.spec.d.ts +1 -0
  243. package/dist/views/production-run/composables/use-production-run-detail.d.ts +1894 -0
  244. package/dist/views/production-run/composables/use-production-run-detail.spec.d.ts +1 -0
  245. package/dist/views/production-run/composables/use-production-run-disclosure.d.ts +15 -0
  246. package/dist/views/production-run/composables/use-production-run-disclosure.spec.d.ts +1 -0
  247. package/dist/views/production-run/composables/use-production-run-duplicate-sources.d.ts +19 -0
  248. package/dist/views/production-run/composables/use-production-run-duplicate-sources.spec.d.ts +1 -0
  249. package/dist/views/production-run/composables/use-production-run-economics.d.ts +92 -0
  250. package/dist/views/production-run/composables/use-production-run-economics.spec.d.ts +1 -0
  251. package/dist/views/production-run/composables/use-production-run-form.d.ts +277 -0
  252. package/dist/views/production-run/composables/use-production-run-form.spec.d.ts +1 -0
  253. package/dist/views/production-run/composables/use-production-run-record-output.d.ts +261 -0
  254. package/dist/views/production-run/composables/use-production-run-record-output.spec.d.ts +1 -0
  255. package/dist/views/production-run/composables/use-production-run-scroll-hint.d.ts +9 -0
  256. package/dist/views/production-run/composables/use-production-run-table.d.ts +19 -0
  257. package/dist/views/production-run/composables/use-production-run-table.spec.d.ts +1 -0
  258. package/dist/views/production-run/helpers/production-run-precision.helper.d.ts +31 -0
  259. package/dist/views/production-run/helpers/production-run-quantity.helper.d.ts +55 -0
  260. package/dist/views/production-run/helpers/production-run-quantity.helper.spec.d.ts +1 -0
  261. package/dist/views/production-run/production-run.fixture.d.ts +70 -0
  262. package/dist/views/production-run/production-run.fixture.spec.d.ts +1 -0
  263. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +3 -3
  264. package/dist/views/receive-request-bulk/composables/use-bulk-receive-request-form.d.ts +3 -3
  265. package/dist/views/stock/components/dialog/RecalculationDialog.vue.d.ts +2 -17
  266. package/dist/{vue-i18n--DyBLMYh.js → vue-i18n-hE8n67Ig.js} +358 -358
  267. package/dist/{xlsx.util-BthUZo9U.js → xlsx.util-Jv7EpwFc.js} +2 -2
  268. package/package.json +5 -5
  269. package/dist/ChangeLocationComponent.vue_vue_type_script_setup_true_lang-DpqPCG-m.js +0 -126
  270. package/dist/ClosingHistoryView-Cy2yMiEc.js +0 -1112
  271. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-C28nZw_t.js +0 -120
  272. package/dist/ProductionView-DGB2sdwD.js +0 -1441
  273. package/dist/inventory-core-dart.default-BmR8gM8k.js +0 -25155
  274. package/dist/views/stock/components/StockRecalculateDialog.vue.d.ts +0 -9
@@ -0,0 +1,17 @@
1
+ import type { PrepareRunReview } from './PrepareRunDialogProps';
2
+ export interface ProductionRunPrepareSheetDocument {
3
+ title: string;
4
+ runNo: FdoProductionRun['runNo'];
5
+ instructions: string | null;
6
+ locationName: string | null;
7
+ updatedAt: string;
8
+ review: PrepareRunReview;
9
+ }
10
+ /** Remove exactly one hand-off; never scan or mutate unrelated browser storage. */
11
+ export declare function removePrepareSheet(id: string, storage?: Storage): void;
12
+ /** Store one print hand-off without putting its operational contents in the URL. */
13
+ export declare function storePrepareSheet(document: ProductionRunPrepareSheetDocument, storage?: Storage, now?: number): string;
14
+ /** Consume the hand-off once. Malformed, missing and expired entries all fail closed. */
15
+ export declare function readPrepareSheet(id: string, storage?: Storage, now?: number): ProductionRunPrepareSheetDocument;
16
+ export declare function prepareSheetUrl(id: string, currentHref?: string): URL;
17
+ export declare function openPrepareSheet(document: ProductionRunPrepareSheetDocument): void;
@@ -0,0 +1,39 @@
1
+ import type { FmUnitInputModel } from '@/components/FmUnitInputProps';
2
+ /**
3
+ * Production stores the unit-of-record with every durable quantity. The shared
4
+ * unit input represents the base-unit choice as `null`; Production cannot,
5
+ * because a stored null would ask a future SKU definition to reinterpret an
6
+ * old number.
7
+ *
8
+ * This local spelling is the rebase seam for PR 1's generated
9
+ * `FdoProductionUnitSnapshot`.
10
+ */
11
+ export interface ProductionRunUnitSnapshot extends FdoUnitMeasurement {
12
+ baseUnitId: string;
13
+ }
14
+ export interface ProductionRunQuantityModel extends Omit<FmUnitInputModel, 'measurement'> {
15
+ measurement: ProductionRunUnitSnapshot | null;
16
+ }
17
+ export declare function baseUnitSnapshot(unit: FdoInventoryUnit): ProductionRunUnitSnapshot;
18
+ export declare function measurementSnapshot(unit: FdoInventoryUnit, measurement: FdoUnitMeasurement): ProductionRunUnitSnapshot;
19
+ /**
20
+ * Runtime guard for persisted retry intents. Storage outlives the build that
21
+ * wrote it, so presence of `baseUnitId` alone is not enough: a malformed or
22
+ * zero conversion would either crash hydration or change the movement on
23
+ * resend.
24
+ */
25
+ export declare function isProductionRunUnitSnapshot(value: unknown): value is ProductionRunUnitSnapshot;
26
+ /** Same stored unit identity, allowing equivalent fixed-point spellings. */
27
+ export declare function productionRunUnitSnapshotsEqual(left: ProductionRunUnitSnapshot, right: ProductionRunUnitSnapshot): boolean;
28
+ /**
29
+ * A structurally valid snapshot must also belong to the frozen SKU unit it is
30
+ * being used with. Matching the id without the conversion would reinterpret a
31
+ * historical number after a unit is redefined under the same id.
32
+ */
33
+ export declare function productionRunSnapshotMatchesUnit(snapshot: ProductionRunUnitSnapshot, unit: FdoInventoryUnit): boolean;
34
+ /**
35
+ * Resolve a durable Production snapshot against the current unit definition.
36
+ * Missing or legacy generic measurements stay unresolved: inferring today's
37
+ * base would silently reinterpret the stored number.
38
+ */
39
+ export declare function storedProductionRunUnitSnapshot(stored: unknown, unit: FdoInventoryUnit): ProductionRunUnitSnapshot | null;
@@ -0,0 +1,272 @@
1
+ import type { FCurrency, FdoDecimal, FdoDinero } from '@feedmepos/core/entity';
2
+ import type { ProductionRunCostState } from './use-production-run-economics';
3
+ /**
4
+ * Pure display derivation for the production run view. Kept out of the .vue
5
+ * files so the "nothing yet is not failure" and reveal-by-status rules are
6
+ * testable — see production-run-display.spec.ts.
7
+ *
8
+ * There is no status normalisation anywhere in here. A run document is correct
9
+ * by construction: `FdoProductionRun` is a NEW entity with no pre-enum
10
+ * ancestors, so a lookup keyed on `status` may index the table directly.
11
+ */
12
+ /** The em dash used for "we cannot say yet". NEVER `0`, never `RM 0.00`, never `0%`. */
13
+ export declare const NOT_YET = "\u2014";
14
+ /**
15
+ * One timestamp form across the Production listing, header and output cards.
16
+ *
17
+ * A malformed stored string stays visible verbatim: replacing corrupt data
18
+ * with `—` would make the document look merely incomplete. An invalid `Date`
19
+ * has no source text to preserve, so it uses the ordinary unavailable marker.
20
+ */
21
+ export declare function formatProductionTimestamp(value: Date | string): string;
22
+ export interface QuantityFormat {
23
+ /**
24
+ * Decimal places this quantity is meaningful to — `FdoInventoryUnit.precision`,
25
+ * read through `getAllowedPrecision` so the answer agrees with what the entry
26
+ * inputs allow. Null when the unit could not be resolved.
27
+ *
28
+ * It is a property of the UNIT, not of this screen: a kilogram base unit
29
+ * carrying a gram measurement is meaningful to 0.001, a unit counted in
30
+ * pieces to 1. A single hard-coded figure is wrong for one of them whichever
31
+ * figure is picked.
32
+ */
33
+ precision?: number | null;
34
+ /**
35
+ * The value is a positive MAGNITUDE leaving stock, so the sign is this
36
+ * function's to draw.
37
+ *
38
+ * Owned here rather than as a `−` in the template because the sign and the
39
+ * rounding are one decision: a template minus in front of a rounded-away
40
+ * quantity is exactly the `−0 kg` this function exists to prevent, and a
41
+ * template minus in front of a true zero says stock leaves when none does.
42
+ */
43
+ deduction?: boolean;
44
+ }
45
+ /**
46
+ * Quantity, trailing zeros trimmed, at the precision its unit is meaningful to.
47
+ * `1` not `1.00`, `0.35` stays `0.35`.
48
+ *
49
+ * **A non-zero quantity is never rendered as zero** (ISSUE-001). Three branches,
50
+ * and getting any two of them confused is the defect:
51
+ *
52
+ * 1. **Exactly zero** → `0`. Nothing moves, and that is worth saying plainly.
53
+ * 2. **Non-zero but below the unit's smallest increment** → a BOUND, `<0.001`.
54
+ * A one-piece run can draw 0.0004 kg of an ingredient; `0` told the reader
55
+ * nothing would move and then stock moved. The bound is signed, so a
56
+ * deduction reads `−<0.001 kg` rather than losing the direction with the
57
+ * digits.
58
+ * 3. **Anything else** → the figure, rounded to the unit's places.
59
+ */
60
+ export declare function formatQuantity(value: number | FdoDecimal, unit?: string | null, options?: QuantityFormat): string;
61
+ /**
62
+ * Money at the currency's own minor unit, or `—` when unknowable. Currency is
63
+ * passed in (not read from a store) so this stays pure; callers use
64
+ * `getCurrency()` from `@/helper/country`.
65
+ */
66
+ export declare function formatMoney(value: FdoDecimal | null | undefined, currency: FCurrency): string;
67
+ /**
68
+ * Money from a plain number.
69
+ *
70
+ * Some figures on this page are summed or subtotalled in the component and so
71
+ * arrive as raw floats rather than bridge decimals. They still have to become
72
+ * an `FdoDecimal` before they can be formatted, and the scale that conversion
73
+ * picks is a money decision, not a display one: three call sites each wrote
74
+ * `{ amount: Math.round(value * 100), precision: 2 }`, which fixes every
75
+ * currency at two places and puts a decimal point on đồng.
76
+ *
77
+ * The scale comes from the currency, so the rounding here agrees with the
78
+ * rounding core already applied (`_absorptionScale`) instead of quietly
79
+ * disagreeing with it at the last step.
80
+ */
81
+ export declare function formatMoneyFromNumber(value: number | null | undefined, currency: FCurrency): string;
82
+ /** Percent at whole numbers, or `—` when nothing is produced yet. */
83
+ export declare function formatPercent(value: FdoDecimal | null | undefined): string;
84
+ /** `1 ingredient uncosted` / `3 ingredients uncosted`, or null when all are costed. */
85
+ export declare function uncostedNote(uncostedSkuIds: string[]): string | null;
86
+ export declare function pluralise(count: number, singular: string, plural?: string): string;
87
+ /**
88
+ * Committed minus produced, floored at 0 — what the run still owes.
89
+ *
90
+ * Overproduction is legal (the kitchen made more than it committed to), and it
91
+ * leaves NOTHING unaccounted, so it clamps to 0 rather than reading as a
92
+ * negative remainder in close/shortfall copy.
93
+ */
94
+ export declare function remainingQuantity(committed: FdoDecimal, produced: FdoDecimal): number;
95
+ /**
96
+ * The base unit shared by EVERY production item, or null when they differ or
97
+ * cannot be resolved.
98
+ *
99
+ * Aggregate quantities (committed/produced totals) sum base amounts across
100
+ * skus, which is only meaningful when the skus share a unit. When they do not,
101
+ * callers render the total WITHOUT a unit rather than mislabelling `4 kg` on a
102
+ * run that made kg and litres. Per-item figures are always unit-correct.
103
+ *
104
+ * A run carries no sku snapshot on `items` — a DRAFT or REQUESTING run is a
105
+ * plan, so display resolves against live inventory. Issuance lines DO carry a
106
+ * snapshot and it wins: it is the unit the movement was actually valued in.
107
+ * With neither available (an unissued run in a view that has not loaded
108
+ * inventory) the answer is null, and the caller drops the unit.
109
+ */
110
+ export declare function sharedUnitAbbrev(run: FdoProductionRun, resolveSku?: (skuId: string) => FdoInventorySku | null | undefined): string | null;
111
+ /**
112
+ * Whether the outputs resolve to MORE THAN ONE unit.
113
+ *
114
+ * Deliberately distinct from `sharedUnitAbbrev` returning null, which also
115
+ * happens when a unit is merely unknown — a DRAFT whose skus are not in any
116
+ * issuance yet. Blanking a total needs the stronger claim: not "we cannot name
117
+ * the unit" but "there are two, so no single total exists". Grams cannot be
118
+ * added to bottles; grams can be added to grams we have not named.
119
+ */
120
+ export declare function outputUnitsDiffer(run: FdoProductionRun, resolveSku?: (skuId: string) => FdoInventorySku | null | undefined): boolean;
121
+ /**
122
+ * `_id` where the unit has one; the abbrev is only a fallback for fixtures.
123
+ *
124
+ * Exported so every production surface decides "same unit" the same way as
125
+ * {@link outputUnitsDiffer}. A second copy of this rule is how two surfaces
126
+ * eventually disagree about whether a run's quantities are addable.
127
+ */
128
+ export declare function unitKey(unit: FdoInventoryUnit): string;
129
+ export interface ProductionOutputBatchItem {
130
+ skuId: string;
131
+ /** Base units — a batch line's stored amount is in its own `measurement`. */
132
+ amount: number;
133
+ }
134
+ export interface ProductionOutputBatch {
135
+ id: string;
136
+ adjustmentId: string;
137
+ /** 1-based, in the chronological order shown. Not a traceability lot code. */
138
+ index: number;
139
+ /** When the kitchen actually finished this batch — user-entered. */
140
+ producedAt: string;
141
+ /** When the system recorded it — server clock, never client-supplied. */
142
+ recordedAt: string;
143
+ /** True when output was keyed in after the fact; the gap is what a variance investigation asks about. */
144
+ isBackdated: boolean;
145
+ recordedBy: string;
146
+ items: ProductionOutputBatchItem[];
147
+ /** Why this particular production event had the result it did. */
148
+ remark: string | null;
149
+ wastages: (FdoProductionWastageLine & {
150
+ remark?: string | null;
151
+ })[];
152
+ }
153
+ export declare function productionOutputBatches(run: FdoProductionRun): ProductionOutputBatch[];
154
+ /**
155
+ * The FIXED wastage-reason vocabulary (`F_PRODUCTION_WASTAGE_REASON`), in the
156
+ * order the picker shows it. Deliberately NOT the business's adjustment-template
157
+ * reasons — production loss categories are universal, so the picker works the
158
+ * same in every location and needs no fetch.
159
+ */
160
+ export declare const PRODUCTION_WASTAGE_REASONS: F_PRODUCTION_WASTAGE_REASON[];
161
+ /** Display labels for the fixed vocabulary — the enum values stay UPPER in data. */
162
+ /**
163
+ * The i18n key for a wastage reason.
164
+ *
165
+ * The words used to live here as a literal map, which put five user-facing
166
+ * strings somewhere a translator cannot reach — the module is
167
+ * English-only-by-construction rather than merely untranslated. The vocabulary
168
+ * itself is fixed and cross-business (so it stays comparable across locations);
169
+ * only its rendering is a locale concern.
170
+ */
171
+ export declare function wastageReasonKey(reason: F_PRODUCTION_WASTAGE_REASON | string): string;
172
+ /**
173
+ * Enum value → display label. Null when there is no reason at all, so callers
174
+ * can skip the segment entirely.
175
+ */
176
+ export declare function formatWastageReason(reason: string | null | undefined): string | null;
177
+ /**
178
+ * The ingredient SKU ids CONSUMED by an issue adjustment.
179
+ *
180
+ * `FfProductionRunEconomics` cannot tell "this ingredient had no cost on hand"
181
+ * from "this run has no bindings, so zero cost is correct" — an uncosted
182
+ * ingredient contributes nothing to the pool, and so does an absent one.
183
+ * Feeding it the ids actually issued is what lights up the amber uncosted state.
184
+ */
185
+ export declare function issuedIngredientSkuIdsOf(adjustment: FdoInventoryAdjustment | null | undefined): string[];
186
+ export type CloseConsequence =
187
+ /** Issued, with an unproduced remainder: that share of the pool stays unabsorbed. */
188
+ 'leaves-unabsorbed'
189
+ /** Nothing was ever issued for the remainder, so nothing is at stake. */
190
+ | 'nothing-issued'
191
+ /** Everything committed was produced — closing only stops further output. */
192
+ | 'fully-produced';
193
+ /**
194
+ * What closing this run actually does — the single source for the confirm copy.
195
+ *
196
+ * `'leaves-unabsorbed'`, deliberately NOT "writes off". Close writes no
197
+ * adjustment and moves no stock: the cost left stock at issuance, only the
198
+ * absorbed share was carried into the output item's value, and the remainder
199
+ * simply stays as unabsorbed issued cost. Naming it a write-off on an
200
+ * irreversible confirm dialog states an accounting event that does not happen.
201
+ *
202
+ * A run with no issuance has no pool at all, so there is nothing to leave
203
+ * behind — that is `'nothing-issued'`, which the run lifecycle only reaches
204
+ * through cancel, never through close.
205
+ */
206
+ export declare function closeConsequence(run: FdoProductionRun, atTarget: boolean): CloseConsequence;
207
+ /** The i18n key the close confirmation renders, and what to interpolate into it. */
208
+ export interface CloseMessage {
209
+ /** Relative to `inventory.production.run.dialog.close`. */
210
+ key: string;
211
+ /** `names` for the uncosted case; `amount` only ever for `leavesUnabsorbed`. */
212
+ params: Record<string, string>;
213
+ /** True only when a real money figure may be shown. */
214
+ showsAmount: boolean;
215
+ }
216
+ /**
217
+ * What the close confirmation says, chosen from the cost STATE.
218
+ *
219
+ * Two defects live in the obvious version of this, and both put a wrong
220
+ * statement on an irreversible action.
221
+ *
222
+ * The first is inferring the reason from `uncostedNames.length`: an empty list
223
+ * is equally consistent with an unsplittable pool, a negative valuation and no
224
+ * pool at all, so the sentence explaining why the figure is missing named the
225
+ * wrong cause — or, before that, interpolated the empty list and rendered
226
+ * "because has no cost on record".
227
+ *
228
+ * The second is subtler. `open` is non-null whenever the pool splits, INCLUDING
229
+ * when the cost is not known — an uncosted or negative pool still subtracts to
230
+ * a number. So a dialog keyed on `unabsorbed === null` showed a confident
231
+ * "leaves RM X unabsorbed" for exactly the pools the cost rail was withholding
232
+ * one screen away. The amount is gated on the state, never on its own nullness.
233
+ */
234
+ export declare function closeMessage(input: {
235
+ consequence: CloseConsequence;
236
+ costState: ProductionRunCostState;
237
+ unabsorbed: FdoDinero | null;
238
+ uncostedNames: string[];
239
+ }): CloseMessage;
240
+ /**
241
+ * Has the run stopped producing for good?
242
+ *
243
+ * The line between "no output yet" and "no output, final". Shared because the
244
+ * listing and the detail page must answer it identically — they disagreed once,
245
+ * and a run closed with nothing showed 0% in one place and `—` in the other.
246
+ */
247
+ export declare function hasStopped(run: FdoProductionRun): boolean;
248
+ /**
249
+ * How a stopped run ended, in terms of what it made — never of which status it
250
+ * carries.
251
+ *
252
+ * Closure is one terminal now, at target or short, because reaching the
253
+ * committed quantity is a measurement and stopping is a decision. So the
254
+ * outcome is DERIVED from committed versus produced, both already on the
255
+ * document. Storing it would create durable state able to disagree with its own
256
+ * inputs, and a closed run's batches are immutable, so there is nothing to gain
257
+ * by caching it.
258
+ *
259
+ * `null` while the run can still produce — an open run has no outcome yet, and
260
+ * a cancelled run never committed to one.
261
+ */
262
+ export declare function closureOutcome(run: FdoProductionRun): 'target-reached' | 'below-target' | null;
263
+ export type ProductionRunTerminalOutputOutcome = 'below-target' | 'at-target' | 'above-target';
264
+ /**
265
+ * A stopped run's output outcome, compared per sku.
266
+ *
267
+ * Cross-output totals are deliberately absent. Five kilograms above target
268
+ * cannot cancel one litre below target, and mixed-unit runs have no meaningful
269
+ * aggregate percentage. A run is above target only when every commitment was
270
+ * met and at least one was exceeded; any short item keeps the outcome below.
271
+ */
272
+ export declare function terminalOutputOutcome(run: FdoProductionRun): ProductionRunTerminalOutputOutcome | null;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Pure derivation for the production-run listing. Kept out of the .vue so the
3
+ * tab grouping, search, lifecycle sorting and display identity are testable.
4
+ */
5
+ export type ProductionRunTabKey = 'all' | 'drafts' | 'active' | 'history';
6
+ export interface ProductionRunTabDef {
7
+ key: ProductionRunTabKey;
8
+ label: string;
9
+ }
10
+ /**
11
+ * Tabs are grouped by operator intent, not one per lifecycle value.
12
+ *
13
+ * Reaching the committed quantity is a measurement, not a place a run goes. A
14
+ * run kept open at target is still active; History holds only runs that have
15
+ * stopped. Together the three filtered tabs partition All exactly.
16
+ */
17
+ export declare const PRODUCTION_RUN_TABS: ProductionRunTabDef[];
18
+ /** Lifecycle order for the status column; alphabetical order is operational noise. */
19
+ export declare const STATUS_ORDER: {
20
+ readonly DRAFT: 0;
21
+ readonly REQUESTING: 1;
22
+ readonly PREPARING: 2;
23
+ readonly CLOSED: 3;
24
+ readonly CANCEL: 4;
25
+ };
26
+ /** Reject an obsolete or corrupt status instead of silently sorting it as NaN. */
27
+ export declare function productionRunStatusOrder(status: F_PRODUCTION_RUN_STATUS): number;
28
+ export declare function matchesProductionRunTab(run: FdoProductionRun, tab: ProductionRunTabKey): boolean;
29
+ export declare function productionRunTabCounts(runs: FdoProductionRun[]): Record<ProductionRunTabKey, number>;
30
+ /** Last audited event on the run, for the Updated column. */
31
+ export declare function productionRunLastActivity(run: FdoProductionRun): {
32
+ action: F_PRODUCTION_RUN_ACTION;
33
+ at: string;
34
+ } | null;
35
+ /** `runName` when supplied, otherwise the translated fallback plus durable run number. */
36
+ export declare function productionRunDisplayName(run: FdoProductionRun, untitledName: string): string;
37
+ /**
38
+ * Locale-independent sort identity shared by whole-list paging and FmTable.
39
+ *
40
+ * Named runs sort by their stored name. Unnamed runs sort by the durable run
41
+ * number rather than by translated presentation copy, so changing locale
42
+ * cannot move a row or produce a different page boundary.
43
+ */
44
+ export declare function productionRunNameSortValue(run: FdoProductionRun): string;
45
+ /** Search the run's durable identity and the live names of its output items. */
46
+ export declare function matchesProductionRunSearch(run: FdoProductionRun, search: string, resolveSku?: (skuId: string) => FdoInventorySku | null | undefined): boolean;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * One confirmation contract for every Draft handoff entry point.
3
+ *
4
+ * The form, listing and detail page can all submit the same lifecycle event.
5
+ * Keeping the copy and button semantics here prevents one surface from
6
+ * becoming an unconfirmed shortcut around the others.
7
+ */
8
+ export declare function productionRunRequestConfirmation(t: (key: string) => string): {
9
+ title: string;
10
+ message: string;
11
+ primaryActions: {
12
+ text: string;
13
+ close: boolean;
14
+ };
15
+ secondaryActions: {
16
+ text: string;
17
+ close: boolean;
18
+ variant: "tertiary";
19
+ };
20
+ };
@@ -0,0 +1,37 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ /** Lifecycle actions a user can trigger (create is not an edge on an existing run). */
3
+ export type ProductionRunLifecycleAction = Exclude<F_PRODUCTION_RUN_ACTION, 'create'>;
4
+ /**
5
+ * Single source for action labels, so the row button, the row menu and the run
6
+ * footer cannot drift into three names for one action.
7
+ */
8
+ export declare const PRODUCTION_RUN_ACTION_LABELS: Record<ProductionRunLifecycleAction, string>;
9
+ export interface ProductionRunAction {
10
+ action: ProductionRunLifecycleAction;
11
+ label: string;
12
+ }
13
+ /**
14
+ * Every action legal on the run RIGHT NOW, straight from the
15
+ * `FfProductionRunWorkflow` legality table — which reads status **and** data,
16
+ * so a run that has issued offers no cancel and a drifted document offers
17
+ * nothing at all. Views render this list; adding a status or an edge touches
18
+ * the core table, not view code.
19
+ *
20
+ * There is no normalisation and no try/catch here on purpose. Run documents are
21
+ * correct by construction — `FdoProductionRun` is a new entity with no pre-enum
22
+ * ancestors — so a status the bridge cannot decode is a real defect, and
23
+ * swallowing it would hide the defect behind an empty menu.
24
+ */
25
+ export declare function productionRunActionsFor(run: FdoProductionRun): ProductionRunAction[];
26
+ /** Reactive wrapper for components holding the run in a ref/prop/getter. */
27
+ export declare function useProductionRunActions(run: MaybeRefOrGetter<FdoProductionRun | null | undefined>): import("vue").ComputedRef<ProductionRunAction[]>;
28
+ /**
29
+ * The `.fm-status-badge-*` modifier for a run status, paired with the base
30
+ * `fm-status-badge` class by the caller (see `draftStatusToClassName`).
31
+ *
32
+ * The shared modifiers are palette names rather than Production statuses.
33
+ * REQUESTING is the informational hand-off, while PREPARING is the warning-
34
+ * toned work-in-flight state. Keeping that mapping here makes the list and
35
+ * detail surfaces agree without changing the shared badge styles.
36
+ */
37
+ export declare function productionRunStatusBadge(status: F_PRODUCTION_RUN_STATUS): "fm-status-badge-draft" | "fm-status-badge-receiving" | "fm-status-badge-requesting" | "fm-status-badge-close" | "fm-status-badge-cancel";