@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.
- package/README.md +30 -2
- package/dist/AddPriceGroupDialog.vue_vue_type_script_setup_true_lang-DhKyG3gY.js +20 -0
- package/dist/App-C6k--u1c.js +8316 -0
- package/dist/ApplyProduct.vue_vue_type_script_setup_true_lang-C9OSr8ft.js +98 -0
- package/dist/BindingLinkDialog.vue_vue_type_script_setup_true_lang-BZVQRyRI.js +180 -0
- package/dist/BindingTable.vue_vue_type_script_setup_true_lang-DBzjWI_6.js +179 -0
- package/dist/Catalog-DEYN4dMN.js +374 -0
- package/dist/CatalogBinding-NnPKdPvx.js +315 -0
- package/dist/CatalogEditTabs.vue_vue_type_script_setup_true_lang-OshqaPTE.js +97 -0
- package/dist/CatalogEditor.vue_vue_type_script_setup_true_lang-poznuDXu.js +447 -0
- package/dist/CatalogLinkProductAction.vue_vue_type_script_setup_true_lang-BSMAIkQ2.js +117 -0
- package/dist/Category-BdUP0o34.js +13 -0
- package/dist/Category-CkQiwP9e.js +52 -0
- package/dist/CategoryList.vue_vue_type_script_setup_true_lang-UgNVpYgp.js +797 -0
- package/dist/CookingGuide-CtDkm74r.js +842 -0
- package/dist/FormItem.vue_vue_type_script_setup_true_lang-C2S6QCyR.js +26 -0
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-pY-_msnM.js +1774 -0
- package/dist/Group-D2HngOjr.js +52 -0
- package/dist/Group-DSj7_16V.js +13 -0
- package/dist/GroupList.vue_vue_type_script_setup_true_lang-BmmsSKTt.js +2183 -0
- package/dist/Ingredient-BHqz7kjQ.js +463 -0
- package/dist/LinkProductSideSheet.vue_vue_type_script_setup_true_lang-D9jK-Fhn.js +709 -0
- package/dist/ListCountTag.vue_vue_type_script_setup_true_lang-0bjk8Aly.js +15 -0
- package/dist/MenuSetting-DF-cJH7N.js +1228 -0
- package/dist/OrderPacing-CejS9dEI.js +698 -0
- package/dist/OrderPacingFields.vue_vue_type_script_setup_true_lang-C2mixGUk.js +55 -0
- package/dist/PageLayout.vue_vue_type_script_setup_true_lang-B3szUH39.js +41 -0
- package/dist/Preview-1C7jGJuY.js +327 -0
- package/dist/PriceTierNotice.vue_vue_type_script_setup_true_lang-CxKHCptJ.js +26 -0
- package/dist/PrintRoute-BNnMcgTf.js +473 -0
- package/dist/Product-BoUKxogB.js +44 -0
- package/dist/ProductChipSummary.vue_vue_type_script_setup_true_lang-D8DygCBl.js +110 -0
- package/dist/ProductEditorHost.vue_vue_type_script_setup_true_lang-Bm8_FTvr.js +83 -0
- package/dist/ProductFilterMenu.vue_vue_type_script_setup_true_lang-Cgc0Ms_n.js +101 -0
- package/dist/ProductGroupCreateSheet.vue_vue_type_script_setup_true_lang-Cx_mW05R.js +1246 -0
- package/dist/ProductImageEditorDialog.vue_vue_type_script_setup_true_lang-CUeYaXYg.js +1955 -0
- package/dist/ProductInlineCreateHost.vue_vue_type_script_setup_true_lang-CeYyZX7g.js +5401 -0
- package/dist/ProductInternalTools-b3sy8bWy.js +2147 -0
- package/dist/ProductInventoryDialog-DO0D8e3Z.js +4 -0
- package/dist/ProductInventoryDialog.vue_vue_type_script_setup_true_lang-y9Mz__o9.js +187 -0
- package/dist/ProductList.vue_vue_type_script_setup_true_lang-n_UYIwwt.js +10353 -0
- package/dist/ProductVariantTranslationSheet.vue_vue_type_script_setup_true_lang-ClG3Prfm.js +218 -0
- package/dist/Products-7vlFJB0P.js +155 -0
- package/dist/Publish-DTP-CgV-.js +1261 -0
- package/dist/Recipe-C1W8_15H.js +350 -0
- package/dist/Scheduler-JRjozwP_.js +637 -0
- package/dist/ServingSequence-BGT5m7JB.js +336 -0
- package/dist/Setting-CS_M1gMN.js +173 -0
- package/dist/Subcategory-Cgy9CQCz.js +412 -0
- package/dist/Takeaway-Bpo9XA-j.js +48 -0
- package/dist/Takeaway-DO2dmFGP.js +13 -0
- package/dist/TakeawayList.vue_vue_type_script_setup_true_lang-C7KexF7H.js +554 -0
- package/dist/TranslationLanguageSelector.vue_vue_type_script_setup_true_lang-BJZ6VcrT.js +161 -0
- package/dist/TranslationSideSheet.vue_vue_type_script_setup_true_lang-B0j2PNih.js +158 -0
- package/dist/TranslationViewChip.vue_vue_type_script_setup_true_lang-CAkLEmSA.js +69 -0
- package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-BHxmPO7F.js +1213 -0
- package/dist/Unit-Bn5UzMp1.js +385 -0
- package/dist/Variant-DmeGEEkw.js +538 -0
- package/dist/_id_-DC1dJIaj.js +28 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/app-Bd7W2PYm.js +2008 -0
- package/dist/app.js +8 -0
- package/dist/apps/mf-menu/src/App.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/Entry.vue.d.ts +4 -0
- package/dist/apps/mf-menu/src/app.d.ts +16771 -0
- package/dist/apps/mf-menu/src/assets/icons/index.d.ts +4 -0
- package/dist/apps/mf-menu/src/components/CatalogBindingList.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/CatalogList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/CategoryImageField.vue.d.ts +17 -0
- package/dist/apps/mf-menu/src/components/CategoryList.vue.d.ts +28 -0
- package/dist/apps/mf-menu/src/components/Fields/RangeSlider.vue.d.ts +23 -0
- package/dist/apps/mf-menu/src/components/GroupList.vue.d.ts +28 -0
- package/dist/apps/mf-menu/src/components/GroupTranslationSideSheet.vue.d.ts +14 -0
- package/dist/apps/mf-menu/src/components/IngredientList.vue.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/MenuHeaderContext.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/MenuRestaurantSelector.vue.d.ts +7 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/AddMemberTierDialog.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/AddPriceGroupDialog.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/ConfigurationTab.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/MemberPricingTab.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/PriceGroupTab.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/MenuSetting/RuleGroupsTab.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/Navigator.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/OrderPacingList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/PriceTier/PriceTierNotice.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/PrintRouteList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/Product/LocalizedCurrencySymbol.vue.d.ts +5 -0
- package/dist/apps/mf-menu/src/components/Product/ProductAttributeFilter.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/Product/ProductCategorySelector.vue.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/Product/ProductChipSummary.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/Product/ProductChoicePicker.vue.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/Product/ProductEditorHost.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/components/Product/ProductFilterMenu.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/components/Product/ProductForm.vue.d.ts +42 -0
- package/dist/apps/mf-menu/src/components/Product/ProductFormSection.vue.d.ts +41 -0
- package/dist/apps/mf-menu/src/components/Product/ProductGroupCreateSheet.vue.d.ts +19 -0
- package/dist/apps/mf-menu/src/components/Product/ProductGroupSheet.vue.d.ts +56 -0
- package/dist/apps/mf-menu/src/components/Product/ProductInlineCategoryCreateField.vue.d.ts +10 -0
- package/dist/apps/mf-menu/src/components/Product/ProductInlineCreateHost.vue.d.ts +38 -0
- package/dist/apps/mf-menu/src/components/Product/ProductInlineSubcategoryCreateField.vue.d.ts +10 -0
- package/dist/apps/mf-menu/src/components/Product/ProductInventoryDialog.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/Product/ProductLocaleBadge.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/Product/ProductMemberPriceTooltip.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/Product/ProductMoneyField.vue.d.ts +25 -0
- package/dist/apps/mf-menu/src/components/Product/ProductOverviewSheet.vue.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/Product/ProductPacingSheet.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/Product/ProductPriceTierButton.vue.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/Product/ProductPricingSheet.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/components/Product/ProductPrintRouteSheet.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/Product/ProductQuantityField.vue.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/Product/ProductSummaryCard.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/Product/ProductTakeawaySheet.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/Product/ProductTranslationDialog.vue.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/Product/ProductVariantCreateSheet.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/Product/ProductVariantTranslationSheet.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/Product/inlineCreate.d.ts +23 -0
- package/dist/apps/mf-menu/src/components/Product/labels.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageBadge.vue.d.ts +7 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageDownloadDialog.vue.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageFormatChips.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageLegacyChip.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageProgressDialog.vue.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageResult.vue.d.ts +14 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageReview.vue.d.ts +21 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageThumb.vue.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageUpdateFlow.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/BatchImageUpdateSheet.vue.d.ts +34 -0
- package/dist/apps/mf-menu/src/components/ProductBatchImage/batchImageFiles.d.ts +53 -0
- package/dist/apps/mf-menu/src/components/ProductImage/ProductImageCustomFormatDialog.vue.d.ts +40 -0
- package/dist/apps/mf-menu/src/components/ProductImage/ProductImageEditorDialog.vue.d.ts +82 -0
- package/dist/apps/mf-menu/src/components/ProductImage/ProductImageField.vue.d.ts +42 -0
- package/dist/apps/mf-menu/src/components/ProductImage/ProductImageManageSheet.vue.d.ts +47 -0
- package/dist/apps/mf-menu/src/components/ProductImage/ProductImageRegenerateDialog.vue.d.ts +44 -0
- package/dist/apps/mf-menu/src/components/ProductImage/imageBrowser.d.ts +18 -0
- package/dist/apps/mf-menu/src/components/ProductList.vue.d.ts +18 -0
- package/dist/apps/mf-menu/src/components/PublishList.vue.d.ts +14 -0
- package/dist/apps/mf-menu/src/components/RecipeList.vue.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/SchedulerList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/ServingSequenceList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/SubcategoryList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/TakeawayList.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/components/TranslationSideSheet.vue.d.ts +36 -0
- package/dist/apps/mf-menu/src/components/UnitList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/V3ToV4MigrationBanner.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/V3ToV4MigrationConfirmDialog.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/VariantList.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/catalog/CatalogEditor.vue.d.ts +14 -0
- package/dist/apps/mf-menu/src/components/catalog/CatalogLinkProductAction.vue.d.ts +7 -0
- package/dist/apps/mf-menu/src/components/catalog/CatalogUsage.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/catalog/tableSemantics.d.ts +7 -0
- package/dist/apps/mf-menu/src/components/feature/ApplyProduct/ApplyProduct.vue.d.ts +33 -0
- package/dist/apps/mf-menu/src/components/feature/CookingGuide/RemoveCookingGuideConfirmation.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/Icon.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/index.d.ts +1 -0
- package/dist/apps/mf-menu/src/components/feature/EmptyDataTemplate/index.vue.d.ts +18 -0
- package/dist/apps/mf-menu/src/components/feature/InventoryBinding/BindingLinkDialog.vue.d.ts +49 -0
- package/dist/apps/mf-menu/src/components/feature/InventoryBinding/BindingTable.vue.d.ts +38 -0
- package/dist/apps/mf-menu/src/components/feature/LinkProduct/LinkProductSideSheet.vue.d.ts +65 -0
- package/dist/apps/mf-menu/src/components/feature/OrderPacing/DeleteOrderPacingConfirmation.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/OrderPacing/OrderPacingFields.vue.d.ts +17 -0
- package/dist/apps/mf-menu/src/components/feature/PrintRoute/RemoveRouteConfirmation.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/TreeEditorOpenner.vue.d.ts +18 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/openner.d.ts +7 -0
- package/dist/apps/mf-menu/src/components/info/TextChip.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/layout/FlatInlineSort.vue.d.ts +25 -0
- package/dist/apps/mf-menu/src/components/layout/FormColumn.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/layout/FormItem.vue.d.ts +17 -0
- package/dist/apps/mf-menu/src/components/layout/FormRow.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/layout/FormSection.vue.d.ts +18 -0
- package/dist/apps/mf-menu/src/components/layout/FullScreenForm.vue.d.ts +31 -0
- package/dist/apps/mf-menu/src/components/layout/FullWrapper.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/layout/LabeledTextField.vue.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/layout/ListCountTag.vue.d.ts +5 -0
- package/dist/apps/mf-menu/src/components/layout/LottieAnimation.vue.d.ts +39 -0
- package/dist/apps/mf-menu/src/components/layout/PageLayout.vue.d.ts +19 -0
- package/dist/apps/mf-menu/src/components/layout/ProgressBar.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/components/loading/AppLoading.vue.d.ts +20 -0
- package/dist/apps/mf-menu/src/components/loading/PageLoading.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/components/loading/index.d.ts +1 -0
- package/dist/apps/mf-menu/src/components/placeholder/PlaceholderView.vue.d.ts +5 -0
- package/dist/apps/mf-menu/src/components/preview/MenuPreview.vue.d.ts +13 -0
- package/dist/apps/mf-menu/src/components/preview/simulatorPort.d.ts +23 -0
- package/dist/apps/mf-menu/src/components/publish/PublishRevertPreview.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/publish/PublishScheduleDetails.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/publish/publishStatus.d.ts +15 -0
- package/dist/apps/mf-menu/src/components/translation/TranslationLanguageSelector.vue.d.ts +21 -0
- package/dist/apps/mf-menu/src/components/translation/TranslationViewChip.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/translation/localeName.d.ts +11 -0
- package/dist/apps/mf-menu/src/components/translation/localeSymbol.d.ts +15 -0
- package/dist/apps/mf-menu/src/composable/elementPosition.d.ts +17 -0
- package/dist/apps/mf-menu/src/composable/menuNotifier.d.ts +14 -0
- package/dist/apps/mf-menu/src/composable/navigator.d.ts +16 -0
- package/dist/apps/mf-menu/src/composable/useActionFeedback.d.ts +81 -0
- package/dist/apps/mf-menu/src/composable/useEditorValidation.d.ts +21 -0
- package/dist/apps/mf-menu/src/init.d.ts +1 -0
- package/dist/apps/mf-menu/src/main.d.ts +2 -0
- package/dist/apps/mf-menu/src/plugins.d.ts +4 -0
- package/dist/apps/mf-menu/src/router/index.d.ts +2 -0
- package/dist/apps/mf-menu/src/router/shared.d.ts +65 -0
- package/dist/apps/mf-menu/src/sdk/host.d.ts +9 -0
- package/dist/apps/mf-menu/src/sdk/import-export.d.ts +9 -0
- package/dist/apps/mf-menu/src/sdk/provide.d.ts +33 -0
- package/dist/apps/mf-menu/src/sdk/useReadModel.d.ts +16 -0
- package/dist/apps/mf-menu/src/sdk/useSdkMessage.d.ts +11 -0
- package/dist/apps/mf-menu/src/stores/app.d.ts +17 -0
- package/dist/apps/mf-menu/src/utils/ruleValueKey.d.ts +12 -0
- package/dist/apps/mf-menu/src/utils/worker-loader.d.ts +12 -0
- package/dist/apps/mf-menu/src/utils/worker.d.ts +4 -0
- package/dist/apps/mf-menu/src/views/Catalog/Catalog.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/CatalogEditTabs.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/Category.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/Group.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/MainSetting.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/NamedSetting.vue.d.ts +5 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/Product.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/Setting.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/Takeaway.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/[id].vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/CatalogBinding/CatalogBinding.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Category/Category.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/CookingGuide/CookingGuide.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Group/Group.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/ImportExport/ImportDiffPreview.vue.d.ts +25 -0
- package/dist/apps/mf-menu/src/views/ImportExport/ImportExport.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/views/ImportExport/ImportV3DiffPreview.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/views/ImportExport/PreviewImportTable.vue.d.ts +30 -0
- package/dist/apps/mf-menu/src/views/Ingredient/Ingredient.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/CategoryRenameDialog.vue.d.ts +26 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/DetailPane.vue.d.ts +23 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/EditorHistoryControls.vue.d.ts +22 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/MenuManagementEditor.vue.d.ts +10 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/RestaurantAttributesFilter.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/ScopeSwitcher.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreeFilter.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreePanel.vue.d.ts +9 -0
- package/dist/apps/mf-menu/src/views/MenuManagementEditor/TreeRow.vue.d.ts +25 -0
- package/dist/apps/mf-menu/src/views/MenuSetting/MenuSetting.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/OrderPacing/OrderPacing.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Preview/Preview.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/PrintRoute/PrintRoute.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Product/ProductInternalTools.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Product/Products.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Publish/Publish.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Recipe/Recipe.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Scheduler/Scheduler.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/ServingSequence/ServingSequence.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Subcategory/Subcategory.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Takeaway/Takeaway.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Unit/Unit.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Variant/Variant.vue.d.ts +2 -0
- package/dist/apps/mf-menu/src/workers/menu-compute.d.ts +1 -0
- package/dist/apps/mf-menu/src/workers/validate-menu.d.ts +1 -0
- package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -0
- package/dist/assets/menu-compute-okel5FLc.js +260 -0
- package/dist/assets/validate-menu-DEFGpnQh.js +130 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-CGPDazqs.js +57 -0
- package/dist/mf-menu-portal.css +1 -0
- package/dist/provide-Tmjfji09.js +190840 -0
- package/dist/ruleValueKey-BF52PuHb.js +10 -0
- package/dist/tableSemantics-C9WFO_I_.js +22 -0
- package/dist/useActionFeedback-DoFeBFpl.js +95 -0
- package/dist/useEditorValidation-Ctef5Bxt.js +63 -0
- package/package.json +79 -3
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
interface SortItem {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly label: string;
|
|
4
|
+
}
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
items: readonly SortItem[];
|
|
7
|
+
handle: string;
|
|
8
|
+
lockLast?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
+
reorder: (ids: string[]) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
onReorder?: ((ids: string[]) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
15
|
+
item?: ((props: {
|
|
16
|
+
element: any;
|
|
17
|
+
index: any;
|
|
18
|
+
}) => any) | undefined;
|
|
19
|
+
}>;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
shrinkable?: boolean;
|
|
3
|
+
}
|
|
4
|
+
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>, {
|
|
5
|
+
default?: ((props: {}) => any) | undefined;
|
|
6
|
+
}>;
|
|
7
|
+
export default _default;
|
|
8
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
9
|
+
new (): {
|
|
10
|
+
$slots: S;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
label?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
}
|
|
5
|
+
declare var __VLS_1: {}, __VLS_3: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
append?: (props: typeof __VLS_1) => any;
|
|
8
|
+
} & {
|
|
9
|
+
default?: (props: typeof __VLS_3) => any;
|
|
10
|
+
};
|
|
11
|
+
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>, __VLS_Slots>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
2
|
+
default?: ((props: {}) => any) | undefined;
|
|
3
|
+
}>;
|
|
4
|
+
export default _default;
|
|
5
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
6
|
+
new (): {
|
|
7
|
+
$slots: S;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
title?: string;
|
|
3
|
+
subTitle?: string;
|
|
4
|
+
shrinkable?: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare var __VLS_1: {}, __VLS_6: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
'append-title'?: (props: typeof __VLS_1) => any;
|
|
9
|
+
} & {
|
|
10
|
+
default?: (props: typeof __VLS_6) => any;
|
|
11
|
+
};
|
|
12
|
+
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>, __VLS_Slots>;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface FullScreenFormProps {
|
|
2
|
+
show: boolean;
|
|
3
|
+
title: string;
|
|
4
|
+
primaryAction: {
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
secondaryActions: {
|
|
9
|
+
label: string;
|
|
10
|
+
click?: () => void;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
declare var __VLS_20: {}, __VLS_34: {};
|
|
14
|
+
type __VLS_Slots = {} & {
|
|
15
|
+
'append-title'?: (props: typeof __VLS_20) => any;
|
|
16
|
+
} & {
|
|
17
|
+
default?: (props: typeof __VLS_34) => any;
|
|
18
|
+
};
|
|
19
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<FullScreenFormProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
[x: string]: any;
|
|
21
|
+
} & {
|
|
22
|
+
[x: string]: any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<FullScreenFormProps> & Readonly<{
|
|
24
|
+
[x: `on${Capitalize<any>}`]: ((...args: any[] | unknown[]) => any) | undefined;
|
|
25
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
2
|
+
default?: ((props: {}) => any) | undefined;
|
|
3
|
+
}>;
|
|
4
|
+
export default _default;
|
|
5
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
6
|
+
new (): {
|
|
7
|
+
$slots: S;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
label?: string;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {
|
|
5
|
+
inputEl: import("vue").ComputedRef<HTMLInputElement | null>;
|
|
6
|
+
focus: () => void | undefined;
|
|
7
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
8
|
+
[x: string]: ((props: any) => any) | undefined;
|
|
9
|
+
[x: number]: ((props: any) => any) | undefined;
|
|
10
|
+
}>;
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value: number | string;
|
|
3
|
+
};
|
|
4
|
+
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>;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
link: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
default: undefined;
|
|
5
|
+
};
|
|
6
|
+
json: {
|
|
7
|
+
type: ObjectConstructor;
|
|
8
|
+
default: undefined;
|
|
9
|
+
};
|
|
10
|
+
width: {
|
|
11
|
+
type: NumberConstructor;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
height: {
|
|
15
|
+
type: NumberConstructor;
|
|
16
|
+
required: true;
|
|
17
|
+
};
|
|
18
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
link: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: undefined;
|
|
22
|
+
};
|
|
23
|
+
json: {
|
|
24
|
+
type: ObjectConstructor;
|
|
25
|
+
default: undefined;
|
|
26
|
+
};
|
|
27
|
+
width: {
|
|
28
|
+
type: NumberConstructor;
|
|
29
|
+
required: true;
|
|
30
|
+
};
|
|
31
|
+
height: {
|
|
32
|
+
type: NumberConstructor;
|
|
33
|
+
required: true;
|
|
34
|
+
};
|
|
35
|
+
}>> & Readonly<{}>, {
|
|
36
|
+
link: string;
|
|
37
|
+
json: Record<string, any>;
|
|
38
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
heading: string;
|
|
3
|
+
subheading?: string;
|
|
4
|
+
}
|
|
5
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
'prepend-heading'?: (props: typeof __VLS_1) => any;
|
|
8
|
+
} & {
|
|
9
|
+
'append-heading'?: (props: typeof __VLS_3) => any;
|
|
10
|
+
} & {
|
|
11
|
+
default?: (props: typeof __VLS_5) => any;
|
|
12
|
+
};
|
|
13
|
+
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>, __VLS_Slots>;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** 0–100. Values outside the range are clamped. */
|
|
3
|
+
percent: number;
|
|
4
|
+
variant?: 'neutral' | 'warning' | 'success' | 'error';
|
|
5
|
+
}
|
|
6
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
7
|
+
variant: "error" | "success" | "warning" | "neutral";
|
|
8
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
width: {
|
|
3
|
+
type: NumberConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
height: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
width: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
height: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
20
|
+
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 declare const withLoading: (loader: () => Promise<any>) => any;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
module: string;
|
|
3
|
+
};
|
|
4
|
+
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>;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MenuPreviewModule } from '@feedmepos/menu-sdk';
|
|
2
|
+
type MenuPreviewPageSdk = {
|
|
3
|
+
preview: Pick<MenuPreviewModule, 'open'>;
|
|
4
|
+
};
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
sdk: MenuPreviewPageSdk;
|
|
7
|
+
/** The deployed simulator; null where this environment has none. */
|
|
8
|
+
simulatorUrl: string | null;
|
|
9
|
+
/** This page's origin, which the simulator posts back to. */
|
|
10
|
+
parentOrigin?: string;
|
|
11
|
+
};
|
|
12
|
+
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>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MenuPreviewSimulatorPort } from '@feedmepos/menu-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Where the simulator iframe points, and the origin every message to and from
|
|
4
|
+
* it must carry.
|
|
5
|
+
*
|
|
6
|
+
* The simulator posts only to the origin named in `?parent=` and refuses one
|
|
7
|
+
* that is not on its allowlist (`feedmepos/menu-simulator` `src/lib/contract.ts`
|
|
8
|
+
* and `public/_headers`), so this page's own origin goes there.
|
|
9
|
+
*/
|
|
10
|
+
export declare function simulatorFrame(simulatorUrl: string, parentOrigin: string): {
|
|
11
|
+
readonly src: string;
|
|
12
|
+
readonly origin: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The host side of the simulator iframe, handed to the SDK's preview session.
|
|
16
|
+
*
|
|
17
|
+
* Only the window plumbing lives here: posting to the frame at the simulator's
|
|
18
|
+
* exact origin (never `'*'`), and passing on a `message` event only when both
|
|
19
|
+
* its origin and its source are that frame — an origin check alone would let a
|
|
20
|
+
* same-origin frame elsewhere on the page speak for it. Every message itself,
|
|
21
|
+
* handshake to acknowledgement, is the SDK's.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createSimulatorPort(frame: () => HTMLIFrameElement | null, origin: string, host?: Pick<Window, 'addEventListener' | 'removeEventListener'>): MenuPreviewSimulatorPort;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PublishRevertPreviewSession } from '@feedmepos/menu-sdk';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
session: PublishRevertPreviewSession;
|
|
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 { PublishScheduleDetailsSession } from '@feedmepos/menu-sdk';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
session: PublishScheduleDetailsSession;
|
|
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,15 @@
|
|
|
1
|
+
import type { PublishJobStatus } from '@feedmepos/menu-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Presentation mapping for the publish job lifecycle, shared by the progress
|
|
4
|
+
* side sheet and the publish-details dialog so the two cannot disagree.
|
|
5
|
+
*
|
|
6
|
+
* Legacy kept the same table (`portal views/Publish/PublishProgressView.vue:33-55`)
|
|
7
|
+
* but paired each token text class with a raw hex background for its progress
|
|
8
|
+
* bar (`#E0E0DE`, `#FFB800`, `#34C759`, `#FF3B30`). Those are ADR-0003 §2
|
|
9
|
+
* violations, so the bar takes a semantic `variant` and resolves its own token
|
|
10
|
+
* class instead.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PUBLISH_STATUS_TEXT_CLASS: Record<PublishJobStatus, string>;
|
|
13
|
+
export declare const PUBLISH_STATUS_BAR_VARIANT: Record<PublishJobStatus, 'neutral' | 'warning' | 'success' | 'error'>;
|
|
14
|
+
export declare const PUBLISH_STATUS_LABEL_KEY: Record<PublishJobStatus, string>;
|
|
15
|
+
export declare const PUBLISH_JOB_STATUSES: readonly PublishJobStatus[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
selected: readonly {
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}[];
|
|
6
|
+
available: readonly {
|
|
7
|
+
code: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}[];
|
|
10
|
+
menuZIndex?: number;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
13
|
+
add: (code: string) => any;
|
|
14
|
+
remove: (code: string) => any;
|
|
15
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
|
+
onAdd?: ((code: string) => any) | undefined;
|
|
17
|
+
onRemove?: ((code: string) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
menuZIndex: number;
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
nameLocale: Readonly<Record<string, string>>;
|
|
3
|
+
/**
|
|
4
|
+
* How many locales badge individually before the rest collapse into one
|
|
5
|
+
* `+N` chip. Omitted — every host but the product list — keeps legacy's
|
|
6
|
+
* other branch: one chip per locale, each with its own tooltip
|
|
7
|
+
* (`portal .../translation/TranslationViewChip.vue:25-46`).
|
|
8
|
+
*/
|
|
9
|
+
showNumber?: number;
|
|
10
|
+
};
|
|
11
|
+
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>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** The display name for a locale code, or the code itself when unmapped. */
|
|
2
|
+
export declare function localeFullName(code: string): string;
|
|
3
|
+
/** Every locale this app can name, in legacy's table order. */
|
|
4
|
+
export declare function localeVocabulary(): readonly {
|
|
5
|
+
code: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}[];
|
|
8
|
+
export declare function defaultTranslationLocales(): readonly {
|
|
9
|
+
code: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legacy's `getLocaleIcon`: the mapped icon, else the REGION segment
|
|
3
|
+
* uppercased — `ar-AE` badges as `AE`, not `AR` and not `ar-AE`
|
|
4
|
+
* (`portal .../utils/translation.ts:62-65`, observed as
|
|
5
|
+
* `translation-editor/display/unknown-locale-fallback`).
|
|
6
|
+
*
|
|
7
|
+
* The fallback is why this is shared rather than written per surface: three
|
|
8
|
+
* surfaces had each derived it, and two of them took the LANGUAGE segment,
|
|
9
|
+
* which badges `zh-CN` as `ZH` where legacy badges it 简. The icons are the
|
|
10
|
+
* same string in every bundle — a constant table rendered as text rather than
|
|
11
|
+
* copy — but they stay in the locale files, which is where every migrated
|
|
12
|
+
* surface already reads them from, and each key is written whole so the i18n
|
|
13
|
+
* gate can see it.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useLocaleSymbol(): (code: string) => string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
export declare function useElementPosition(el: Ref<HTMLElement | null>, watched?: any): Ref<{
|
|
3
|
+
top: number;
|
|
4
|
+
bottom: number;
|
|
5
|
+
left: number;
|
|
6
|
+
right: number;
|
|
7
|
+
}, {
|
|
8
|
+
top: number;
|
|
9
|
+
bottom: number;
|
|
10
|
+
left: number;
|
|
11
|
+
right: number;
|
|
12
|
+
} | {
|
|
13
|
+
top: number;
|
|
14
|
+
bottom: number;
|
|
15
|
+
left: number;
|
|
16
|
+
right: number;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MenuSdk } from '@feedmepos/menu-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Posts the Publish navigation badge from the app root, as legacy's notifier
|
|
4
|
+
* does (`portal App.vue:225`), so the badge is on screen — and follows every
|
|
5
|
+
* menu save — before Publish is ever opened. The SDK owns the count; this only
|
|
6
|
+
* renders it into the legacy window-message contract the sidebar listens to.
|
|
7
|
+
*
|
|
8
|
+
* Legacy's notifier also posts `menu-version-notifier` (`{ isV4 }`). That is
|
|
9
|
+
* deliberately not migrated: its only listener was legacy mf-menu's own
|
|
10
|
+
* `router/shared.ts`, which toggled the V4-only navigation items — here the
|
|
11
|
+
* router reads the SDK's `moduleRoutes` capability instead — and ADR-0002
|
|
12
|
+
* forbids `mf-menu` from receiving a menu-version value at all.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useMenuNotifier(sdk: MenuSdk): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legacy window-message contract for updating route badges from menu publish state.
|
|
3
|
+
* The notifier that produces this message must reuse this constant.
|
|
4
|
+
*/
|
|
5
|
+
export declare const PUBLISH_NOTIFIER = "publish-notifier";
|
|
6
|
+
interface NavigatorStatus {
|
|
7
|
+
[key: string]: {
|
|
8
|
+
icon?: string;
|
|
9
|
+
badge?: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare function useMenuNavigatorStatus(): {
|
|
13
|
+
navigatorStatus: import("vue").Ref<NavigatorStatus, NavigatorStatus>;
|
|
14
|
+
stop: () => void;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { MenuActionOutcome } from '@feedmepos/menu-sdk';
|
|
2
|
+
export interface ActionFeedbackConfig<T = unknown> {
|
|
3
|
+
/**
|
|
4
|
+
* Localized text shown in a bottom snackbar when the action succeeds.
|
|
5
|
+
*
|
|
6
|
+
* A function receives the outcome's value, for the case where the text names
|
|
7
|
+
* something only the write knows — a duplicate reports the *clone's* name,
|
|
8
|
+
* and that name is a domain rule the SDK owns. Recomputing it in the caller
|
|
9
|
+
* would put a second copy of that rule on the wrong side of the boundary
|
|
10
|
+
* (ADR-0002 §2), so the SDK hands it back and the caller only renders it.
|
|
11
|
+
*/
|
|
12
|
+
successMessage?: string | ((value: T) => string);
|
|
13
|
+
/**
|
|
14
|
+
* Legacy's scheduled-publish cancellation bypasses its loading helper and
|
|
15
|
+
* writes a regular-weight snackbar message directly. Other settled writes
|
|
16
|
+
* retain the helper's semibold title convention.
|
|
17
|
+
*/
|
|
18
|
+
successPresentation?: 'title' | 'message';
|
|
19
|
+
/** Localized text shown with a spinner while the action is in flight. */
|
|
20
|
+
loadingMessage?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Optional semibold heading for an in-flight action. Legacy publish revert
|
|
23
|
+
* names its restaurant in this slot and keeps the generic loading copy below.
|
|
24
|
+
*/
|
|
25
|
+
loadingTitle?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the in-flight spinner is shown at all. Defaults to `true`.
|
|
28
|
+
*
|
|
29
|
+
* Set it to `false` where an action can settle without a backend round trip —
|
|
30
|
+
* a required-field rejection is decided locally, and flashing a loading toast
|
|
31
|
+
* for it shows the user an indicator the legacy never had. Turn it off only
|
|
32
|
+
* with an approved baseline that says so; it is not a matter of taste.
|
|
33
|
+
*
|
|
34
|
+
* Pass a FUNCTION when the answer is derived from editor status. `run` calls
|
|
35
|
+
* it after the action has been started, so a `status === 'submitting'` gate
|
|
36
|
+
* reads the status the SDK published synchronously rather than the `idle` it
|
|
37
|
+
* still held when the config object was built. A plain boolean is evaluated
|
|
38
|
+
* by the caller as before and stays valid.
|
|
39
|
+
*/
|
|
40
|
+
showLoading?: boolean | (() => boolean);
|
|
41
|
+
/**
|
|
42
|
+
* Render field-associated rejections through the shared snackbar as well.
|
|
43
|
+
*
|
|
44
|
+
* Most editors keep field issues next to their inputs. Legacy scheduled
|
|
45
|
+
* publish is the exception: its combined date-and-restaurants guard presents
|
|
46
|
+
* one error toast and leaves the composer otherwise unchanged.
|
|
47
|
+
*/
|
|
48
|
+
toastFieldIssues?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Overrides the client-origin rejection weight (normally `message`,
|
|
51
|
+
* regular-weight — see the `rejected` branch below). Legacy is not uniform
|
|
52
|
+
* here: most client-side guards open the snackbar directly with `message`
|
|
53
|
+
* (`portal .../manager/menu/memberPricing.ts:63-71`), but a raw caught
|
|
54
|
+
* parser exception goes through `snackbar.open({ title: err.message })`
|
|
55
|
+
* instead (`portal apps/mf-menu/src/views/Catalog/Edit/ImportProductDialog.vue:227-233`).
|
|
56
|
+
* Pass `'title'` only when the call site's own citation shows the latter
|
|
57
|
+
* shape; otherwise the origin-based default already matches legacy.
|
|
58
|
+
*/
|
|
59
|
+
rejectedPresentation?: 'title' | 'message';
|
|
60
|
+
/**
|
|
61
|
+
* Some legacy actions catch server errors directly with `message`, bypassing
|
|
62
|
+
* the loading helper (ManageImageDrawer.vue runForRatio). Opt into that
|
|
63
|
+
* regular-weight, default-position presentation; other callers keep titles.
|
|
64
|
+
*/
|
|
65
|
+
errorPresentation?: 'title' | 'message';
|
|
66
|
+
/** Exact approved legacy failures that settle without a snackbar. */
|
|
67
|
+
silentFailureCodes?: readonly string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Cross-cutting write feedback (ADR-0003 §1 "Toast / notification" ->
|
|
71
|
+
* `useSnackbar`). A module forwards its SDK `MenuActionOutcome` here and this
|
|
72
|
+
* composable owns the loading indicator and the success / rejected / failure
|
|
73
|
+
* snackbar. An exact approved `silentFailureCodes` entry can preserve a
|
|
74
|
+
* measured legacy failure with no settled feedback.
|
|
75
|
+
*
|
|
76
|
+
* The snackbar host is mounted once by the `FeedMeUI` plugin in `main.ts`; this
|
|
77
|
+
* composable only opens and closes toasts, it renders nothing itself.
|
|
78
|
+
*/
|
|
79
|
+
export declare function useActionFeedback(): {
|
|
80
|
+
run<T>(action: () => Promise<MenuActionOutcome<T>>, config?: ActionFeedbackConfig<T>): Promise<MenuActionOutcome<T>>;
|
|
81
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FieldIssues, Issue, MenuActionOutcome } from '@feedmepos/menu-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* When an editor's field issues are shown. The SDK derives what the draft
|
|
4
|
+
* would be rejected for on every change (`fieldIssues`); this decides only
|
|
5
|
+
* visibility, the way FmForm rules did in legacy: a field's issue appears once
|
|
6
|
+
* it has been edited or blurred, and every issue appears after a submit.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useEditorValidation(session: () => unknown): {
|
|
9
|
+
field: <T>(name: string, update: (value: T) => void) => {
|
|
10
|
+
ref: (instance: unknown) => void;
|
|
11
|
+
'onUpdate:modelValue': (value: T) => void;
|
|
12
|
+
onFocusChanged: (focused: boolean) => void;
|
|
13
|
+
};
|
|
14
|
+
issue: <F extends string>(fieldIssues: Readonly<Partial<Record<F, readonly Issue[]>>>, name: F) => Issue | null;
|
|
15
|
+
issues: <F_1 extends string>(fieldIssues: Readonly<Partial<Record<F_1, readonly Issue[]>>>, name: F_1) => readonly Issue[];
|
|
16
|
+
removeRow: (prefix: string, index: number) => void;
|
|
17
|
+
submit: <T_1 extends MenuActionOutcome<unknown>>(action: () => Promise<T_1>) => Promise<T_1>;
|
|
18
|
+
touch: (name: string) => void;
|
|
19
|
+
};
|
|
20
|
+
/** The visibility layer one editor shares with the field components it renders. */
|
|
21
|
+
export type EditorValidation = ReturnType<typeof useEditorValidation>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function initFirebase(): Promise<void>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { RouteLocationNormalized, RouteLocationRaw, RouteRecordRaw } from 'vue-router';
|
|
2
|
+
import type { Capability, MenuRouteCapabilities } from '@feedmepos/menu-sdk';
|
|
3
|
+
export declare function setMenuRouteCapabilities(next: MenuRouteCapabilities): void;
|
|
4
|
+
export declare function setMenuPublishCapability(next: Capability): void;
|
|
5
|
+
export declare function setMenuCatalogBindingCapability(next: Capability): void;
|
|
6
|
+
export declare let appReady: Promise<void>;
|
|
7
|
+
export declare function resetAppReady(): void;
|
|
8
|
+
export declare function signalAppReady(): void;
|
|
9
|
+
/** What a shell publishes about its scope for the gated route guards. */
|
|
10
|
+
export interface ShellScope {
|
|
11
|
+
routes: MenuRouteCapabilities;
|
|
12
|
+
publish: Capability;
|
|
13
|
+
catalogBinding: Capability;
|
|
14
|
+
/** The session is terminal, so a gated guard can decide on `routes`. */
|
|
15
|
+
settled: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface AttachedShell {
|
|
18
|
+
/**
|
|
19
|
+
* Whether this is still the latest shell (reactive). Only it may decide a
|
|
20
|
+
* route: a replaced shell would pair its own settled session with the
|
|
21
|
+
* capabilities the newer shell publishes, provisional ones included.
|
|
22
|
+
*/
|
|
23
|
+
isCurrent(): boolean;
|
|
24
|
+
/** Publishes this shell's scope; ignored once a newer shell has attached. */
|
|
25
|
+
publish(scope: ShellScope): void;
|
|
26
|
+
detach(): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Called by the shell when it is set up. The latest shell owns readiness and
|
|
30
|
+
* the capabilities the guards read: one set up before an earlier shell
|
|
31
|
+
* unmounts (a transition, a keyed remount, HMR) must not have its scope
|
|
32
|
+
* overwritten by a late update from that earlier shell, nor lose its
|
|
33
|
+
* attachment or its signal to that earlier shell's detach.
|
|
34
|
+
*/
|
|
35
|
+
export declare function attachShell(): AttachedShell;
|
|
36
|
+
/**
|
|
37
|
+
* Where the settled scope sends `route`, or `null` to stay: its `scopeRedirect`
|
|
38
|
+
* target, else Catalog when its `scopeGuard` fails. The one rule both the
|
|
39
|
+
* route guard and the shell apply to a scope-gated route.
|
|
40
|
+
*/
|
|
41
|
+
export declare function scopeRedirectTarget(route: Pick<RouteLocationNormalized, 'meta' | 'query'>): RouteLocationRaw | null;
|
|
42
|
+
/** Keeps businessId/country on the URL so the query-state plugin need not redirect again. */
|
|
43
|
+
export declare function withQuery(target: RouteLocationRaw, from: Pick<RouteLocationNormalized, 'query'>): RouteLocationRaw;
|
|
44
|
+
export declare enum RouteName {
|
|
45
|
+
OVERVIEW = "$menu-overview",
|
|
46
|
+
CATALOG = "$menu-catalog",
|
|
47
|
+
EDIT_CATALOG = "$menu-catalog-edit",
|
|
48
|
+
EDIT_CATALOG_PRODUCT = "$menu-catalog-edit-product",
|
|
49
|
+
EDIT_CATALOG_CATEGORY = "$menu-catalog-edit-category",
|
|
50
|
+
EDIT_CATALOG_GROUP = "$menu-catalog-edit-group",
|
|
51
|
+
EDIT_CATALOG_TAKEAWAY = "$menu-catalog-edit-takeaway",
|
|
52
|
+
EDIT_CATALOG_SETTING = "$menu-catalog-edit-setting",
|
|
53
|
+
SCHEDULER = "$menu-scheduler",
|
|
54
|
+
VARIANT = "$menu-variant",
|
|
55
|
+
ORDER_PACING = "$menu-order-pacing",
|
|
56
|
+
COOKING_GUIDE = "$menu-cooking-guide",
|
|
57
|
+
PRINT_ROUTE = "$menu-print-route",
|
|
58
|
+
PUBLISH = "$menu-publish",
|
|
59
|
+
PREVIEW = "$menu-preview",
|
|
60
|
+
CATALOG_BINDING = "$menu-catalog-binding",
|
|
61
|
+
PRODUCT_INTERNAL_TOOLS = "$menu-product-internal-tools"
|
|
62
|
+
}
|
|
63
|
+
declare const routers: Array<RouteRecordRaw>;
|
|
64
|
+
export { routers };
|
|
65
|
+
export declare const catalogRoutes: Array<RouteRecordRaw>;
|