@feedmepos/mf-menu 0.32.72 → 0.32.73-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/dist/{App-BqlWMfMd.js → App-DFetmhVn.js} +8 -8
- package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-CGm_HCN-.js → ApplyProduct.vue_vue_type_script_setup_true_lang-y1XTvJl-.js} +3 -3
- package/dist/{ApplyProductDialog.vue_vue_type_script_setup_true_lang-DKwW-KuQ.js → ApplyProductDialog.vue_vue_type_script_setup_true_lang-Direr0Er.js} +3 -3
- package/dist/{Catalog-DmSqkb83.js → Catalog-CEsuu92E.js} +6 -6
- package/dist/{Category-BViqkFeL.js → Category-9pOjST0B.js} +4 -4
- package/dist/{Category-Dlj54Cvf.js → Category-DXNrywxa.js} +4 -4
- package/dist/{CookingGuide-CTy27R3R.js → CookingGuide-Dc2JV-ns.js} +5 -5
- package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-DnkFD9Qo.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-p55lJ4Hz.js} +1 -1
- package/dist/{Group-B_XL8419.js → Group-BYplVkpK.js} +1 -1
- package/dist/{Group-CCHCA3-l.js → Group-ChJNWs6L.js} +3 -3
- package/dist/{Group.vue_vue_type_script_setup_true_lang-D4UZ_9r_.js → Group.vue_vue_type_script_setup_true_lang-a9lXnDNz.js} +7 -7
- package/dist/{GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-Hq-gI8hs.js → GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-TsK2geUE.js} +5 -5
- package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-CMNiLTsy.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-DfxbyQj0.js} +7 -7
- package/dist/{Ingredient-BKMpffiK.js → Ingredient-C36fI_Y_.js} +4 -4
- package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-B-A8Yae3.js → InventoryBinding.vue_vue_type_script_setup_true_lang-DuaXjIZE.js} +2 -2
- package/dist/{LinkProductSideSheet-C0OwARv3.js → LinkProductSideSheet-Cdi9Hm7U.js} +4 -4
- package/dist/{MenuSetting-t2SC98j8.js → MenuSetting-BkOcUXNz.js} +7 -7
- package/dist/{OrderPacing-BeOxlK5N.js → OrderPacing-D47y0kVV.js} +5 -5
- package/dist/{PrintRoute-BehVCEKW.js → PrintRoute-BRyphVV7.js} +5 -5
- package/dist/{Product-JhmPZPy5.js → Product-CqimpkrA.js} +1 -1
- package/dist/{Product.vue_vue_type_script_setup_true_lang-CaIdoW_3.js → Product.vue_vue_type_script_setup_true_lang-yvCJfuKc.js} +14 -14
- package/dist/{ProductInternalTools-BaOhffU-.js → ProductInternalTools-Wreu7jnK.js} +7 -7
- package/dist/{Products-BEL7jDXA.js → Products-DMghTzRH.js} +61 -61
- package/dist/{Publish-0paPWlI9.js → Publish-C8NIDU84.js} +4 -4
- package/dist/{Recipe-C2EDxRF-.js → Recipe-DjbiXqIa.js} +5 -5
- package/dist/{RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-BpGAz8tp.js → RestaurantAttributesSelector.vue_vue_type_script_setup_true_lang-CHo_osK5.js} +1 -1
- package/dist/{RuleView.vue_vue_type_script_setup_true_lang-DP2Sx5Ik.js → RuleView.vue_vue_type_script_setup_true_lang-CdFD-539.js} +514 -514
- package/dist/{Scheduler-Q5uM5gxh.js → Scheduler-BHsNpRwi.js} +3 -3
- package/dist/{ServingSequence-T4C9GPzV.js → ServingSequence-BzXN3119.js} +3 -3
- package/dist/{Setting-Ck9fOSnA.js → Setting-DwzUJeeQ.js} +5 -5
- package/dist/{Subcategory-DA9P_jgR.js → Subcategory--mYhyjBU.js} +6 -6
- package/dist/{Takeaway-BhBwxuQ1.js → Takeaway-C-9Xn5-s.js} +4 -4
- package/dist/{Takeaway-BWHTHlyY.js → Takeaway-SjNunTHs.js} +1 -1
- package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-CoW3ltrF.js → Takeaway.vue_vue_type_script_setup_true_lang-7ilTVxnf.js} +5 -5
- package/dist/{TranslationFieldSection.vue_vue_type_script_setup_true_lang-B_NVIotA.js → TranslationFieldSection.vue_vue_type_script_setup_true_lang-C2ypt2gn.js} +1 -1
- package/dist/{TranslationSideSheet.vue_vue_type_script_setup_true_lang-DKAvaKvf.js → TranslationSideSheet.vue_vue_type_script_setup_true_lang-FCwo1ffe.js} +2 -2
- package/dist/{TreeEditorOpenner.vue_vue_type_script_setup_true_lang-KLajCLq6.js → TreeEditorOpenner.vue_vue_type_script_setup_true_lang-C6T1-4VW.js} +15 -15
- package/dist/{Unit-Cn8MfZ3t.js → Unit-DdHWcsOq.js} +2 -2
- package/dist/{Variant-D8YObOjv.js → Variant-C0NHZgVG.js} +3 -3
- package/dist/{_id_-D3xdoF7g.js → _id_-CGj-_Wf1.js} +10 -10
- package/dist/{app-CytlajzP.js → app-BDnlfh91.js} +1 -1
- package/dist/{app-DW6oW0Ma.js → app-C2sqVqgY.js} +57 -57
- package/dist/app.js +1 -1
- package/dist/apps/mf-menu/src/api/media.d.ts +11 -5
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/productImages.d.ts +5 -15
- package/dist/assets/{linked-status-6NCMYr9j.js → linked-status-BEVoil9k.js} +3 -3
- package/dist/assets/{menu-export-B0G2UoQu.js → menu-export-b7kp_kR4.js} +34 -34
- package/dist/assets/{override-menu-BLTWWMwC.js → override-menu-B3SmDhgz.js} +3 -3
- package/dist/assets/{validate-menu-Bw1SjjTD.js → validate-menu-_Zzd_I1D.js} +2 -2
- package/dist/{catalog-D-eYUu3U.js → catalog-B1ZziPQB.js} +1 -1
- package/dist/{catalogSetting-DTuat7sH.js → catalogSetting-BS1ezczk.js} +1 -1
- package/dist/{currency-Dj_Wt0Hv.js → currency-DL5g-dtI.js} +1 -1
- package/dist/{dayjs.min-DEj15U1R.js → dayjs.min-CQ1_LhKX.js} +2 -2
- package/dist/{discardConfirm-D8fV6Aag.js → discardConfirm-C4LZQnld.js} +1 -1
- package/dist/{index-DM0Bzsz_.js → index-BXJxVDMu.js} +1 -1
- package/dist/{index--oIuzXeT.js → index-CaeqCjsO.js} +5 -5
- package/dist/{index-Kuoa82jl.js → index-Sy9RYXAX.js} +6 -6
- package/dist/{index.vue_vue_type_script_setup_true_lang-COHdIM2S.js → index.vue_vue_type_script_setup_true_lang-CY1f2x06.js} +19 -13
- package/dist/{item-DY5crb6D.js → item-CrOu6IJL.js} +680 -683
- package/dist/{jszip.min-BZ1Z78MP.js → jszip.min-D9mU7b7T.js} +167 -167
- package/dist/{linkProducts-96XgmBUL.js → linkProducts-B4-dbciM.js} +4 -4
- package/dist/{memberPricing-WDnr_fBu.js → memberPricing-BXvkOfwz.js} +1 -1
- package/dist/{menu-xKq7gpBv.js → menu-DKl9OUBT.js} +1 -1
- package/dist/{menuV2-y6RgekH4.js → menuV2-BIf1stG4.js} +88 -88
- package/dist/{order_pacing-5FfwO1W8.js → order_pacing-Ydt58quc.js} +5 -5
- package/dist/packages/shared/src/components/form/ImageDropField.vue.d.ts +5 -0
- package/dist/{priceTier-C-qqjKEP.js → priceTier-fJf9R5E-.js} +1 -1
- package/dist/{rules-BUN28pvZ.js → rules-CcUhxgHd.js} +3 -3
- package/dist/{scheduler-CHwF5zGU.js → scheduler-DTqvX1G_.js} +5 -5
- package/dist/{toExcel-Doi2nxOH.js → toExcel-sGZOMN7R.js} +2 -2
- package/dist/{unit-BnAly_uA.js → unit-DBrzymPd.js} +3 -3
- package/package.json +2 -2
package/dist/app.js
CHANGED
|
@@ -119,8 +119,8 @@ export declare const mediaService: {
|
|
|
119
119
|
* alone. For rewriting the original itself, see `updateOriginal` — same endpoint,
|
|
120
120
|
* different mode, and the only one that is not AI generation.
|
|
121
121
|
*
|
|
122
|
-
*
|
|
123
|
-
* is filled
|
|
122
|
+
* Normally this endpoint runs AI generation, and which mode runs is decided by the
|
|
123
|
+
* field that is filled:
|
|
124
124
|
* - `base64` stores the supplied bytes as the *source* and queues generation from
|
|
125
125
|
* them. It is not a passthrough: the service trims uniform bars off the source and
|
|
126
126
|
* hands it to the model, so what lands is a redraw of the merchant's image at this
|
|
@@ -129,9 +129,13 @@ export declare const mediaService: {
|
|
|
129
129
|
* - `instruction` queues a re-edit of the variant's *current* image (with
|
|
130
130
|
* `regenerateFromOrigin`, of the original instead, discarding previous edits).
|
|
131
131
|
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
132
|
+
* - `directUpload: true` together with `base64` stores those bytes directly as the
|
|
133
|
+
* named ratio. It is synchronous, does not use an AI-generation allowance, and is
|
|
134
|
+
* the mode used when a merchant uploads the final ratio image.
|
|
135
|
+
*
|
|
136
|
+
* The two AI modes drop the ratio back to `pending` for ~40s and consume one AI
|
|
137
|
+
* generation from the business's license allowance. The service rejects an update
|
|
138
|
+
* carrying neither `base64` nor `instruction` with `400 INVALID_PARAM`.
|
|
135
139
|
*
|
|
136
140
|
* Unlike an upload these bytes do pass through the service pod — there is no
|
|
137
141
|
* variant-level `upload-intent` — so callers must send a cropped, re-encoded image
|
|
@@ -146,6 +150,8 @@ export declare const mediaService: {
|
|
|
146
150
|
aspectRatio: AspectRatio;
|
|
147
151
|
base64?: string;
|
|
148
152
|
instruction?: string;
|
|
153
|
+
/** Store `base64` as this ratio's final bytes instead of using it as an AI source. */
|
|
154
|
+
directUpload?: boolean;
|
|
149
155
|
/**
|
|
150
156
|
* Instruction-mode modifier: re-derive from the original instead of the current
|
|
151
157
|
* variant. Sent only when true — the service reads the mode off which key is
|
|
@@ -251,21 +251,11 @@ export declare function generateAspectRatios(itemId: string, image: FdoMenuV4Ite
|
|
|
251
251
|
/** `/images/update` carries its bytes inline, so the file has to become a data URL. */
|
|
252
252
|
export declare function readFileAsDataUrl(file: File): Promise<string>;
|
|
253
253
|
/**
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* model (`/images/update` with `base64`), so the variant ends up a redraw of the
|
|
260
|
-
* supplied photo rather than the photo itself. Cropping to `ratio` in the editor is what
|
|
261
|
-
* frames the subject for the model. It no longer pads the source to the ratio first: the
|
|
262
|
-
* service trims uniform bars off a generation source, so the bars were discarded before
|
|
263
|
-
* the model ever saw them — a real crop at least lets the merchant choose what survives.
|
|
264
|
-
*
|
|
265
|
-
* So this is asynchronous and billable, exactly like `regenerateAspectRatio`: the ratio
|
|
266
|
-
* drops back to `pending` for ~40s and one AI generation is consumed. Callers must show
|
|
267
|
-
* the ratio as generating and poll `listImages` — treating the returned image as final
|
|
268
|
-
* shows the merchant the old variant and calls it done.
|
|
254
|
+
* Replaces one ratio with the merchant's final image and marks it custom.
|
|
255
|
+
*
|
|
256
|
+
* The image editor crops to the requested ratio, then `/images/update` stores those
|
|
257
|
+
* bytes directly with `directUpload: true`. This is synchronous and never invokes AI,
|
|
258
|
+
* so the preview can refresh immediately rather than entering the generation poll.
|
|
269
259
|
*
|
|
270
260
|
* The variant keeps its URL, so the only difference between the input image and the
|
|
271
261
|
* returned one is `imageSet[ratio]`: it now carries the variant URL as a marker meaning
|