@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,98 @@
1
+ import { defineComponent as b, resolveComponent as d, openBlock as a, createElementBlock as r, createVNode as s, withCtx as p, createElementVNode as g, toDisplayString as C, unref as m, createCommentVNode as v, renderSlot as w, Fragment as S, renderList as k, h as u, withModifiers as F } from "vue";
2
+ import { useI18n as B } from "@feedmepos/mf-common";
3
+ import { components as q } from "@feedmepos/ui-library";
4
+ import { _ as x } from "./FormSection.vue_vue_type_script_setup_true_lang-pY-_msnM.js";
5
+ const V = { class: "space-y-16" }, N = { class: "flex items-center space-x-24" }, z = {
6
+ key: 0,
7
+ class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary"
8
+ }, $ = /* @__PURE__ */ b({
9
+ __name: "ApplyProduct",
10
+ props: {
11
+ title: {},
12
+ groups: {},
13
+ appliedCount: {},
14
+ query: {},
15
+ readOnly: { type: Boolean, default: !1 },
16
+ showCount: { type: Boolean, default: !0 }
17
+ },
18
+ emits: ["update:query", "unapply"],
19
+ setup(f, { emit: y }) {
20
+ const i = f, c = y, { t: n } = B();
21
+ function h(e) {
22
+ const t = [
23
+ {
24
+ accessorKey: "label",
25
+ enableSorting: !1,
26
+ // The header carries the category's own count, which is the group's
27
+ // size and not the sheet's total (`ApplyProduct.vue:72-79`).
28
+ header: () => n("menu.apply_product.table.category_count", {
29
+ name: e.isSynthetic ? n("menu.tree_editor.labels.addon") : e.name,
30
+ count: e.products.length
31
+ }),
32
+ // `label`, not `name`: this surface renders the code-and-name join
33
+ // legacy builds as `codeName` (`portal helper/menu.ts:261`), which the
34
+ // SDK already carries on the picker product.
35
+ cell: (l) => l.row.original.label
36
+ }
37
+ ];
38
+ return i.readOnly || t.push({
39
+ id: "actions",
40
+ enableSorting: !1,
41
+ header: "",
42
+ // `cellClass: ''` for the reason the linked-product table needs it:
43
+ // `FmTable` falls back to `px-16` per cell, and under
44
+ // `table-layout: auto` that padding on an action column is taken from
45
+ // the label column beside it rather than shrinking this one.
46
+ meta: { cellClass: "" },
47
+ cell: (l) => u("div", { class: "flex justify-end" }, [
48
+ u(q.FmButton, {
49
+ prependIcon: "delete",
50
+ variant: "tertiary",
51
+ textColor: "neutral-gray-400",
52
+ "aria-label": n("menu.common.actions.remove"),
53
+ onClick: F(
54
+ () => c("unapply", l.row.original.id),
55
+ ["stop", "prevent"]
56
+ )
57
+ })
58
+ ])
59
+ }), t;
60
+ }
61
+ return (e, t) => {
62
+ const l = d("FmSearch"), _ = d("FmTable");
63
+ return a(), r("div", V, [
64
+ s(x, { title: e.title }, {
65
+ "append-title": p(() => [
66
+ w(e.$slots, "append-title")
67
+ ]),
68
+ default: p(() => [
69
+ g("div", N, [
70
+ e.showCount ? (a(), r("p", z, C(m(n)("menu.common.labels.product_count", { count: e.appliedCount })), 1)) : v("", !0),
71
+ s(l, {
72
+ class: "flex-1",
73
+ "model-value": e.query,
74
+ placeholder: m(n)("menu.common.labels.search_product"),
75
+ "onUpdate:modelValue": t[0] || (t[0] = (o) => c("update:query", String(o ?? "")))
76
+ }, null, 8, ["model-value", "placeholder"])
77
+ ])
78
+ ]),
79
+ _: 3
80
+ }, 8, ["title"]),
81
+ (a(!0), r(S, null, k(i.groups, (o) => (a(), r("div", {
82
+ key: o.id ?? ""
83
+ }, [
84
+ s(_, {
85
+ "column-defs": h(o),
86
+ "hide-footer": "",
87
+ "page-size": o.products.length,
88
+ "row-data": [...o.products],
89
+ "shrink-at": !1
90
+ }, null, 8, ["column-defs", "page-size", "row-data"])
91
+ ]))), 128))
92
+ ]);
93
+ };
94
+ }
95
+ });
96
+ export {
97
+ $ as _
98
+ };
@@ -0,0 +1,180 @@
1
+ import { defineComponent as T, ref as j, watch as A, computed as L, resolveComponent as i, openBlock as a, createBlock as g, withCtx as r, createElementBlock as d, normalizeClass as S, createElementVNode as p, createVNode as s, toDisplayString as b, unref as v, Fragment as B, renderList as z, withModifiers as G, createCommentVNode as F } from "vue";
2
+ import { useI18n as H } from "@feedmepos/mf-common";
3
+ const J = { class: "fm-typo-en-title-sm-600" }, K = { class: "sticky top-0 bg-white z-50" }, O = { class: "flex justify-between items-center" }, P = { class: "flex gap-16 basis-1/2" }, Q = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, R = {
4
+ key: 1,
5
+ class: "p-16 text-fm-color-typo-disabled fm-typo-en-body-lg-400 text-center"
6
+ }, W = {
7
+ key: 1,
8
+ class: "flex flex-col gap-8 max-h-[60vh] min-h-0"
9
+ }, X = {
10
+ key: 0,
11
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
12
+ }, Y = { class: "flex-1 overflow-y-auto min-h-0" }, Z = {
13
+ key: 0,
14
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary py-16"
15
+ }, oe = /* @__PURE__ */ T({
16
+ __name: "BindingLinkDialog",
17
+ props: {
18
+ modelValue: { type: Boolean },
19
+ candidates: {},
20
+ query: {},
21
+ title: {},
22
+ zIndex: {},
23
+ showSelectionCount: { type: Boolean },
24
+ selectionCountFormat: { type: Function },
25
+ emptyLabel: {},
26
+ inventoryMode: { type: Boolean },
27
+ closeLabel: {}
28
+ },
29
+ emits: ["update:modelValue", "update:query", "submit"],
30
+ setup(I, { emit: U }) {
31
+ const e = I, c = U, { t: m } = H(), t = j([]);
32
+ A(
33
+ () => e.modelValue,
34
+ (n) => {
35
+ n && (t.value = e.candidates.filter((l) => l.selected).map((l) => l.id));
36
+ },
37
+ { immediate: !0 }
38
+ );
39
+ const y = L(
40
+ () => e.candidates.length > 0 && e.candidates.every(
41
+ (n) => t.value.includes(n.id)
42
+ )
43
+ );
44
+ function h(n) {
45
+ const l = e.candidates.map((u) => u.id);
46
+ t.value = n ? [.../* @__PURE__ */ new Set([...t.value, ...l])] : t.value.filter((u) => !l.includes(u));
47
+ }
48
+ function k(n, l) {
49
+ const u = l ?? !t.value.includes(n);
50
+ t.value = u ? [.../* @__PURE__ */ new Set([...t.value, n])] : t.value.filter((x) => x !== n);
51
+ }
52
+ function q() {
53
+ c("submit", [...t.value]), c("update:modelValue", !1);
54
+ }
55
+ const C = L(
56
+ () => {
57
+ var n;
58
+ return ((n = e.selectionCountFormat) == null ? void 0 : n.call(e, t.value.length)) ?? m("menu.inventory.binding.picker.selection_count", t.value.length);
59
+ }
60
+ );
61
+ return (n, l) => {
62
+ const u = i("FmIcon"), x = i("FmTextField"), f = i("FmCheckbox"), V = i("FmListItem"), D = i("FmList"), M = i("FmSearch"), N = i("FmDivider"), $ = i("FmSpacer"), w = i("FmButton"), E = i("FmDialog");
63
+ return a(), g(E, {
64
+ "model-value": e.modelValue,
65
+ overlay: !0,
66
+ "z-index": e.zIndex,
67
+ "min-width": "min(calc(100% - 48px), 560px)",
68
+ "onUpdate:modelValue": l[7] || (l[7] = (o) => c("update:modelValue", o))
69
+ }, {
70
+ "dialog-header": r(() => [
71
+ p("div", J, b(e.title), 1)
72
+ ]),
73
+ "dialog-footer": r(() => [
74
+ s($),
75
+ s(w, {
76
+ label: e.inventoryMode ? e.closeLabel : v(m)("menu.common.actions.cancel"),
77
+ size: "md",
78
+ variant: "tertiary",
79
+ onClick: l[6] || (l[6] = (o) => c("update:modelValue", !1))
80
+ }, null, 8, ["label"]),
81
+ s(w, {
82
+ label: v(m)("menu.common.actions.confirm"),
83
+ size: "md",
84
+ variant: "primary",
85
+ onClick: q
86
+ }, null, 8, ["label"])
87
+ ]),
88
+ default: r(() => [
89
+ e.inventoryMode ? (a(), d("div", {
90
+ key: 0,
91
+ class: S(["relative max-h-[380px] overflow-y-auto overflow-x-hidden", e.candidates.length > 0 && "pb-[2px]"])
92
+ }, [
93
+ p("div", K, [
94
+ p("div", O, [
95
+ p("div", P, [
96
+ s(u, { name: "autorenew" }),
97
+ p("span", Q, b(C.value), 1)
98
+ ]),
99
+ s(x, {
100
+ autofocus: "",
101
+ class: "basis-1/2",
102
+ "model-value": e.query,
103
+ placeholder: "",
104
+ "prepend-icon": "search",
105
+ "onUpdate:modelValue": l[0] || (l[0] = (o) => c("update:query", String(o ?? "")))
106
+ }, null, 8, ["model-value"])
107
+ ])
108
+ ]),
109
+ e.candidates.length ? (a(), g(D, { key: 0 }, {
110
+ default: r(() => [
111
+ s(V, {
112
+ onClick: l[1] || (l[1] = (o) => h(!y.value))
113
+ }, {
114
+ prepend: r(() => [
115
+ s(f, {
116
+ label: y.value ? v(m)("menu.inventory.binding.picker.remove_all") : v(m)("menu.common.actions.select_all"),
117
+ "model-value": y.value,
118
+ indeterminate: t.value.length > 0 && !y.value,
119
+ value: ""
120
+ }, null, 8, ["label", "model-value", "indeterminate"])
121
+ ]),
122
+ _: 1
123
+ }),
124
+ (a(!0), d(B, null, z(e.candidates, (o) => (a(), g(V, {
125
+ key: o.id,
126
+ label: o.name,
127
+ sublabel: o.detail,
128
+ class: S(t.value.includes(o.id) && "bg-fm-color-opacity-sm"),
129
+ onClick: (_) => k(o.id)
130
+ }, {
131
+ prepend: r(() => [
132
+ s(f, {
133
+ "model-value": t.value.includes(o.id),
134
+ value: o.id,
135
+ onClick: l[2] || (l[2] = G(() => {
136
+ }, ["stop"])),
137
+ "onUpdate:modelValue": (_) => k(o.id, !!_)
138
+ }, null, 8, ["model-value", "value", "onUpdate:modelValue"])
139
+ ]),
140
+ _: 2
141
+ }, 1032, ["label", "sublabel", "class", "onClick"]))), 128))
142
+ ]),
143
+ _: 1
144
+ })) : e.emptyLabel ? (a(), d("p", R, b(e.emptyLabel), 1)) : F("", !0)
145
+ ], 2)) : (a(), d("div", W, [
146
+ s(M, {
147
+ autofocus: "",
148
+ "model-value": e.query,
149
+ placeholder: v(m)("menu.common.actions.search"),
150
+ "onUpdate:modelValue": l[3] || (l[3] = (o) => c("update:query", String(o ?? "")))
151
+ }, null, 8, ["model-value", "placeholder"]),
152
+ e.showSelectionCount ? (a(), d("p", X, b(C.value), 1)) : F("", !0),
153
+ s(f, {
154
+ label: v(m)("menu.common.actions.select_all"),
155
+ "model-value": y.value,
156
+ value: "",
157
+ "onUpdate:modelValue": l[4] || (l[4] = (o) => h(!!o))
158
+ }, null, 8, ["label", "model-value"]),
159
+ s(N),
160
+ p("div", Y, [
161
+ (a(!0), d(B, null, z(e.candidates, (o) => (a(), g(f, {
162
+ key: o.id,
163
+ class: "py-4",
164
+ label: o.name,
165
+ "model-value": t.value,
166
+ value: o.id,
167
+ "onUpdate:modelValue": l[5] || (l[5] = (_) => t.value = _ ?? [])
168
+ }, null, 8, ["label", "model-value", "value"]))), 128)),
169
+ e.candidates.length === 0 && e.emptyLabel ? (a(), d("p", Z, b(e.emptyLabel), 1)) : F("", !0)
170
+ ])
171
+ ]))
172
+ ]),
173
+ _: 1
174
+ }, 8, ["model-value", "z-index"]);
175
+ };
176
+ }
177
+ });
178
+ export {
179
+ oe as _
180
+ };
@@ -0,0 +1,179 @@
1
+ import { defineComponent as w, computed as c, h as a, resolveComponent as y, openBlock as T, createElementBlock as z, createElementVNode as M, toDisplayString as V, createVNode as f, unref as p, withDirectives as D } from "vue";
2
+ import { useI18n as A } from "@feedmepos/mf-common";
3
+ import { components as l, FmButtonVariant as g, FmButtonColorThemeVariant as _ } from "@feedmepos/ui-library";
4
+ import { b as N } from "./provide-Tmjfji09.js";
5
+ const K = { class: "space-y-8" }, q = { class: "fm-typo-en-title-sm-600" }, j = /* @__PURE__ */ w({
6
+ __name: "BindingTable",
7
+ props: {
8
+ kind: {},
9
+ rows: {},
10
+ disabled: { type: Boolean },
11
+ showInertDeduct: { type: Boolean }
12
+ },
13
+ emits: ["link", "update-amount", "update-measurement", "remove"],
14
+ setup(h, { emit: k }) {
15
+ const s = h, d = k, { t: n } = A(), I = N(), x = {
16
+ mounted: (e, t) => {
17
+ var i;
18
+ return (i = e.querySelector("input")) == null ? void 0 : i.setAttribute("aria-label", t.value);
19
+ },
20
+ updated: (e, t) => {
21
+ var i;
22
+ return (i = e.querySelector("input")) == null ? void 0 : i.setAttribute("aria-label", t.value);
23
+ }
24
+ }, r = c(() => s.kind === "recipe"), F = c(
25
+ () => r.value ? n("menu.inventory.binding.recipe.title") : n("menu.inventory.binding.ingredient.title")
26
+ ), b = c(() => [...s.rows]), v = (e) => e.name ?? n("menu.inventory.binding.missing_reference");
27
+ function C(e) {
28
+ return a("div", { class: "flex items-center space-x-4" }, [
29
+ a("p", {}, v(e)),
30
+ e.cycleWarning ? a(
31
+ l.FmTooltip,
32
+ {
33
+ variant: "plain",
34
+ // The lowercase noun is a LOCALE decision and both forms already
35
+ // exist as keys, so it is interpolated rather than produced by
36
+ // `.toLowerCase()` on a translated label -- a transform the
37
+ // translator can neither see nor override.
38
+ content: n("menu.inventory.binding.ingredient.loop_warning", {
39
+ type: r.value ? n("menu.inventory.binding.link.recipe") : n("menu.inventory.binding.link.ingredient")
40
+ }),
41
+ zIndex: 105
42
+ },
43
+ () => a(l.FmIcon, {
44
+ name: "warning",
45
+ color: _.SystemWarning300,
46
+ size: "sm"
47
+ })
48
+ ) : void 0
49
+ ]);
50
+ }
51
+ function B(e) {
52
+ return D(
53
+ a("div", [
54
+ a(l.FmTextField, {
55
+ inputmode: "numeric",
56
+ type: "number",
57
+ decimal: e.decimals,
58
+ // Bounds come from the row the SDK published, never restated here:
59
+ // they are a business constraint the facade validates, and a second
60
+ // copy in this component is what let the field and validator
61
+ // disagree.
62
+ min: e.minAmount,
63
+ max: e.maxAmount,
64
+ modelValue: e.amount,
65
+ errorMessages: e.amountIssue ? [I(e.amountIssue)] : [],
66
+ "onUpdate:model-value": (t) => d("update-amount", e.id, String(t ?? ""))
67
+ })
68
+ ]),
69
+ [
70
+ [
71
+ x,
72
+ r.value ? n("menu.inventory.binding.recipe.amount_input", {
73
+ name: v(e)
74
+ }) : n("menu.inventory.binding.ingredient.amount_input", {
75
+ name: v(e)
76
+ })
77
+ ]
78
+ ]
79
+ );
80
+ }
81
+ const S = c(() => {
82
+ const e = {
83
+ accessorKey: "name",
84
+ header: () => r.value ? n("menu.inventory.binding.recipe.columns.name") : n("menu.inventory.binding.ingredient.columns.name"),
85
+ enableSorting: !1,
86
+ cell: (o) => C(o.row.original)
87
+ }, t = {
88
+ accessorKey: "amount",
89
+ header: () => r.value ? n("menu.inventory.binding.recipe.columns.amount") : n("menu.inventory.binding.ingredient.columns.amount"),
90
+ enableSorting: !1,
91
+ size: 120,
92
+ cell: (o) => B(o.row.original)
93
+ };
94
+ if (r.value) return [e, t];
95
+ const i = [e];
96
+ return s.showInertDeduct && i.push({
97
+ id: "deduct",
98
+ size: 52,
99
+ header: "",
100
+ cell: () => a(l.FmButton, {
101
+ prependIcon: "remove",
102
+ variant: g.Tertiary,
103
+ "aria-label": n("menu.inventory.binding.ingredient.deduct"),
104
+ // Recipe's legacy host omits allowRefund, so the control visibly
105
+ // exists but deliberately makes no state or request change.
106
+ onClick: () => {
107
+ }
108
+ })
109
+ }), i.push(
110
+ t,
111
+ {
112
+ accessorKey: "selectedMeasurementId",
113
+ header: () => n("menu.inventory.binding.ingredient.columns.unit"),
114
+ enableSorting: !1,
115
+ size: 130,
116
+ cell: (o) => {
117
+ const m = o.row.original;
118
+ return m.unitOptions.length === 0 ? null : a(l.FmSelect, {
119
+ items: m.unitOptions.map(
120
+ (u) => ({
121
+ label: n("menu.sku.unit_option", {
122
+ name: u.name,
123
+ symbol: u.symbol
124
+ }),
125
+ value: u.measurementId
126
+ })
127
+ ),
128
+ modelValue: m.selectedMeasurementId,
129
+ placeholder: n("menu.inventory.binding.ingredient.select_unit"),
130
+ shiftMenu: !0,
131
+ menuZIndex: 105,
132
+ "onUpdate:model-value": (u) => d("update-measurement", m.id, u)
133
+ });
134
+ }
135
+ },
136
+ {
137
+ id: "action",
138
+ size: 40,
139
+ header: "",
140
+ cell: (o) => a(
141
+ "div",
142
+ { class: "w-full flex align-center justify-end" },
143
+ a(l.FmButton, {
144
+ prependIcon: "delete",
145
+ variant: g.Tertiary,
146
+ disabled: o.row.original.remove.state !== "allowed",
147
+ "aria-label": n("menu.common.actions.delete"),
148
+ onClick: () => d("remove", o.row.original.id)
149
+ })
150
+ )
151
+ }
152
+ ), i;
153
+ });
154
+ return (e, t) => {
155
+ const i = y("FmButton"), o = y("FmTable");
156
+ return T(), z("div", K, [
157
+ M("p", q, V(F.value), 1),
158
+ f(i, {
159
+ disabled: s.disabled,
160
+ label: r.value ? p(n)("menu.inventory.binding.link.recipe_action") : p(n)("menu.inventory.binding.link.ingredient_action"),
161
+ "text-color": p(_).ColorPrimary,
162
+ variant: p(g).Tertiary,
163
+ "prepend-icon": "link",
164
+ onClick: t[0] || (t[0] = (m) => d("link"))
165
+ }, null, 8, ["disabled", "label", "text-color", "variant"]),
166
+ f(o, {
167
+ "column-defs": S.value,
168
+ "hide-footer": "",
169
+ "page-size": Math.max(b.value.length, 1),
170
+ "row-data": b.value,
171
+ "shrink-at": !1
172
+ }, null, 8, ["column-defs", "page-size", "row-data"])
173
+ ]);
174
+ };
175
+ }
176
+ });
177
+ export {
178
+ j as _
179
+ };