@feedmepos/mf-menu-portal 0.0.0-stage → 1.0.1-dev.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 (263) hide show
  1. package/README.md +30 -2
  2. package/dist/AddPriceGroupDialog.vue_vue_type_script_setup_true_lang-DhKyG3gY.js +20 -0
  3. package/dist/App-C6k--u1c.js +8316 -0
  4. package/dist/ApplyProduct.vue_vue_type_script_setup_true_lang-C9OSr8ft.js +98 -0
  5. package/dist/BindingLinkDialog.vue_vue_type_script_setup_true_lang-BZVQRyRI.js +180 -0
  6. package/dist/BindingTable.vue_vue_type_script_setup_true_lang-DBzjWI_6.js +179 -0
  7. package/dist/Catalog-DEYN4dMN.js +374 -0
  8. package/dist/CatalogBinding-NnPKdPvx.js +315 -0
  9. package/dist/CatalogEditTabs.vue_vue_type_script_setup_true_lang-OshqaPTE.js +97 -0
  10. package/dist/CatalogEditor.vue_vue_type_script_setup_true_lang-poznuDXu.js +447 -0
  11. package/dist/CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-BSMAIkQ2.js +117 -0
  12. package/dist/Category-BdUP0o34.js +13 -0
  13. package/dist/Category-CkQiwP9e.js +52 -0
  14. package/dist/CategoryList.vue_vue_type_script_setup_true_lang-UgNVpYgp.js +797 -0
  15. package/dist/CookingGuide-CtDkm74r.js +842 -0
  16. package/dist/FormItem.vue_vue_type_script_setup_true_lang-C2S6QCyR.js +26 -0
  17. package/dist/FormSection.vue_vue_type_script_setup_true_lang-pY-_msnM.js +1774 -0
  18. package/dist/Group-D2HngOjr.js +52 -0
  19. package/dist/Group-DSj7_16V.js +13 -0
  20. package/dist/GroupList.vue_vue_type_script_setup_true_lang-BmmsSKTt.js +2183 -0
  21. package/dist/Ingredient-BHqz7kjQ.js +463 -0
  22. package/dist/LinkProductSideSheet.vue_vue_type_script_setup_true_lang-D9jK-Fhn.js +709 -0
  23. package/dist/ListCountTag.vue_vue_type_script_setup_true_lang-0bjk8Aly.js +15 -0
  24. package/dist/MenuSetting-DF-cJH7N.js +1228 -0
  25. package/dist/OrderPacing-CejS9dEI.js +698 -0
  26. package/dist/OrderPacingFields.vue_vue_type_script_setup_true_lang-C2mixGUk.js +55 -0
  27. package/dist/PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js +41 -0
  28. package/dist/Preview-1C7jGJuY.js +327 -0
  29. package/dist/PriceTierNotice.vue_vue_type_script_setup_true_lang-CxKHCptJ.js +26 -0
  30. package/dist/PrintRoute-BNnMcgTf.js +473 -0
  31. package/dist/Product-BoUKxogB.js +44 -0
  32. package/dist/ProductChipSummary.vue_vue_type_script_setup_true_lang-D8DygCBl.js +110 -0
  33. package/dist/ProductEditorHost.vue_vue_type_script_setup_true_lang-Bm8_FTvr.js +83 -0
  34. package/dist/ProductFilterMenu.vue_vue_type_script_setup_true_lang-Cgc0Ms_n.js +101 -0
  35. package/dist/ProductGroupCreateSheet.vue_vue_type_script_setup_true_lang-Cx_mW05R.js +1246 -0
  36. package/dist/ProductImageEditorDialog.vue_vue_type_script_setup_true_lang-CUeYaXYg.js +1955 -0
  37. package/dist/ProductInlineCreateHost.vue_vue_type_script_setup_true_lang-CeYyZX7g.js +5401 -0
  38. package/dist/ProductInternalTools-b3sy8bWy.js +2147 -0
  39. package/dist/ProductInventoryDialog-DO0D8e3Z.js +4 -0
  40. package/dist/ProductInventoryDialog.vue_vue_type_script_setup_true_lang-y9Mz__o9.js +187 -0
  41. package/dist/ProductList.vue_vue_type_script_setup_true_lang-n_UYIwwt.js +10353 -0
  42. package/dist/ProductVariantTranslationSheet.vue_vue_type_script_setup_true_lang-ClG3Prfm.js +218 -0
  43. package/dist/Products-7vlFJB0P.js +155 -0
  44. package/dist/Publish-DTP-CgV-.js +1261 -0
  45. package/dist/Recipe-C1W8_15H.js +350 -0
  46. package/dist/Scheduler-JRjozwP_.js +637 -0
  47. package/dist/ServingSequence-BGT5m7JB.js +336 -0
  48. package/dist/Setting-CS_M1gMN.js +173 -0
  49. package/dist/Subcategory-Cgy9CQCz.js +412 -0
  50. package/dist/Takeaway-Bpo9XA-j.js +48 -0
  51. package/dist/Takeaway-DO2dmFGP.js +13 -0
  52. package/dist/TakeawayList.vue_vue_type_script_setup_true_lang-C7KexF7H.js +554 -0
  53. package/dist/TranslationLanguageSelector.vue_vue_type_script_setup_true_lang-BJZ6VcrT.js +161 -0
  54. package/dist/TranslationSideSheet.vue_vue_type_script_setup_true_lang-B0j2PNih.js +158 -0
  55. package/dist/TranslationViewChip.vue_vue_type_script_setup_true_lang-CAkLEmSA.js +69 -0
  56. package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-BHxmPO7F.js +1213 -0
  57. package/dist/Unit-Bn5UzMp1.js +385 -0
  58. package/dist/Variant-DmeGEEkw.js +538 -0
  59. package/dist/_id_-DC1dJIaj.js +28 -0
  60. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  61. package/dist/app-Bd7W2PYm.js +2008 -0
  62. package/dist/app.js +8 -0
  63. package/dist/apps/mf-menu/src/App.vue.d.ts +2 -0
  64. package/dist/apps/mf-menu/src/Entry.vue.d.ts +4 -0
  65. package/dist/apps/mf-menu/src/app.d.ts +16771 -0
  66. package/dist/apps/mf-menu/src/assets/icons/index.d.ts +4 -0
  67. package/dist/apps/mf-menu/src/components/CatalogBindingList.vue.d.ts +9 -0
  68. package/dist/apps/mf-menu/src/components/CatalogList.vue.d.ts +6 -0
  69. package/dist/apps/mf-menu/src/components/CategoryImageField.vue.d.ts +17 -0
  70. package/dist/apps/mf-menu/src/components/CategoryList.vue.d.ts +28 -0
  71. package/dist/apps/mf-menu/src/components/Fields/RangeSlider.vue.d.ts +23 -0
  72. package/dist/apps/mf-menu/src/components/GroupList.vue.d.ts +28 -0
  73. package/dist/apps/mf-menu/src/components/GroupTranslationSideSheet.vue.d.ts +14 -0
  74. package/dist/apps/mf-menu/src/components/IngredientList.vue.d.ts +15 -0
  75. package/dist/apps/mf-menu/src/components/MenuHeaderContext.vue.d.ts +2 -0
  76. package/dist/apps/mf-menu/src/components/MenuRestaurantSelector.vue.d.ts +7 -0
  77. package/dist/apps/mf-menu/src/components/MenuSetting/AddMemberTierDialog.vue.d.ts +2 -0
  78. package/dist/apps/mf-menu/src/components/MenuSetting/AddPriceGroupDialog.vue.d.ts +2 -0
  79. package/dist/apps/mf-menu/src/components/MenuSetting/ConfigurationTab.vue.d.ts +6 -0
  80. package/dist/apps/mf-menu/src/components/MenuSetting/MemberPricingTab.vue.d.ts +6 -0
  81. package/dist/apps/mf-menu/src/components/MenuSetting/PriceGroupTab.vue.d.ts +6 -0
  82. package/dist/apps/mf-menu/src/components/MenuSetting/RuleGroupsTab.vue.d.ts +6 -0
  83. package/dist/apps/mf-menu/src/components/Navigator.vue.d.ts +2 -0
  84. package/dist/apps/mf-menu/src/components/OrderPacingList.vue.d.ts +6 -0
  85. package/dist/apps/mf-menu/src/components/PriceTier/PriceTierNotice.vue.d.ts +6 -0
  86. package/dist/apps/mf-menu/src/components/PrintRouteList.vue.d.ts +6 -0
  87. package/dist/apps/mf-menu/src/components/Product/LocalizedCurrencySymbol.vue.d.ts +5 -0
  88. package/dist/apps/mf-menu/src/components/Product/ProductAttributeFilter.vue.d.ts +13 -0
  89. package/dist/apps/mf-menu/src/components/Product/ProductCategorySelector.vue.d.ts +11 -0
  90. package/dist/apps/mf-menu/src/components/Product/ProductChipSummary.vue.d.ts +9 -0
  91. package/dist/apps/mf-menu/src/components/Product/ProductChoicePicker.vue.d.ts +15 -0
  92. package/dist/apps/mf-menu/src/components/Product/ProductEditorHost.vue.d.ts +26 -0
  93. package/dist/apps/mf-menu/src/components/Product/ProductFilterMenu.vue.d.ts +26 -0
  94. package/dist/apps/mf-menu/src/components/Product/ProductForm.vue.d.ts +42 -0
  95. package/dist/apps/mf-menu/src/components/Product/ProductFormSection.vue.d.ts +41 -0
  96. package/dist/apps/mf-menu/src/components/Product/ProductGroupCreateSheet.vue.d.ts +19 -0
  97. package/dist/apps/mf-menu/src/components/Product/ProductGroupSheet.vue.d.ts +56 -0
  98. package/dist/apps/mf-menu/src/components/Product/ProductInlineCategoryCreateField.vue.d.ts +10 -0
  99. package/dist/apps/mf-menu/src/components/Product/ProductInlineCreateHost.vue.d.ts +38 -0
  100. package/dist/apps/mf-menu/src/components/Product/ProductInlineSubcategoryCreateField.vue.d.ts +10 -0
  101. package/dist/apps/mf-menu/src/components/Product/ProductInventoryDialog.vue.d.ts +12 -0
  102. package/dist/apps/mf-menu/src/components/Product/ProductLocaleBadge.vue.d.ts +6 -0
  103. package/dist/apps/mf-menu/src/components/Product/ProductMemberPriceTooltip.vue.d.ts +6 -0
  104. package/dist/apps/mf-menu/src/components/Product/ProductMoneyField.vue.d.ts +25 -0
  105. package/dist/apps/mf-menu/src/components/Product/ProductOverviewSheet.vue.d.ts +11 -0
  106. package/dist/apps/mf-menu/src/components/Product/ProductPacingSheet.vue.d.ts +13 -0
  107. package/dist/apps/mf-menu/src/components/Product/ProductPriceTierButton.vue.d.ts +11 -0
  108. package/dist/apps/mf-menu/src/components/Product/ProductPricingSheet.vue.d.ts +26 -0
  109. package/dist/apps/mf-menu/src/components/Product/ProductPrintRouteSheet.vue.d.ts +12 -0
  110. package/dist/apps/mf-menu/src/components/Product/ProductQuantityField.vue.d.ts +16 -0
  111. package/dist/apps/mf-menu/src/components/Product/ProductSummaryCard.vue.d.ts +9 -0
  112. package/dist/apps/mf-menu/src/components/Product/ProductTakeawaySheet.vue.d.ts +12 -0
  113. package/dist/apps/mf-menu/src/components/Product/ProductTranslationDialog.vue.d.ts +16 -0
  114. package/dist/apps/mf-menu/src/components/Product/ProductVariantCreateSheet.vue.d.ts +12 -0
  115. package/dist/apps/mf-menu/src/components/Product/ProductVariantTranslationSheet.vue.d.ts +13 -0
  116. package/dist/apps/mf-menu/src/components/Product/inlineCreate.d.ts +23 -0
  117. package/dist/apps/mf-menu/src/components/Product/labels.d.ts +15 -0
  118. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageBadge.vue.d.ts +7 -0
  119. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageDownloadDialog.vue.d.ts +15 -0
  120. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageFormatChips.vue.d.ts +13 -0
  121. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageLegacyChip.vue.d.ts +2 -0
  122. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageProgressDialog.vue.d.ts +11 -0
  123. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageResult.vue.d.ts +14 -0
  124. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageReview.vue.d.ts +21 -0
  125. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageThumb.vue.d.ts +15 -0
  126. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageUpdateFlow.vue.d.ts +6 -0
  127. package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageUpdateSheet.vue.d.ts +34 -0
  128. package/dist/apps/mf-menu/src/components/ProductBatchImage/batchImageFiles.d.ts +53 -0
  129. package/dist/apps/mf-menu/src/components/ProductImage/ProductImageCustomFormatDialog.vue.d.ts +40 -0
  130. package/dist/apps/mf-menu/src/components/ProductImage/ProductImageEditorDialog.vue.d.ts +82 -0
  131. package/dist/apps/mf-menu/src/components/ProductImage/ProductImageField.vue.d.ts +42 -0
  132. package/dist/apps/mf-menu/src/components/ProductImage/ProductImageManageSheet.vue.d.ts +47 -0
  133. package/dist/apps/mf-menu/src/components/ProductImage/ProductImageRegenerateDialog.vue.d.ts +44 -0
  134. package/dist/apps/mf-menu/src/components/ProductImage/imageBrowser.d.ts +18 -0
  135. package/dist/apps/mf-menu/src/components/ProductList.vue.d.ts +18 -0
  136. package/dist/apps/mf-menu/src/components/PublishList.vue.d.ts +14 -0
  137. package/dist/apps/mf-menu/src/components/RecipeList.vue.d.ts +11 -0
  138. package/dist/apps/mf-menu/src/components/SchedulerList.vue.d.ts +6 -0
  139. package/dist/apps/mf-menu/src/components/ServingSequenceList.vue.d.ts +6 -0
  140. package/dist/apps/mf-menu/src/components/SubcategoryList.vue.d.ts +6 -0
  141. package/dist/apps/mf-menu/src/components/TakeawayList.vue.d.ts +26 -0
  142. package/dist/apps/mf-menu/src/components/TranslationSideSheet.vue.d.ts +36 -0
  143. package/dist/apps/mf-menu/src/components/UnitList.vue.d.ts +6 -0
  144. package/dist/apps/mf-menu/src/components/V3ToV4MigrationBanner.vue.d.ts +6 -0
  145. package/dist/apps/mf-menu/src/components/V3ToV4MigrationConfirmDialog.vue.d.ts +12 -0
  146. package/dist/apps/mf-menu/src/components/VariantList.vue.d.ts +6 -0
  147. package/dist/apps/mf-menu/src/components/catalog/CatalogEditor.vue.d.ts +14 -0
  148. package/dist/apps/mf-menu/src/components/catalog/CatalogLinkProductAction.vue.d.ts +7 -0
  149. package/dist/apps/mf-menu/src/components/catalog/CatalogUsage.vue.d.ts +6 -0
  150. package/dist/apps/mf-menu/src/components/catalog/tableSemantics.d.ts +7 -0
  151. package/dist/apps/mf-menu/src/components/feature/ApplyProduct/ApplyProduct.vue.d.ts +33 -0
  152. package/dist/apps/mf-menu/src/components/feature/CookingGuide/RemoveCookingGuideConfirmation.vue.d.ts +6 -0
  153. package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/Icon.vue.d.ts +2 -0
  154. package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/index.d.ts +1 -0
  155. package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/index.vue.d.ts +18 -0
  156. package/dist/apps/mf-menu/src/components/feature/InventoryBinding/BindingLinkDialog.vue.d.ts +49 -0
  157. package/dist/apps/mf-menu/src/components/feature/InventoryBinding/BindingTable.vue.d.ts +38 -0
  158. package/dist/apps/mf-menu/src/components/feature/LinkProduct/LinkProductSideSheet.vue.d.ts +65 -0
  159. package/dist/apps/mf-menu/src/components/feature/OrderPacing/DeleteOrderPacingConfirmation.vue.d.ts +6 -0
  160. package/dist/apps/mf-menu/src/components/feature/OrderPacing/OrderPacingFields.vue.d.ts +17 -0
  161. package/dist/apps/mf-menu/src/components/feature/PrintRoute/RemoveRouteConfirmation.vue.d.ts +6 -0
  162. package/dist/apps/mf-menu/src/components/feature/TreeEditor/TreeEditorOpenner.vue.d.ts +18 -0
  163. package/dist/apps/mf-menu/src/components/feature/TreeEditor/openner.d.ts +7 -0
  164. package/dist/apps/mf-menu/src/components/info/TextChip.vue.d.ts +13 -0
  165. package/dist/apps/mf-menu/src/components/layout/FlatInlineSort.vue.d.ts +25 -0
  166. package/dist/apps/mf-menu/src/components/layout/FormColumn.vue.d.ts +12 -0
  167. package/dist/apps/mf-menu/src/components/layout/FormItem.vue.d.ts +17 -0
  168. package/dist/apps/mf-menu/src/components/layout/FormRow.vue.d.ts +9 -0
  169. package/dist/apps/mf-menu/src/components/layout/FormSection.vue.d.ts +18 -0
  170. package/dist/apps/mf-menu/src/components/layout/FullScreenForm.vue.d.ts +31 -0
  171. package/dist/apps/mf-menu/src/components/layout/FullWrapper.vue.d.ts +9 -0
  172. package/dist/apps/mf-menu/src/components/layout/LabeledTextField.vue.d.ts +16 -0
  173. package/dist/apps/mf-menu/src/components/layout/ListCountTag.vue.d.ts +5 -0
  174. package/dist/apps/mf-menu/src/components/layout/LottieAnimation.vue.d.ts +39 -0
  175. package/dist/apps/mf-menu/src/components/layout/PageLayout.vue.d.ts +19 -0
  176. package/dist/apps/mf-menu/src/components/layout/ProgressBar.vue.d.ts +9 -0
  177. package/dist/apps/mf-menu/src/components/loading/AppLoading.vue.d.ts +20 -0
  178. package/dist/apps/mf-menu/src/components/loading/PageLoading.vue.d.ts +2 -0
  179. package/dist/apps/mf-menu/src/components/loading/index.d.ts +1 -0
  180. package/dist/apps/mf-menu/src/components/placeholder/PlaceholderView.vue.d.ts +5 -0
  181. package/dist/apps/mf-menu/src/components/preview/MenuPreview.vue.d.ts +13 -0
  182. package/dist/apps/mf-menu/src/components/preview/simulatorPort.d.ts +23 -0
  183. package/dist/apps/mf-menu/src/components/publish/PublishRevertPreview.vue.d.ts +6 -0
  184. package/dist/apps/mf-menu/src/components/publish/PublishScheduleDetails.vue.d.ts +6 -0
  185. package/dist/apps/mf-menu/src/components/publish/publishStatus.d.ts +15 -0
  186. package/dist/apps/mf-menu/src/components/translation/TranslationLanguageSelector.vue.d.ts +21 -0
  187. package/dist/apps/mf-menu/src/components/translation/TranslationViewChip.vue.d.ts +12 -0
  188. package/dist/apps/mf-menu/src/components/translation/localeName.d.ts +11 -0
  189. package/dist/apps/mf-menu/src/components/translation/localeSymbol.d.ts +15 -0
  190. package/dist/apps/mf-menu/src/composable/elementPosition.d.ts +17 -0
  191. package/dist/apps/mf-menu/src/composable/menuNotifier.d.ts +14 -0
  192. package/dist/apps/mf-menu/src/composable/navigator.d.ts +16 -0
  193. package/dist/apps/mf-menu/src/composable/useActionFeedback.d.ts +81 -0
  194. package/dist/apps/mf-menu/src/composable/useEditorValidation.d.ts +21 -0
  195. package/dist/apps/mf-menu/src/init.d.ts +1 -0
  196. package/dist/apps/mf-menu/src/main.d.ts +2 -0
  197. package/dist/apps/mf-menu/src/plugins.d.ts +4 -0
  198. package/dist/apps/mf-menu/src/router/index.d.ts +2 -0
  199. package/dist/apps/mf-menu/src/router/shared.d.ts +65 -0
  200. package/dist/apps/mf-menu/src/sdk/host.d.ts +9 -0
  201. package/dist/apps/mf-menu/src/sdk/import-export.d.ts +9 -0
  202. package/dist/apps/mf-menu/src/sdk/provide.d.ts +33 -0
  203. package/dist/apps/mf-menu/src/sdk/useReadModel.d.ts +16 -0
  204. package/dist/apps/mf-menu/src/sdk/useSdkMessage.d.ts +11 -0
  205. package/dist/apps/mf-menu/src/stores/app.d.ts +17 -0
  206. package/dist/apps/mf-menu/src/utils/ruleValueKey.d.ts +12 -0
  207. package/dist/apps/mf-menu/src/utils/worker-loader.d.ts +12 -0
  208. package/dist/apps/mf-menu/src/utils/worker.d.ts +4 -0
  209. package/dist/apps/mf-menu/src/views/Catalog/Catalog.vue.d.ts +2 -0
  210. package/dist/apps/mf-menu/src/views/Catalog/Edit/CatalogEditTabs.vue.d.ts +2 -0
  211. package/dist/apps/mf-menu/src/views/Catalog/Edit/Category.vue.d.ts +2 -0
  212. package/dist/apps/mf-menu/src/views/Catalog/Edit/Group.vue.d.ts +2 -0
  213. package/dist/apps/mf-menu/src/views/Catalog/Edit/MainSetting.vue.d.ts +2 -0
  214. package/dist/apps/mf-menu/src/views/Catalog/Edit/NamedSetting.vue.d.ts +5 -0
  215. package/dist/apps/mf-menu/src/views/Catalog/Edit/Product.vue.d.ts +2 -0
  216. package/dist/apps/mf-menu/src/views/Catalog/Edit/Setting.vue.d.ts +2 -0
  217. package/dist/apps/mf-menu/src/views/Catalog/Edit/Takeaway.vue.d.ts +2 -0
  218. package/dist/apps/mf-menu/src/views/Catalog/Edit/[id].vue.d.ts +2 -0
  219. package/dist/apps/mf-menu/src/views/CatalogBinding/CatalogBinding.vue.d.ts +2 -0
  220. package/dist/apps/mf-menu/src/views/Category/Category.vue.d.ts +2 -0
  221. package/dist/apps/mf-menu/src/views/CookingGuide/CookingGuide.vue.d.ts +2 -0
  222. package/dist/apps/mf-menu/src/views/Group/Group.vue.d.ts +2 -0
  223. package/dist/apps/mf-menu/src/views/ImportExport/ImportDiffPreview.vue.d.ts +25 -0
  224. package/dist/apps/mf-menu/src/views/ImportExport/ImportExport.vue.d.ts +9 -0
  225. package/dist/apps/mf-menu/src/views/ImportExport/ImportV3DiffPreview.vue.d.ts +26 -0
  226. package/dist/apps/mf-menu/src/views/ImportExport/PreviewImportTable.vue.d.ts +30 -0
  227. package/dist/apps/mf-menu/src/views/Ingredient/Ingredient.vue.d.ts +2 -0
  228. package/dist/apps/mf-menu/src/views/MenuManagementEditor/CategoryRenameDialog.vue.d.ts +26 -0
  229. package/dist/apps/mf-menu/src/views/MenuManagementEditor/DetailPane.vue.d.ts +23 -0
  230. package/dist/apps/mf-menu/src/views/MenuManagementEditor/EditorHistoryControls.vue.d.ts +22 -0
  231. package/dist/apps/mf-menu/src/views/MenuManagementEditor/MenuManagementEditor.vue.d.ts +10 -0
  232. package/dist/apps/mf-menu/src/views/MenuManagementEditor/RestaurantAttributesFilter.vue.d.ts +2 -0
  233. package/dist/apps/mf-menu/src/views/MenuManagementEditor/ScopeSwitcher.vue.d.ts +2 -0
  234. package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreeFilter.vue.d.ts +2 -0
  235. package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreePanel.vue.d.ts +9 -0
  236. package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreeRow.vue.d.ts +25 -0
  237. package/dist/apps/mf-menu/src/views/MenuSetting/MenuSetting.vue.d.ts +2 -0
  238. package/dist/apps/mf-menu/src/views/OrderPacing/OrderPacing.vue.d.ts +2 -0
  239. package/dist/apps/mf-menu/src/views/Preview/Preview.vue.d.ts +2 -0
  240. package/dist/apps/mf-menu/src/views/PrintRoute/PrintRoute.vue.d.ts +2 -0
  241. package/dist/apps/mf-menu/src/views/Product/ProductInternalTools.vue.d.ts +2 -0
  242. package/dist/apps/mf-menu/src/views/Product/Products.vue.d.ts +2 -0
  243. package/dist/apps/mf-menu/src/views/Publish/Publish.vue.d.ts +2 -0
  244. package/dist/apps/mf-menu/src/views/Recipe/Recipe.vue.d.ts +2 -0
  245. package/dist/apps/mf-menu/src/views/Scheduler/Scheduler.vue.d.ts +2 -0
  246. package/dist/apps/mf-menu/src/views/ServingSequence/ServingSequence.vue.d.ts +2 -0
  247. package/dist/apps/mf-menu/src/views/Subcategory/Subcategory.vue.d.ts +2 -0
  248. package/dist/apps/mf-menu/src/views/Takeaway/Takeaway.vue.d.ts +2 -0
  249. package/dist/apps/mf-menu/src/views/Unit/Unit.vue.d.ts +2 -0
  250. package/dist/apps/mf-menu/src/views/Variant/Variant.vue.d.ts +2 -0
  251. package/dist/apps/mf-menu/src/workers/menu-compute.d.ts +1 -0
  252. package/dist/apps/mf-menu/src/workers/validate-menu.d.ts +1 -0
  253. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -0
  254. package/dist/assets/menu-compute-okel5FLc.js +260 -0
  255. package/dist/assets/validate-menu-DEFGpnQh.js +130 -0
  256. package/dist/index.vue_vue_type_script_setup_true_lang-CGPDazqs.js +57 -0
  257. package/dist/mf-menu-portal.css +1 -0
  258. package/dist/provide-Tmjfji09.js +190840 -0
  259. package/dist/ruleValueKey-BF52PuHb.js +10 -0
  260. package/dist/tableSemantics-C9WFO_I_.js +22 -0
  261. package/dist/useActionFeedback-DoFeBFpl.js +95 -0
  262. package/dist/useEditorValidation-Ctef5Bxt.js +63 -0
  263. package/package.json +79 -3
@@ -0,0 +1,47 @@
1
+ import type { MenuBinding, ProductImageRef, ProductImageTarget } from '@feedmepos/menu-sdk';
2
+ /**
3
+ * The Manage-image side sheet: which formats this image has, and whether it
4
+ * is the product's cover.
5
+ *
6
+ * THE ONE THING THAT LOOKS LIKE A BUG AND IS NOT: there is no loading state
7
+ * for the format list. The sheet opens on the already-loaded image and a
8
+ * format whose status has not resolved yet renders unlabelled — which is
9
+ * also exactly what a failed status probe renders. That is legacy's
10
+ * behaviour (`ManageImageDrawer.vue:231-233`), it is what discovery froze,
11
+ * and adding a spinner here would be a difference nobody approved.
12
+ *
13
+ * THE SHEET IS A DRAFT BOUNDARY, and the SDK owns it. `manage()` returns a
14
+ * SESSION: the cover is staged and handed back only on Update, Cancel
15
+ * leaves the image untouched, and a no-op Update writes nothing at all
16
+ * (`ManageImageDrawer.vue:99-106`, `:585-592`). An added format waits for
17
+ * Update too. Ratio work is the asymmetric half — generate, replace,
18
+ * regenerate and remove reach media-service immediately and only their
19
+ * `imageSet` entry waits for Update — and that asymmetry is legacy's, not
20
+ * an accident here.
21
+ *
22
+ * Every control reaches an intent. The cover switch used to be re-emitted to
23
+ * a parent that did not listen, Add format opened nothing, the replace
24
+ * affordance was not rendered at all, and there was no Update — four write
25
+ * gestures that changed nothing.
26
+ *
27
+ * Two rules the sheet renders but does not own:
28
+ *
29
+ * - the cover switch is un-clearable on the last image (`canClearCover`) —
30
+ * the gallery must never be left without a cover to resolve a thumbnail
31
+ * from;
32
+ * - a row's remove appears only when this image carries that format itself
33
+ * (`canRemove`). The row set is the menu-wide union, so a format a sibling
34
+ * contributed is listed with nothing local to delete.
35
+ */
36
+ type __VLS_Props = {
37
+ sdk: MenuBinding;
38
+ /** Opaque product handle from `ItemEditorSession.images`. */
39
+ target: ProductImageTarget;
40
+ imageRef: ProductImageRef;
41
+ };
42
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
43
+ close: () => any;
44
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
45
+ onClose?: (() => any) | undefined;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ export default _default;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Regenerating one aspect ratio.
3
+ *
4
+ * Both inputs are optional and neither is validated: an empty instruction is
5
+ * a legitimate "just do it again", and the base choice defaults to the
6
+ * current image. The dialog therefore has nothing to refuse — it collects
7
+ * and emits, and the SDK owns what the request looks like.
8
+ *
9
+ * THE BASE CHOICE IS CONDITIONAL. Legacy withholds the whole radio group
10
+ * for a ratio that holds a custom image (`RegenerateImageDialog.vue:54-55`,
11
+ * gated on `canRegenerateFromOrigin`), because re-deriving such a ratio
12
+ * from the original silently discards the photo the merchant uploaded.
13
+ * Rendering it unconditionally was a derived capability fixed to a
14
+ * constant, and the frozen golden is the AI-derived frame, so it could not
15
+ * catch it.
16
+ *
17
+ * The primary action is labelled "Regenerate", not "Confirm": legacy passes
18
+ * `menu.product_image.regenerate.action` as the dialog's primary action
19
+ * (`ManageImageDrawer.vue:500`), and a driver that looked for Confirm here
20
+ * finds nothing — which is how the discovery probe first failed.
21
+ */
22
+ type __VLS_Props = {
23
+ ratioLabel: string;
24
+ /**
25
+ * Whether the base choice may be offered at all. An SDK answer, not a
26
+ * decision here: a ratio holding the merchant's own image must never be
27
+ * re-derived from the original.
28
+ */
29
+ canRegenerateFromOriginal: boolean;
30
+ };
31
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
32
+ close: () => any;
33
+ confirm: (value: {
34
+ instruction: string;
35
+ fromOriginal: boolean;
36
+ }) => any;
37
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
38
+ onClose?: (() => any) | undefined;
39
+ onConfirm?: ((value: {
40
+ instruction: string;
41
+ fromOriginal: boolean;
42
+ }) => any) | undefined;
43
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import type { ProductImageEditInput } from '@feedmepos/menu-sdk';
2
+ export interface RenderedImage {
3
+ blob: Blob;
4
+ width: number;
5
+ height: number;
6
+ fileName: string;
7
+ }
8
+ export declare function readImageDataUrl(blob: Blob): Promise<string>;
9
+ export declare function readStoredImage(url: string): Promise<File>;
10
+ export declare function toImageEditInput(value: RenderedImage | null): Promise<ProductImageEditInput | null>;
11
+ /** Pixel conversion shared by crop output and the external Remy result. */
12
+ export declare function encodeImageCanvas(initial: HTMLCanvasElement): Promise<{
13
+ blob: Blob;
14
+ width: number;
15
+ height: number;
16
+ } | null>;
17
+ export declare function decodeRemyImage(dataUrl: string): Promise<File>;
18
+ export declare function compressImageFile(file: File): Promise<RenderedImage | null>;
@@ -0,0 +1,18 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ catalogPage?: boolean;
5
+ };
6
+ declare var __VLS_4: {}, __VLS_73: {};
7
+ type __VLS_Slots = {} & {
8
+ 'prepend-heading'?: (props: typeof __VLS_4) => any;
9
+ } & {
10
+ navigation?: (props: typeof __VLS_73) => any;
11
+ };
12
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,14 @@
1
+ import type { PublishModule } from '@feedmepos/menu-sdk';
2
+ /**
3
+ * This page consumes a deliberately narrow, public publish facade. The shell
4
+ * can pass the complete SDK, while a test double still has to implement every
5
+ * intent and read model the page actually observes.
6
+ */
7
+ type PublishPageSdk = {
8
+ publish: Pick<PublishModule, 'restaurants' | 'progress' | 'search' | 'setRestaurantFilter' | 'selectAllRestaurants' | 'toggleRestaurantFilter' | 'setStatusFilter' | 'setSelectedRestaurants' | 'publishOne' | 'publish' | 'scheduleEditor' | 'cancelSchedule' | 'revert' | 'catalogMapping' | 'revertPreview' | 'scheduleDetails' | 'refresh'>;
9
+ };
10
+ type __VLS_Props = {
11
+ sdk: PublishPageSdk;
12
+ };
13
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ /**
3
+ * The Recipe list and sheet deliberately render the facade's published
4
+ * contract. Sorting, filtering, validation, graph warnings and request
5
+ * construction remain in `menu-sdk`.
6
+ */
7
+ type __VLS_Props = {
8
+ sdk: MenuSdk;
9
+ };
10
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ /** Render within a selected catalog editor rather than the standalone list. */
5
+ catalogPage?: boolean;
6
+ /** SDK-derived scope label supplied by the catalog route. */
7
+ heading?: string;
8
+ };
9
+ declare var __VLS_5: {}, __VLS_15: {}, __VLS_17: {};
10
+ type __VLS_Slots = {} & {
11
+ 'prepend-heading'?: (props: typeof __VLS_5) => any;
12
+ } & {
13
+ 'append-heading'?: (props: typeof __VLS_15) => any;
14
+ } & {
15
+ navigation?: (props: typeof __VLS_17) => any;
16
+ };
17
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
18
+ heading: string;
19
+ catalogPage: boolean;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,36 @@
1
+ import type { SubCategoryLocale } from '@feedmepos/menu-sdk';
2
+ interface Props {
3
+ modelValue: boolean;
4
+ name: string;
5
+ nameLocale: Readonly<Record<string, string>>;
6
+ supportedLocales: readonly SubCategoryLocale[];
7
+ dirty: boolean;
8
+ /**
9
+ * The sheet's heading and its name-section label, already localised by the
10
+ * host.
11
+ *
12
+ * Legacy's shared sheet takes the entity name as a `title` prop and composes
13
+ * both strings from it (`portal .../TranslationSideSheet.vue:154,169`), so a
14
+ * second host cannot reuse this component without them. They are optional
15
+ * only so subCategory — the first host, ported before there was a second —
16
+ * keeps rendering the exact strings its frozen golden pictures.
17
+ */
18
+ title?: string;
19
+ nameSectionLabel?: string;
20
+ /** Optional stacking layer for sheets nested above a host side sheet. */
21
+ zIndex?: number;
22
+ }
23
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
24
+ "update:modelValue": (value: boolean) => any;
25
+ save: () => any;
26
+ "update:name": (value: string) => any;
27
+ "update:nameLocale": (value: Readonly<Record<string, string>>) => any;
28
+ discard: () => any;
29
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
30
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
31
+ onSave?: (() => any) | undefined;
32
+ "onUpdate:name"?: ((value: string) => any) | undefined;
33
+ "onUpdate:nameLocale"?: ((value: Readonly<Record<string, string>>) => any) | undefined;
34
+ onDiscard?: (() => any) | undefined;
35
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ cancel: () => any;
7
+ submit: () => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onCancel?: (() => any) | undefined;
10
+ onSubmit?: (() => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { MenuSdk } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { CatalogEditorSession, MenuSdk, ProductPickerView, ReadModel } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuSdk;
4
+ editor: CatalogEditorSession;
5
+ picker: ReadModel<ProductPickerView>;
6
+ /** Catalog edit routes render this editor as a page; list actions keep the side sheet. */
7
+ page?: boolean;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
+ close: () => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onClose?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { MenuBinding } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ sdk: MenuBinding;
4
+ presentation?: 'page' | 'tree';
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { CatalogRow } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ catalog: CatalogRow;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { ObjectDirective } from 'vue';
2
+ /**
3
+ * FmTable renders the native table internally but does not forward an
4
+ * accessible name to it. Catalog-edit replay targets the same column-title
5
+ * name that legacy exposed, so keep that semantic contract at the page edge.
6
+ */
7
+ export declare const vTableName: ObjectDirective<HTMLElement, string>;
@@ -0,0 +1,33 @@
1
+ import type { ProductPickerGroup } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ /** The section title. Legacy passes it in and renders NO sub-title here. */
4
+ title: string;
5
+ /** Applied products grouped by category, search already applied. */
6
+ groups: readonly ProductPickerGroup[];
7
+ /** The SDK's count for the "{count} product(s) applied" line. */
8
+ appliedCount: number;
9
+ /** The search string, owned by the SDK session. */
10
+ query: string;
11
+ /** Variant's editor displays references only; it cannot unlink them. */
12
+ readOnly?: boolean;
13
+ /** Variant's legacy read-only embed has no count label. */
14
+ showCount?: boolean;
15
+ };
16
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ "update:query": (value: string) => any;
18
+ unapply: (productId: string) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ "onUpdate:query"?: ((value: string) => any) | undefined;
21
+ onUnapply?: ((productId: string) => any) | undefined;
22
+ }>, {
23
+ readOnly: boolean;
24
+ showCount: boolean;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
26
+ 'append-title'?: ((props: {}) => any) | undefined;
27
+ }>;
28
+ export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,6 @@
1
+ import type { CookingGuideRow } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ row: CookingGuideRow;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default } from './index.vue';
@@ -0,0 +1,18 @@
1
+ interface Props {
2
+ title: string;
3
+ subtitle: string;
4
+ action?: {
5
+ text: string;
6
+ icon?: string;
7
+ callback: () => void;
8
+ };
9
+ }
10
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
11
+ action?: ((props: {}) => any) | undefined;
12
+ }>;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,49 @@
1
+ import type { SkuBindingCandidate } from '@feedmepos/menu-sdk';
2
+ type PickerCandidate = SkuBindingCandidate & {
3
+ readonly detail?: string;
4
+ };
5
+ /**
6
+ * The convert-binding link picker.
7
+ *
8
+ * Reproduces the legacy dialog (`portal .../components/feature/Picker.vue`,
9
+ * opened from `InventoryBinding.vue:359-411`): a search field, a select-all
10
+ * that acts on the visible set only, and a checkbox per candidate. Confirm
11
+ * replaces this kind's bindings wholesale, which is what legacy's `onPrimary`
12
+ * does.
13
+ *
14
+ * The candidate list is handed in fully derived. Cycle exclusion is a business
15
+ * rule the SDK owns, and so is the SEARCH: which candidates survive the query
16
+ * is `filterSkuBindingCandidates` in `menu-sdk`, not a predicate here. This
17
+ * component forwards the query and renders what the next publish carries; it
18
+ * never sees the inventory graph and never decides membership.
19
+ */
20
+ type __VLS_Props = {
21
+ modelValue: boolean;
22
+ /**
23
+ * Cycle-filtered AND query-filtered by the SDK; this component adds no rule.
24
+ */
25
+ candidates: readonly PickerCandidate[];
26
+ /** The SDK's published search text — the field renders this, not a copy. */
27
+ query: string;
28
+ title: string;
29
+ /** Keep the inventory picker above a parent side-sheet stack. */
30
+ zIndex?: number;
31
+ /** The inventory portal shows this count while selecting bindings. */
32
+ showSelectionCount?: boolean;
33
+ selectionCountFormat?: (count: number) => string;
34
+ /** Render the portal's empty-state copy when the catalogue has no matches. */
35
+ emptyLabel?: string;
36
+ /** Use the inventory portal's picker layout and footer wording. */
37
+ inventoryMode?: boolean;
38
+ closeLabel?: string;
39
+ };
40
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
41
+ submit: (ids: readonly string[]) => any;
42
+ "update:modelValue": (value: boolean) => any;
43
+ "update:query": (value: string) => any;
44
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
45
+ onSubmit?: ((ids: readonly string[]) => any) | undefined;
46
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
47
+ "onUpdate:query"?: ((value: string) => any) | undefined;
48
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
49
+ export default _default;
@@ -0,0 +1,38 @@
1
+ import type { SkuBindingKind, SkuBindingRow } from '@feedmepos/menu-sdk';
2
+ /**
3
+ * One convert-binding table — the recipe half or the ingredient half.
4
+ *
5
+ * Ports `portal .../components/feature/InventoryManager/InventoryBinding.vue`
6
+ * for this module's use. Two differences from legacy, both approved:
7
+ *
8
+ * - **The cycle warning renders on BOTH tables.** Legacy puts the warning icon
9
+ * and its `loop_warning` tooltip inside `ingredientColumnDefs` only
10
+ * (`:147-163`); `recipeColumnDefs` (`:89-130`) has no such branch, so a
11
+ * cyclic RECIPE binding shows nothing at all. Closing that asymmetry was
12
+ * approved, and `cycleWarning` is published per row by the SDK for exactly
13
+ * this.
14
+ * - The candidate list the link dialog offers comes from the SDK's corrected
15
+ * cycle computation.
16
+ *
17
+ * This component derives nothing: every value it renders — the row's name, its
18
+ * decimals, its unit options, its warning flag — is published by the facade.
19
+ */
20
+ type __VLS_Props = {
21
+ kind: SkuBindingKind;
22
+ rows: readonly SkuBindingRow[];
23
+ disabled?: boolean;
24
+ /** Recipe's legacy ingredient table exposes an intentionally inert deduct control. */
25
+ showInertDeduct?: boolean;
26
+ };
27
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
28
+ link: () => any;
29
+ remove: (id: string) => any;
30
+ "update-amount": (id: string, amount: string) => any;
31
+ "update-measurement": (id: string, measurementId: string | null) => any;
32
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
33
+ onLink?: (() => any) | undefined;
34
+ onRemove?: ((id: string) => any) | undefined;
35
+ "onUpdate-amount"?: ((id: string, amount: string) => any) | undefined;
36
+ "onUpdate-measurement"?: ((id: string, measurementId: string | null) => any) | undefined;
37
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ export default _default;
@@ -0,0 +1,65 @@
1
+ import type { LinkProductRulesSession, LinkProductSelectionSession, LinkProductRulesView, ProductPickerView, TakeawayProductLink } from '@feedmepos/menu-sdk';
2
+ /**
3
+ * Shared "apply products" chooser.
4
+ *
5
+ * Ported once and reused, per ADR-0003 §1: the legacy inventory records this
6
+ * surface in eight hosts, and re-implementing it per page is a review-gate
7
+ * rejection item. The selection widget itself is `ItemSelector` from
8
+ * `@feedmepos/mf-common` — a library component, so it is not re-built here.
9
+ *
10
+ * Rules mode is enabled only for the main catalog host. It uses the same
11
+ * sheet and an SDK-owned draft session, so the host only forwards scope and
12
+ * submit intent.
13
+ */
14
+ /**
15
+ * The SDK's own link type, imported rather than restated. A hand-copied
16
+ * duplicate compiled fine under structural typing and was still contract drift
17
+ * of exactly the kind the public entry point exists to prevent.
18
+ */
19
+ type ProductLink = TakeawayProductLink;
20
+ type __VLS_Props = {
21
+ modelValue: boolean;
22
+ /** The SDK's catalogue view; this component owns no derivation of its own. */
23
+ catalogue: ProductPickerView | null;
24
+ /** Complete current selection — linking is exhaustive, so this is the set. */
25
+ selectedProductIds?: readonly string[];
26
+ /**
27
+ * Selection at variant-COMBINATION granularity, used instead of
28
+ * `selectedProductIds` when `selectVariant` is on.
29
+ */
30
+ selectedProducts?: readonly ProductLink[];
31
+ /**
32
+ * Opt in to legacy's `bindToVariant` mode: variant-bearing products gain an
33
+ * expander and their combinations become individually selectable.
34
+ *
35
+ * Off by default so the other host of this component — `printDepartment`,
36
+ * the only other one today — is untouched. `takeaway` turns it on from the
37
+ * SDK's `linkVariantCombinations` capability, because legacy derives it from
38
+ * the menu version, and because leaving it off is what let a partial
39
+ * combination link be silently widened to the whole product.
40
+ */
41
+ selectVariant?: boolean;
42
+ title?: string;
43
+ rulesSession?: LinkProductRulesSession | null;
44
+ rulesView?: LinkProductRulesView | null;
45
+ selectionSession?: LinkProductSelectionSession | null;
46
+ };
47
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
48
+ submit: (productIds: readonly string[]) => any;
49
+ "update:modelValue": (value: boolean) => any;
50
+ submitLinks: (links: readonly TakeawayProductLink[]) => any;
51
+ "submit-rules": () => any;
52
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
53
+ onSubmit?: ((productIds: readonly string[]) => any) | undefined;
54
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
55
+ onSubmitLinks?: ((links: readonly TakeawayProductLink[]) => any) | undefined;
56
+ "onSubmit-rules"?: (() => any) | undefined;
57
+ }>, {
58
+ selectedProductIds: readonly string[];
59
+ selectedProducts: readonly TakeawayProductLink[];
60
+ selectVariant: boolean;
61
+ rulesSession: LinkProductRulesSession | null;
62
+ rulesView: LinkProductRulesView | null;
63
+ selectionSession: LinkProductSelectionSession | null;
64
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
65
+ export default _default;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ name: string;
3
+ linkedProductNames: readonly string[];
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { OrderPacingEditorView, OrderPacingEditorSession } from '@feedmepos/menu-sdk';
2
+ import type { EditorValidation } from '@/composable/useEditorValidation';
3
+ type __VLS_Props = {
4
+ view: OrderPacingEditorView | null;
5
+ session: OrderPacingEditorSession;
6
+ /** The owning editor's visibility layer; it also owns `submit()`. */
7
+ validation: EditorValidation;
8
+ };
9
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
10
+ 'name-append'?: ((props: {}) => any) | undefined;
11
+ }>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,6 @@
1
+ import type { PrintDepartmentRow } from '@feedmepos/menu-sdk';
2
+ type __VLS_Props = {
3
+ row: PrintDepartmentRow;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,18 @@
1
+ type __VLS_Props = {
2
+ canOpen: boolean;
3
+ listenForMessage?: boolean;
4
+ };
5
+ declare function trigger(): void;
6
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ listenForMessage: boolean;
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
9
+ default?: ((props: {
10
+ trigger: typeof trigger;
11
+ }) => any) | undefined;
12
+ }>;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The legacy editor is opened by a window message rather than by a route, and
3
+ * other micro-frontends post it (`portal .../TreeEditor/openner.ts`). The event
4
+ * name is part of that contract, so it is ported verbatim.
5
+ */
6
+ export declare const TREE_EDITOR_OPEN_EVENT = "treeEditorOpen";
7
+ export declare const openTreeEditor: () => void;
@@ -0,0 +1,13 @@
1
+ export type TextChipVariant = 'neutral' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
2
+ interface Props {
3
+ label: string;
4
+ variant: TextChipVariant;
5
+ border?: boolean;
6
+ bold?: boolean;
7
+ size?: 'xs' | 'sm' | 'md';
8
+ }
9
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
10
+ size: "md" | "sm" | "xs";
11
+ bold: boolean;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;