mealz-components 2.5.1 → 2.6.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/assets/{OperatorSubscriber-BaYaQC1O.js → OperatorSubscriber-DfCnFunn.js} +1 -1
- package/dist/assets/accordion-Unx2E22K.js +19 -0
- package/dist/assets/{args-BozZ6oU-.js → args-DAL2bHut.js} +1 -1
- package/dist/assets/{async-CFBGA-Dz.js → async-C5Kj_SqM.js} +1 -1
- package/dist/assets/{combineLatest-BmqPE0OB.js → combineLatest-Capvy1jI.js} +1 -1
- package/dist/assets/{debounceTime-B4DpnstH.js → debounceTime-Cf_7YmIn.js} +1 -1
- package/dist/assets/delay-DHNms76g.js +1 -0
- package/dist/assets/{distinctUntilChanged-91AVuO2B.js → distinctUntilChanged-kXqVrZ5h.js} +1 -1
- package/dist/assets/empty-qrpgDBbc.js +1 -0
- package/dist/assets/{filter-BZ75lS5D.js → filter-q99GWcpD.js} +1 -1
- package/dist/assets/firstValueFrom-Bcbk1SUg.js +1 -0
- package/dist/assets/{from-CAidt5N1.js → from-D8c5akO7.js} +1 -1
- package/dist/assets/guestObserver-C5qvv1Ll.js +1 -0
- package/dist/assets/{innerFrom-BgPDnAsH.js → innerFrom-DePszgj9.js} +1 -1
- package/dist/assets/isDate-BwHtzZM4.js +1 -0
- package/dist/assets/isScheduler-CqHuyMwD.js +1 -0
- package/dist/assets/{map-BVOhpQm0.js → map-DT-7dkaR.js} +1 -1
- package/dist/assets/mapOneOrManyArgs-CHGhEDCk.js +1 -0
- package/dist/assets/merge-DzIA6T0M.js +1 -0
- package/dist/assets/mergeAll-DpEYIxY3.js +1 -0
- package/dist/assets/{mergeMap-Dw_YYHwH.js → mergeMap-D2yctTHQ.js} +1 -1
- package/dist/assets/no-shadow-element-D62BBu0I.js +21 -0
- package/dist/assets/of-DtJFltSl.js +1 -0
- package/dist/assets/price-D6RVRYHJ.js +1 -0
- package/dist/assets/product-card-wIoU7Z_5.js +189 -0
- package/dist/assets/promotion-badge-CDaL7Tqv.js +12 -0
- package/dist/assets/{property-_7ObQ3dl.js → property-CoRN-Ln2.js} +1 -1
- package/dist/assets/singleton-COF3iBbF.js +1 -0
- package/dist/assets/skip-Bup0JB81.js +1 -0
- package/dist/assets/{skipWhile-BZVFq1Cg.js → skipWhile-Beza3ws3.js} +1 -1
- package/dist/assets/{state-W5mtSPAs.js → state-DDIoBQp5.js} +1 -1
- package/dist/assets/{switchMap-Dk_0Nhlo.js → switchMap-BAdE9Uzw.js} +1 -1
- package/dist/assets/{take-CozE9iSG.js → take-CpvJwza7.js} +1 -1
- package/dist/assets/{tap-C8CJ3R2H.js → tap-BN_fPb40.js} +1 -1
- package/dist/assets/timer-3Kpx74mt.js +1 -0
- package/dist/assets/{unsafe-html-CY0Np4--.js → unsafe-html-DWUMaK1p.js} +1 -1
- package/dist/assets/{viewport-listener-CDsKFDz1.js → viewport-listener-DsRHfwo4.js} +1 -1
- package/dist/basket-transfer-modal/basket-transfer-modal.min.js +5 -5
- package/dist/catalog/basket-preview/basket-preview.min.js +14 -14
- package/dist/catalog/catalog-category/catalog-category.min.js +1 -1
- package/dist/catalog/catalog-favorites/catalog-favorites.min.js +1 -1
- package/dist/catalog/catalog-history/catalog-history.min.js +1 -1
- package/dist/catalog/catalog-home/catalog-home.min.js +1 -1
- package/dist/catalog/catalog-home-header/catalog-home-header.min.js +1 -0
- package/dist/catalog/catalog-list/catalog-list.min.js +1 -1
- package/dist/catalog/catalog-load-more.min.js +1 -1
- package/dist/catalog/catalog-tabs/catalog-tabs.min.js +1 -1
- package/dist/catalog/catalog-toolbar/catalog-toolbar.min.js +1 -1
- package/dist/catalog/my-meals-button/my-meals-button.min.js +1 -1
- package/dist/counter/counter.min.js +3 -3
- package/dist/drawer/drawer.css +1 -1
- package/dist/drawer/drawer.min.js +5 -5
- package/dist/drawer-view-swapper/drawer-view-swapper.min.js +23 -23
- package/dist/history-drawer/history-drawer.min.js +1 -1
- package/dist/history-order/history-order.min.js +1 -1
- package/dist/history-order-expanded/history-order-expanded.min.js +1 -1
- package/dist/last-order-badge/last-order-badge.min.js +2 -2
- package/dist/last-order-modal/last-order-modal.min.js +4 -4
- package/dist/like-button/like-button.min.js +1 -1
- package/dist/modal/modal.min.js +4 -4
- package/dist/no-supplier-add-to-cart-cta/no-supplier-add-to-cart-cta.min.js +2 -2
- package/dist/onboarding/onboarding.min.js +2 -2
- package/dist/order-again/order-again.min.js +2 -2
- package/dist/planner/helpers/get-planner-onboarding-modal-config.min.js +1 -0
- package/dist/planner/helpers/init-planner-onboarding-modal.min.js +1 -0
- package/dist/planner/helpers/open-onboarding-modal.min.js +1 -1
- package/dist/planner/planner-abandon-modal/planner-abandon-modal.min.js +2 -2
- package/dist/planner/planner-budget-edit-modal/planner-budget-edit-modal.min.js +2 -2
- package/dist/planner/planner-budget-gauge/planner-budget-gauge.min.js +1 -1
- package/dist/planner/planner-catalog/planner-catalog.min.js +2 -2
- package/dist/planner/planner-current-menu/planner-current-menu.css +1 -1
- package/dist/planner/planner-current-menu/planner-current-menu.min.js +1 -1
- package/dist/planner/planner-current-menu-modal/planner-current-menu-modal.min.js +2 -2
- package/dist/planner/planner-dashboard/planner-dashboard.min.js +1 -1
- package/dist/planner/planner-form/planner-form.min.js +7 -7
- package/dist/planner/planner-menu-option/planner-menu-option.min.js +1 -1
- package/dist/planner/planner-onboarding/planner-onboarding.min.js +1 -1
- package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.min.js +7 -7
- package/dist/planner/planner-open-catalog-modal/planner-open-catalog-modal.min.js +2 -2
- package/dist/planner/planner-quick-menu/planner-quick-menu.min.js +1 -1
- package/dist/planner/planner-recipe-card/planner-recipe-card.min.js +1 -1
- package/dist/planner/planner-recipe-list/planner-recipe-list.css +1 -1
- package/dist/planner/planner-recipe-list/planner-recipe-list.min.js +1 -1
- package/dist/planner/planner-recipe-suggestion/planner-recipe-suggestion.css +1 -1
- package/dist/planner/planner-recipe-suggestion/planner-recipe-suggestion.min.js +1 -1
- package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +2 -2
- package/dist/planner/to-basket-loader/to-basket-loader.min.js +5 -5
- package/dist/planner-entry/planner-entry.css +1 -1
- package/dist/planner-entry/planner-entry.min.js +1 -1
- package/dist/preferences/preferences.min.js +4 -4
- package/dist/price/price.min.js +3 -3
- package/dist/product-badges/product-badges.css +1 -1
- package/dist/product-card/product-card.css +1 -1
- package/dist/products-to-basket-cta/products-to-basket-cta.css +1 -0
- package/dist/products-to-basket-cta/products-to-basket-cta.min.js +1 -0
- package/dist/recipe-card/recipe-card.min.js +1 -1
- package/dist/recipe-card-cta/recipe-card-cta.min.js +1 -1
- package/dist/recipe-details/recipe-details.css +1 -1
- package/dist/recipe-details/recipe-details.min.js +105 -107
- package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
- package/dist/recipe-to-basket/recipe-to-basket.css +1 -0
- package/dist/recipe-to-basket/recipe-to-basket.min.js +1 -0
- package/dist/replace-item/replace-item-card/replace-item-card.min.js +11 -11
- package/dist/replace-item/replace-item.min.js +18 -18
- package/dist/replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js +4 -4
- package/dist/replace-item-planner/replace-item-planner.min.js +13 -13
- package/dist/select/select.min.js +6 -6
- package/dist/slider-tabs/slider-tabs.min.js +3 -3
- package/dist/store-indicator/store-indicator.min.js +2 -2
- package/dist/store-locator/store-locator.min.js +2 -2
- package/dist/store-locator-drawer/store-locator-drawer.min.js +2 -2
- package/dist/supplier-selector/supplier-selector.min.js +6 -6
- package/package.json +1 -1
- package/dist/assets/accordion-DJLqKUJq.js +0 -19
- package/dist/assets/custom-element-BhZVzxrc.js +0 -5
- package/dist/assets/delay-BNnJ-6LE.js +0 -1
- package/dist/assets/empty-0eVnsLmk.js +0 -1
- package/dist/assets/isScheduler-C5PGPVU1.js +0 -1
- package/dist/assets/mapOneOrManyArgs-COA1aRZM.js +0 -1
- package/dist/assets/merge-Cm-mm3_Q.js +0 -1
- package/dist/assets/mergeAll-BdUAXyrs.js +0 -1
- package/dist/assets/no-shadow-element-YPHUv5PR.js +0 -21
- package/dist/assets/of-DiALp3BZ.js +0 -1
- package/dist/assets/price-DAxY_7sk.js +0 -1
- package/dist/assets/product-card-HetVhdJ3.js +0 -189
- package/dist/assets/promotion-badge-8Arhhb-p.js +0 -12
- package/dist/assets/skip-zbH-ayby.js +0 -1
- package/dist/assets/timer-D82-ik89.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
mealz-planner-current-menu{display:block}.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F);display:flex;flex-direction:column;min-height:100dvh}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 24px;box-sizing:border-box}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex;align-items:center;gap:8px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-catalog-toolbar__loader,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-catalog-toolbar__loader{position:relative;top:-10px;right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences .hidden,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;flex:1 1 auto;min-height:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0;position:relative}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:12px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-left:4px}.mealz-planner-current-menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row;justify-content:stretch;align-items:center;position:sticky;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f;z-index:10}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-fixed{position:fixed}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1035px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:410px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 410px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px 0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,218px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:218px;height:272px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{padding:8px 16px;gap:8px;border-bottom:1px solid var(--mealz-ds-color-border-default, var(--border-default, #d9e0e3))}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:row;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__content{min-height:460px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer{border-radius:32px 32px 0 0;box-shadow:0 -2px 8px #0318201f;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;gap:12px}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:none;width:100%;flex-direction:column-reverse;align-items:stretch}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:block;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
|
|
1
|
+
mealz-planner-current-menu{display:block}.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F);display:flex;flex-direction:column;min-height:100dvh}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 24px;box-sizing:border-box}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex;align-items:center;gap:8px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-catalog-toolbar__loader,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-catalog-toolbar__loader{position:relative;top:-10px;right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences .hidden,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;flex:1 1 auto;min-height:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0;position:relative}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:12px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-left:4px}.mealz-planner-current-menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row;justify-content:stretch;align-items:center;position:sticky;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f;z-index:10}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-fixed{position:fixed}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1035px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:410px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 410px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px 0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,218px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:218px;height:272px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{padding:8px 16px;gap:8px;border-bottom:1px solid var(--mealz-ds-color-border-default, var(--border-default, #d9e0e3))}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:row;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__content{min-height:460px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer{box-shadow:0 -2px 8px #0318201f;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;gap:12px}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-quick-menu-visible{border-radius:32px 32px 0 0}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:none;width:100%;flex-direction:column-reverse;align-items:stretch}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:block;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{o as w}from"../helpers/open-onboarding-modal.min.js";import{M as S}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M}from"../planner-onboarding/planner-onboarding.min.js";import{M as k}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as _}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{M as I}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{v as P,p as L,N as z,B as T,O}from"../../assets/no-shadow-element-YPHUv5PR.js";import{t as x}from"../../assets/custom-element-BhZVzxrc.js";import{r as E}from"../../assets/state-W5mtSPAs.js";import{m as s}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as A,a as q}from"../../assets/responsive-C7Qf71r3.js";import{P as F}from"../../assets/price-DAxY_7sk.js";import{g as v,f as V}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-CozE9iSG.js";import{s as h}from"../../assets/switchMap-Dk_0Nhlo.js";import{f as D}from"../../assets/from-CAidt5N1.js";import{m}from"../../assets/map-BVOhpQm0.js";import{f}from"../../assets/filter-BZ75lS5D.js";import{c as $}from"../../assets/combineLatest-BmqPE0OB.js";import"../../drawer/drawer.min.js";import"../../assets/property-_7ObQ3dl.js";import"../../assets/unsafe-html-CY0Np4--.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-BZVFq1Cg.js";import"../../assets/OperatorSubscriber-BaYaQC1O.js";import"../../assets/innerFrom-BgPDnAsH.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-CDsKFDz1.js";import"../../assets/debounceTime-B4DpnstH.js";import"../../assets/async-CFBGA-Dz.js";import"../../assets/empty-0eVnsLmk.js";import"../../assets/merge-Cm-mm3_Q.js";import"../../assets/mergeAll-BdUAXyrs.js";import"../../assets/mergeMap-Dw_YYHwH.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-BozZ6oU-.js";import"../../assets/isScheduler-C5PGPVU1.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-HetVhdJ3.js";import"../../price/price.min.js";import"../../assets/promotion-badge-8Arhhb-p.js";import"../../assets/delay-BNnJ-6LE.js";import"../../assets/timer-D82-ik89.js";import"../../assets/accordion-DJLqKUJq.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/query-BApjzB0v.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../assets/tap-C8CJ3R2H.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-COA1aRZM.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-91AVuO2B.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../assets/of-DiALp3BZ.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";var U=P(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function g(e,t){return new Promise(function(r,n){var i=new L({next:function(o){r(o),i.unsubscribe()},error:n,complete:function(){n(new U)}});e.subscribe(i)})}function W({root:e,footer:t,fixedClass:r="is-fixed"}){let n;const i=()=>{n=void 0;const a=e.getBoundingClientRect(),c=t.offsetHeight||0,p=window.innerHeight||document.documentElement.clientHeight,u=a.top<p-c&&a.bottom>p;t.classList.toggle(r,u),u?(t.style.left=`${a.left}px`,t.style.width=`${a.width}px`,e.style.paddingBottom=`${c}px`):(t.style.left="",t.style.width="",e.style.paddingBottom="")},o=()=>{n===void 0&&(n=window.requestAnimationFrame(i))};return window.addEventListener("scroll",o,{passive:!0}),window.addEventListener("resize",o,{passive:!0}),o(),()=>{window.removeEventListener("scroll",o),window.removeEventListener("resize",o),n!==void 0&&(window.cancelAnimationFrame(n),n=void 0),t.classList.remove(r),t.style.left="",t.style.width="",e.style.paddingBottom=""}}var N=Object.defineProperty,G=Object.getOwnPropertyDescriptor,b=(e,t,r,n)=>{for(var i=n>1?void 0:n?G(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(n?a(t,r,i):a(i))||i);return n&&i&&N(t,r,i),i};const C="view",R="menu",B="recipe";let d=class extends z{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new T(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=F.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.addEventListener("budgetUpdated",e=>{const t=e.detail;(t==null?void 0:t.budgetLimit)===void 0||t.budgetLimit===null||this.updateBudget(t.budgetLimit)}),this.isMobile=A(this,"","(max-width: 1023px)"),this.isCustomMenu=localStorage.getItem("_miam/isCustomMenu")==="true",this.mobileView=this.getInitialMobileViewFromUrlOrDefault(),this.handleResize(),this.removeResponsiveListener=q(this,e=>{e!==this.isMobile&&(this.isMobile=e),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(e=>this.updatePreferencesCount(e)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return W({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")?this.handlePrefilledRecipesFromEntry():this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const n=Date.now(),i=()=>{const o=this.nbrRecipeInMenu,a=Date.now()-n;if(o>0||a>=1e3){e();return}globalThis.setTimeout(i,50)};requestAnimationFrame(()=>{i()})})}showWelcomeModal(){const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new _;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu,!1)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true"),this.startPlannerOnboarding(!1,!0)}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const n=r.currentView$.subscribe(i=>{i!==void 0&&(document.body.contains(e)&&e.remove(),n.unsubscribe())})})}startPlannerOnboarding(e,t){this.scrollIntoView({behavior:"smooth",block:"center"});const r=new M;r.isCustomMenu=e,document.body.appendChild(r),t?(r.type=this.isMobile?"guide-mobile":"guide",r.launchOnboardingTour()):(this.isMobile?r.type=e?"custom-mobile":"suggestion-mobile":r.type=e?"custom":"suggestion",r.startTour())}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>w("current")),this.addClickListener("onboardingButtonMobile",()=>w("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e,t){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu"),(t==null?void 0:t.updateUrl)!==!1&&this.updateUrlMobileView(e)}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",n&&(n.style.display=e?"flex":"none"),i&&(i.style.display=e?"flex":"none"),o&&(o.style.display=e?"none":"block"))}showSuggestions(){this.setMobileView("recipe")}getInitialMobileViewFromUrlOrDefault(){const e=this.getUrlMobileView();return e||(this.isCustomMenu?"recipe":"menu")}getUrlMobileView(){if(typeof window>"u")return null;try{const t=new URLSearchParams(window.location.search).get(C);return t?t===R?"menu":t===B?"recipe":null:null}catch{return null}}updateUrlMobileView(e){var t;if(!(typeof window>"u")&&(t=window.history)!=null&&t.replaceState)try{const r=new URL(window.location.href);r.searchParams.set(C,e==="menu"?R:B),window.history.replaceState(window.history.state,"",r.toString())}catch{console.error("Failed to update URL mobile view")}}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),n&&(n.style.display="none")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const n=r.querySelector("p");n&&(n.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new S;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=v()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),h(()=>s.planner.createMenu()),l(1),h(r=>{const n=r==null?void 0:r.id;return n?D(V(!0)).pipe(h(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),m(()=>{})))):new O(i=>{i.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){s.hook.hookCallback().pipe(l(1)).subscribe(e=>{e&&(this.storeId?(this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone()):console.log("register menu"))})}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(f(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),m(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push($([t,e]).pipe(l(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=r.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:n}=this.elements;!t||!r||!n||(t.classList.toggle("disabled",!e),r.classList.toggle("hidden",!e),n.classList.toggle("hidden",e))}openCatalogModal(){const e=new k;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const n=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(n&&n.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,n){var u,y;const i=(y=(u=s.recipes)==null?void 0:u.productsPlannerByCategory$)==null?void 0:y.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),c=n||this.getJourney(),p=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,p,o).pipe(l(1),m(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,c),this.loaderToBasketComplete$.value&&this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),m(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var n;if(localStorage.getItem("_miam/menuToBasketOnboarding")==="true")return;this.isMobile&&this.setMobileView("menu");const t=document.querySelector("mealz-drawer-view-swapper");((n=t==null?void 0:t.currentView$)==null?void 0:n.value)!==void 0?this.subscriptions.push(t.currentView$.pipe(f(i=>i===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){this.updateComplete.then(()=>{const e=new M;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const n=r.recipeId;n&&e.push(n)}),e}pageview(){s.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){s.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";s.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){s.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){s.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=s.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var c;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),n=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),i=this.querySelector(".mealz-planner-budget-gauge__budget"),o=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),n&&n.classList.toggle("hidden",e<=0),i&&i.classList.toggle("only-total",e<=0),o&&o.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(c=a.elements)!=null&&c.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new I;r.displayPlannerCurrentMenuModal();const n=e||(()=>this.replaceMenuWithPrefilledRecipes()),i=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",n),r.addEventListener("keepMenu",i)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const n=r.recipeId;n&&t.push(n)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await g(s.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||v()||4,t=this.loaderToBasketElement?g(this.loaderToBasketComplete$.pipe(f(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await g(this.addRecipe(n,e).pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),t]);const r=document.querySelector(".mealz-planner-current-menu");r&&(r.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}};b([E()],d.prototype,"isMobile",2);b([E()],d.prototype,"mobileView",2);d=b([x("mealz-planner-current-menu")],d);customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",d);
|
|
1
|
+
import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{o as M}from"../helpers/open-onboarding-modal.min.js";import{M as E}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as w}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as I}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{M as L}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O as T}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as k}from"../../assets/state-DDIoBQp5.js";import{m as o}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as O,a as q}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-D6RVRYHJ.js";import{g as v,f as x}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-CpvJwza7.js";import{s as m}from"../../assets/switchMap-BAdE9Uzw.js";import{f as F}from"../../assets/from-D8c5akO7.js";import{m as p}from"../../assets/map-DT-7dkaR.js";import{f as h}from"../../assets/filter-q99GWcpD.js";import{c as V}from"../../assets/combineLatest-Capvy1jI.js";import{f}from"../../assets/firstValueFrom-Bcbk1SUg.js";import"../../drawer/drawer.min.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-Beza3ws3.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-DsRHfwo4.js";import"../../assets/debounceTime-Cf_7YmIn.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/merge-DzIA6T0M.js";import"../../assets/mergeAll-DpEYIxY3.js";import"../../assets/mergeMap-D2yctTHQ.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-wIoU7Z_5.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-CDaL7Tqv.js";import"../../assets/guestObserver-C5qvv1Ll.js";import"../../assets/delay-DHNms76g.js";import"../../assets/timer-3Kpx74mt.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-Unx2E22K.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/query-BApjzB0v.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../assets/tap-BN_fPb40.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-kXqVrZ5h.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../assets/of-DtJFltSl.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";function $({root:c,footer:e,fixedClass:t="is-fixed"}){let r;const i=()=>{r=void 0;const s=c.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,u=s.top<d-a&&s.bottom>d;e.classList.toggle(t,u),u?(e.style.left=`${s.left}px`,e.style.width=`${s.width}px`,c.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",c.style.paddingBottom="")},n=()=>{r===void 0&&(r=window.requestAnimationFrame(i))};return window.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",n,{passive:!0}),n(),()=>{window.removeEventListener("scroll",n),window.removeEventListener("resize",n),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",c.style.paddingBottom=""}}var D=Object.defineProperty,S=(c,e,t,r)=>{for(var i=void 0,n=c.length-1,s;n>=0;n--)(s=c[n])&&(i=s(e,t,i)||i);return i&&D(e,t,i),i};const C="view",R="menu",B="recipe";class g extends P{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new z(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=A.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.addEventListener("budgetUpdated",e=>{const t=e.detail;(t==null?void 0:t.budgetLimit)===void 0||t.budgetLimit===null||this.updateBudget(t.budgetLimit)}),this.isMobile=O(this,"","(max-width: 1023px)"),this.isCustomMenu=localStorage.getItem("_miam/isCustomMenu")==="true",this.mobileView=this.getInitialMobileViewFromUrlOrDefault(),this.handleResize(),this.removeResponsiveListener=q(this,e=>{e!==this.isMobile&&(this.isMobile=e),this.handleResize()},"","(max-width: 1023px)"),o.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(o.preferences.preferencesCount().subscribe(e=>this.updatePreferencesCount(e)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return $({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")?this.handlePrefilledRecipesFromEntry():this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const i=Date.now(),n=()=>{const s=this.nbrRecipeInMenu,a=Date.now()-i;if(s>0||a>=1e3){e();return}globalThis.setTimeout(n,50)};requestAnimationFrame(()=>{n()})})}showWelcomeModal(){const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new I;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",i=>{const n=i.detail??{};this.startPlannerOnboarding(n.isCustomMenu??this.isCustomMenu,!1)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true"),this.startPlannerOnboarding(!1,!0)}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const i=r.currentView$.subscribe(n=>{n!==void 0&&(document.body.contains(e)&&e.remove(),i.unsubscribe())})})}startPlannerOnboarding(e,t){this.scrollIntoView({behavior:"smooth",block:"center"});const r=new w;r.isCustomMenu=e,document.body.appendChild(r),t?(r.type=this.isMobile?"guide-mobile":"guide",r.launchOnboardingTour()):(this.isMobile?r.type=e?"custom-mobile":"suggestion-mobile":r.type=e?"custom":"suggestion",r.startTour())}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>M("current")),this.addClickListener("onboardingButtonMobile",()=>M("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e,t){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu"),(t==null?void 0:t.updateUrl)!==!1&&this.updateUrlMobileView(e)}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:i,footerPrimary:n,footerQuickMenu:s,footer:a}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",i&&(i.style.display=e?"flex":"none"),n&&(n.style.display=e?"flex":"none"),s&&(s.style.display=e?"none":"block"),a&&a.classList.toggle("is-quick-menu-visible",!e))}showSuggestions(){this.setMobileView("recipe")}getInitialMobileViewFromUrlOrDefault(){const e=this.getUrlMobileView();return e||(this.isCustomMenu?"recipe":"menu")}getUrlMobileView(){if(typeof window>"u")return null;try{const t=new URLSearchParams(window.location.search).get(C);return t?t===R?"menu":t===B?"recipe":null:null}catch{return null}}updateUrlMobileView(e){var t;if(!(typeof window>"u")&&(t=window.history)!=null&&t.replaceState)try{const r=new URL(window.location.href);r.searchParams.set(C,e==="menu"?R:B),window.history.replaceState(window.history.state,"",r.toString())}catch{console.error("Failed to update URL mobile view")}}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:i,footer:n}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),i&&(i.style.display="none"),n&&n.classList.remove("is-quick-menu-visible")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const i=r.querySelector("p");i&&(i.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new E;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=v()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=o.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>o.planner.createMenu()),l(1),m(r=>{const i=r==null?void 0:r.id;return i?F(x(!0)).pipe(m(n=>o.planner.updateMenu(i,{attributes:{guests:e,title:n}}).pipe(l(1),p(()=>{})))):new T(n=>{n.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){o.hook.hookCallback().pipe(l(1)).subscribe(e=>{e&&(this.storeId?(this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone()):console.log("register menu"))})}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(h(r=>r===!0),l(1)),t=o.planner.menuToBasket(this.basket.id).pipe(l(1),p(()=>o.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const n=r.querySelector("img");n&&n.src&&e.push(n.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:i}=this.elements;!t||!r||!i||(t.classList.toggle("disabled",!e),r.classList.toggle("hidden",!e),i.classList.toggle("hidden",e))}openCatalogModal(){const e=new _;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const i=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(i&&i.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,i){var b,y;const n=(y=(b=o.recipes)==null?void 0:b.productsPlannerByCategory$)==null?void 0:y.value,s=(n==null?void 0:n.toPickProducts)||[],a=r||this.getRecipeSource(),d=i||this.getJourney(),u=!!o.pos.currentPos().value;return this.recipeSources.set(e,a),o.planner.addRecipeToMenu(e,t,u,s).pipe(l(1),p(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.loaderToBasketComplete$.value&&this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return o.planner.removeRecipeFromMenu(e).pipe(l(1),p(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var i;if(localStorage.getItem("_miam/menuToBasketOnboarding")==="true")return;this.isMobile&&this.setMobileView("menu");const t=document.querySelector("mealz-drawer-view-swapper");((i=t==null?void 0:t.currentView$)==null?void 0:i.value)!==void 0?this.subscriptions.push(t.currentView$.pipe(h(n=>n===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){this.updateComplete.then(()=>{const e=new w;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const i=r.recipeId;i&&e.push(i)}),e}pageview(){o.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){o.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";o.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){o.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=o.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var d;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),i=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),n=this.querySelector(".mealz-planner-budget-gauge__budget"),s=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),i&&i.classList.toggle("hidden",e<=0),n&&n.classList.toggle("only-total",e<=0),s&&s.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(d=a.elements)!=null&&d.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new L;r.displayPlannerCurrentMenuModal();const i=e||(()=>this.replaceMenuWithPrefilledRecipes()),n=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",i),r.addEventListener("keepMenu",n)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const i=r.recipeId;i&&t.push(i)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await f(o.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||v()||4,t=this.loaderToBasketElement?f(this.loaderToBasketComplete$.pipe(h(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const i of this.prefilledRecipeIds)try{await f(this.addRecipe(i,e).pipe(l(1)))}catch(n){console.error("Error adding prefilled recipe to menu:",n)}})(),t]);const r=document.querySelector(".mealz-planner-current-menu");r&&(r.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}}S([k()],g.prototype,"isMobile");S([k()],g.prototype,"mobileView");customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",g);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as t,k as n}from"../../assets/no-shadow-element-D62BBu0I.js";import{M as a}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";class s extends t{constructor(){super(),this.styleURL=new URL("./planner/planner-current-menu-modal/planner-current-menu-modal.css",this.getBaseURL())}displayPlannerCurrentMenuModal(){const e=new a;document.body.appendChild(this),e.titleSlot=n`<span>Menu déjà en cours</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>this.remove())}replaceMenu(){const e=new CustomEvent("replaceMenu");this.dispatchEvent(e),this.remove()}keepMenu(){const e=new CustomEvent("keepMenu");this.dispatchEvent(e),this.remove()}renderModal(){return n`
|
|
2
2
|
<div class="mealz-planner-current-menu-modal__content">
|
|
3
3
|
<div class="mealz-planner-current-menu-modal__description mealz-ds-text size-m">
|
|
4
4
|
<span>Vous avez déjà un menu en cours de planification.</span>
|
|
@@ -14,4 +14,4 @@ import{N as u,k as o}from"../../assets/no-shadow-element-YPHUv5PR.js";import{M a
|
|
|
14
14
|
<span class="mealz-ds-text size-s weight-xl">Remplacer mon menu</span>
|
|
15
15
|
</button>
|
|
16
16
|
</div>
|
|
17
|
-
`}}
|
|
17
|
+
`}}customElements.get("mealz-planner-current-menu-modal")||customElements.define("mealz-planner-current-menu-modal",s);export{s as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{o
|
|
1
|
+
import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{o}from"../helpers/open-onboarding-modal.min.js";import{N as r}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as n}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/property-CoRN-Ln2.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../onboarding/events.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";class i extends r{constructor(){super(...arguments),this.analyticsPath="/meals-planner/dashboard"}get selectors(){return{historyLink:".mealz-planner-dashboard__history-container",onboardingButton:".mealz-planner-dashboard__onboarding-container"}}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners()}addEventListeners(){var e,a;(e=this.elements.historyLink)==null||e.addEventListener("click",t=>this.navigateToHistory(t)),(a=this.elements.onboardingButton)==null||a.addEventListener("click",t=>this.openOnboardingModal(t))}navigateToHistory(e){e.preventDefault();const a=e.currentTarget;n.hook.hookCallback().subscribe(t=>{t&&(window.location.href=a.href)})}openOnboardingModal(e){e.preventDefault(),o("dashboard")}pageview(){n.analytics.sendEvent("pageview",this.analyticsPath,{})}}customElements.get("mealz-planner-dashboard")||customElements.define("mealz-planner-dashboard",i);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as c,D as g,k as a}from"../../assets/no-shadow-element-D62BBu0I.js";import{n as i}from"../../assets/property-CoRN-Ln2.js";import{m as r}from"../../assets/mealz-sdk-E_fNZM-c.js";import{f as h}from"../helpers/menu-title.min.js";import{t as m}from"../../assets/take-CpvJwza7.js";import{f as b}from"../../assets/from-D8c5akO7.js";import{s as p}from"../../assets/switchMap-BAdE9Uzw.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";var f=Object.defineProperty,o=(l,e,t,v)=>{for(var s=void 0,u=l.length-1,d;u>=0;u--)(d=l[u])&&(s=d(e,t,s)||s);return s&&f(e,t,s),s};class n extends c{constructor(){super(),this.menuId="",this.guests=4,this.hideBudget=!1,this.isCustomMenu=!1,this.currentMenuModal=!1,this.budget=0,this.generatingLoader=!1,this.analyticsPath="/meals-planner/dashboard",this.styleURL=new URL("./planner/planner-form/planner-form.css",this.getBaseURL())}render(){return a`
|
|
2
2
|
<div class="mealz-planner-form">
|
|
3
3
|
<img class="mealz-planner-form__logo"
|
|
4
4
|
src="https://storage.googleapis.com/assets.miam.tech/generic/images/meals-planner_logo.svg" alt="Meals Planner"/>
|
|
@@ -22,7 +22,7 @@ import{N as g,D as h,k as r}from"../../assets/no-shadow-element-YPHUv5PR.js";imp
|
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
|
-
${this.hideBudget?
|
|
25
|
+
${this.hideBudget?g:this.renderBudgetSection()}
|
|
26
26
|
|
|
27
27
|
<button class="mealz-planner-form__submit-button mealz-ds-button primary"
|
|
28
28
|
@click="${()=>this.currentMenuModal?this.displayCurrentMenuModal():this.generateMenu()}">
|
|
@@ -30,18 +30,18 @@ import{N as g,D as h,k as r}from"../../assets/no-shadow-element-YPHUv5PR.js";imp
|
|
|
30
30
|
</button>
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
|
-
`}renderGuestIcons(){return
|
|
34
|
-
${Array.from({length:this.guests}).map(()=>
|
|
33
|
+
`}renderGuestIcons(){return a`
|
|
34
|
+
${Array.from({length:this.guests}).map(()=>a`
|
|
35
35
|
<div class="mealz-planner-form__guest-icon">
|
|
36
36
|
<img src="https://storage.googleapis.com/assets.miam.tech/generic/icons/User_white.svg" alt="user icon"/>
|
|
37
37
|
</div>
|
|
38
38
|
`)}
|
|
39
|
-
`}renderButtonContent(){return
|
|
39
|
+
`}renderButtonContent(){return a`
|
|
40
40
|
<div class="mealz-planner-form__button-content">
|
|
41
41
|
<span class="mealz-ds-text size-s weight-xl ${this.generatingLoader?"hidden":""}">Générer mon menu</span>
|
|
42
42
|
<div class="mealz-ds-loader mealz-planner-form__submit-loader ${this.generatingLoader?"":"hidden"}"></div>
|
|
43
43
|
</div>
|
|
44
|
-
`}renderBudgetSection(){return
|
|
44
|
+
`}renderBudgetSection(){return a`
|
|
45
45
|
<div class="mealz-planner-form__budget">
|
|
46
46
|
<div class="mealz-planner-form__budget-container">
|
|
47
47
|
<div class="mealz-planner-form__budget-label">
|
|
@@ -59,4 +59,4 @@ import{N as g,D as h,k as r}from"../../assets/no-shadow-element-YPHUv5PR.js";imp
|
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
|
-
`}updateBudget(e){const t=e.target;this.budget=Number(t.value)||0}updateGuests(e){this.guests=Math.max(1,Math.min(12,this.guests+e))}displayCurrentMenuModal(){this.generatingLoader=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-current-menu");e?e.displayCurrentMenuModal(()=>this.replaceMenu(),()=>{this.keepMenu(),this.generatingLoader=!1,this.requestUpdate()}):(console.warn("mealz-planner-current-menu component not found, proceeding without modal"),this.generatingLoader=!1,this.requestUpdate(),this.generateMenu())}generateMenu(){this.generatingLoader=!0,this.requestUpdate(),this.updateMenu().pipe(
|
|
62
|
+
`}updateBudget(e){const t=e.target;this.budget=Number(t.value)||0}updateGuests(e){this.guests=Math.max(1,Math.min(12,this.guests+e))}displayCurrentMenuModal(){this.generatingLoader=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-current-menu");e?e.displayCurrentMenuModal(()=>this.replaceMenu(),()=>{this.keepMenu(),this.generatingLoader=!1,this.requestUpdate()}):(console.warn("mealz-planner-current-menu component not found, proceeding without modal"),this.generatingLoader=!1,this.requestUpdate(),this.generateMenu())}generateMenu(){this.generatingLoader=!0,this.requestUpdate(),this.updateMenu().pipe(m(1)).subscribe(()=>{const e={detail:{guests:this.guests,budget:this.budget},bubbles:!0,composed:!0};this.generateMenuEvent();const t=new CustomEvent("generateMenu",e);this.dispatchEvent(t)})}updateMenu(){const e={guests:this.guests,budget:this.budget};return b(h(this.isCustomMenu)).pipe(p(t=>r.planner.updateMenu(this.menuId,{attributes:{...e,title:t}})))}replaceMenu(){this.resetMenuEvent(),r.planner.deleteMenu(this.menuId).pipe(m(1),p(()=>r.planner.createMenu()),m(1)).subscribe(e=>{this.menuId=e.id,this.generateMenu()})}keepMenu(){const e=new CustomEvent("displayDashboard");this.dispatchEvent(e),this.remove()}generateMenuEvent(){r.analytics.sendEvent("planner.started",this.analyticsPath,{guests:this.guests,budget:this.budget,mode:this.isCustomMenu?"custom":"from-featured"})}resetMenuEvent(){r.analytics.sendEvent("planner.reset",this.analyticsPath,{})}}o([i({type:String})],n.prototype,"menuId");o([i({type:Number})],n.prototype,"guests");o([i({type:Boolean})],n.prototype,"hideBudget");o([i({type:Boolean})],n.prototype,"isCustomMenu");o([i({type:Boolean})],n.prototype,"currentMenuModal");customElements.get("mealz-planner-form")||customElements.define("mealz-planner-form",n);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../planner-form/planner-form.min.js";import{M as
|
|
1
|
+
import"../planner-form/planner-form.min.js";import{M as m}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as i}from"../../assets/mealz-sdk-E_fNZM-c.js";import{g as M,f as g}from"../helpers/menu-title.min.js";import{t as r}from"../../assets/take-CpvJwza7.js";import{o as l}from"../../assets/of-DtJFltSl.js";import{f}from"../../assets/from-D8c5akO7.js";import{s as d}from"../../assets/switchMap-BAdE9Uzw.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";class C extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.storeId="",this.recipeIds=[],this.hasCustomRecipes=!1,this.currentMenuPageUrl="",this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1,this.menuTitle="",this.shouldUpdateMenuTitleOnRedirect=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initStartingData(),this.initSelectors(),this.addEventListeners(),this.syncGuestsFromStorage(),this.listenToPlannerGuestsChanges()}disconnectedCallback(){this.plannerGuestsChangeHandler&&document.removeEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler),super.disconnectedCallback()}initStartingData(){const e=this.getAttribute("starting-data");if(e){try{const{isCustomMenu:t,guestsPreference:n,storeId:s,hasCustomRecipes:a,menuId:o,recipesId:u,currentMenuPageUrl:h,recipeImgs:c}=JSON.parse(e);this.isCustomMenu=!!t,this.storeId=s??this.storeId,this.hasCustomRecipes=!!a,this.menuId=o??this.menuId,this.currentMenuPageUrl=h??this.currentMenuPageUrl,this.recipeImgs=c||[],this.recipeIds=Array.isArray(u)?u:[],typeof n=="number"&&(this.guests=n)}catch(t){console.error("Failed to parse starting-data:",t)}this.removeAttribute("starting-data"),this.initMenuTitle(),this.syncGuestsFromStorage()}}initMenuTitle(){i.planner.fetchMenuTitle().pipe(r(1)).subscribe(e=>{this.menuTitle=e||""})}syncGuestsFromStorage(){const e=M();typeof e=="number"&&(this.guests=e)}listenToPlannerGuestsChanges(){this.plannerGuestsChangeHandler=e=>{var n;const t=e;(n=t.detail)!=null&&n.guests&&(this.guests=t.detail.guests)},document.addEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler)}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.handleMenuOptionClick())}handleMenuOptionClick(){const e=this.isCustomMenu?"custom":"from-featured";this.sendModeSelectEvent(e),this.isFromPlannerEntry(),localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),this.proceedAfterHookAndOptionalModal()}sendModeSelectEvent(e){i.analytics.sendEvent("planner.mode.select",this.analyticsPath,{mode:e,guests:this.guests},"meals-planner-home")}isFromPlannerEntry(){return!!document.querySelector("mealz-planner-entry")}proceedAfterHookAndOptionalModal(){if(this.isFromPlannerEntry()){localStorage.setItem("_mealz/planner/from-entry","true"),!this.isCustomMenu&&this.recipeIds.length>0&&(this.hasCustomRecipes||(this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="")),this.redirectToMenu();return}else localStorage.removeItem("_mealz/planner/from-entry");!this.isCustomMenu||this.recipeIds.length===0?this.displayPlannerForm():this.redirectToMenu()}displayPlannerForm(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");let t=document.querySelector("mealz-planner-form");t||(t=document.createElement("mealz-planner-form"),t.guests=this.guests,t.isCustomMenu=this.isCustomMenu,t.hideBudget=!this.isCustomMenu||!this.storeId,t.currentMenuModal=!this.isCustomMenu&&this.hasCustomRecipes,t.menuId=this.menuId,t.addEventListener("displayDashboard",()=>this.displayDashboard()),t.addEventListener("generateMenu",()=>{this.redirectToMenu()}),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}updateMenuTitle(){return this.menuTitle.length>0?l(null):f(g(this.isCustomMenu)).pipe(d(e=>(this.menuTitle=e,i.planner.updateMenu(this.menuId,{attributes:{title:e}}))))}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0;const e=this.shouldUpdateMenuTitleOnRedirect&&!this.isCustomMenu;this.shouldUpdateMenuTitleOnRedirect=!1,(e?this.updateMenuTitle():l(null)).pipe(r(1)).subscribe({next:()=>{this.sendRedirectToMenuEvent();const n=this.getCurrentMenuUrlWithInitialView();n&&n!==globalThis.location.href&&(globalThis.location.href=n)},error:n=>{console.error("Error updating menu title:",n),this.sendRedirectToMenuEvent();const s=this.getCurrentMenuUrlWithInitialView();s&&s!==globalThis.location.href&&(globalThis.location.href=s)}})}sendRedirectToMenuEvent(){const e=this.getCurrentMenuUrlWithInitialView(),t=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:e}});this.dispatchEvent(t)}getCurrentMenuUrlWithInitialView(){const e=this.currentMenuPageUrl;if(!e)return e;const t=this.isCustomMenu?"recipe":"menu",n=this.isFromPlannerEntry()&&!this.isCustomMenu&&this.recipeIds.length>0;try{const s=new URL(e,globalThis.location.origin);return s.searchParams.set("view",t),n&&s.searchParams.set("fromFeatured","true"),s.toString()}catch{const s=e.includes("?")?"&":"?",a=`view=${encodeURIComponent(t)}`;return`${e}${s}${a}${n?"&fromFeatured=true":""}`}}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new m;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=i.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(r(1)).subscribe(()=>{globalThis.location.reload()})}replaceMenu(){this.resetMenuEvent(),i.planner.deleteMenu(this.menuId).pipe(r(1),d(()=>i.planner.createMenu()),r(1)).subscribe(e=>{this.menuId=e.id,this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="",this.proceedAfterHookAndOptionalModal()})}keepMenu(){this.redirectToMenu()}resetMenuEvent(){i.analytics.sendEvent("planner.reset",this.analyticsPath,{})}}customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",C);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as d}from"../../assets/custom-element-BhZVzxrc.js";import{n as m}from"../../assets/property-_7ObQ3dl.js";import{r as g}from"../../assets/state-W5mtSPAs.js";import{M as b}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-YPHUv5PR.js";import{O as v,b as f,c as y}from"../../onboarding/events.min.js";import{t as C,a as O,b as p,c as z}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as _,a as T}from"../../assets/responsive-C7Qf71r3.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-E_fNZM-c.js";var S=Object.defineProperty,P=Object.getOwnPropertyDescriptor,u=(e,t,o,s)=>{for(var i=s>1?void 0:s?P(t,o):t,a=e.length-1,n;a>=0;a--)(n=e[a])&&(i=(s?n(t,o,i):n(i))||i);return s&&i&&S(t,o,i),i};const l=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",c={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. '}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l’accès au catalogue de recettes seront visibles ici.",fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},guide:{type:"guide",steps:[{element:".mealz-planner-current-menu__onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1},"guide-mobile":{type:"guide-mobile",steps:[{element:".mealz-planner-current-menu__mobile-onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:l,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:l,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1,bottomMargin:36}};let r=class extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){super.connectedCallback(),this.isMobile=_(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new b,this.onboardingComponent.configurations=c,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,o;(e=this.onboardingComponent)==null||e.addEventListener(v,()=>{var s;C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((s=this.onboardingComponent)!=null&&s.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(f,s=>{var n;const a=((n=s.detail)==null?void 0:n.stepIndex)??0;O(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=a+1,p(this.mapTypeForAnalytics(this.type),this.currentStep)}),(o=this.onboardingComponent)==null||o.addEventListener(y,()=>{z(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&c[`${this.type}-mobile`]?`${this.type}-mobile`:this.type;this.onboardingComponent.type=e;const t=this.onboardingComponent.getConfig(e);this.onboardingComponent.steps=t.steps,this.onboardingComponent.showProgress=t.showProgress??!0;let o=t.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}openGuideOnboarding(){this.type=this.isMobile?"guide-mobile":"guide",this.currentStep=1,this.isTourActive=!1,setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),p(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"guide":case"guide-mobile":return"guide";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"guide":return"guide";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}};u([m({type:Boolean})],r.prototype,"isCustomMenu",2);u([m({type:String})],r.prototype,"type",2);u([g()],r.prototype,"isMobile",2);r=u([d("mealz-planner-onboarding")],r);customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",r);export{r as M};
|
|
1
|
+
import{n as d}from"../../assets/property-CoRN-Ln2.js";import{r as g}from"../../assets/state-DDIoBQp5.js";import{M as b}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-D62BBu0I.js";import{O as v,b as f,c as y}from"../../onboarding/events.min.js";import{t as C,a as z,b as l,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as _,a as T}from"../../assets/responsive-C7Qf71r3.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-E_fNZM-c.js";var S=Object.defineProperty,u=(a,e,t,s)=>{for(var o=void 0,i=a.length-1,n;i>=0;i--)(n=a[i])&&(o=n(e,t,o)||o);return o&&S(e,t,o),o};const c=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",m={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. '}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l’accès au catalogue de recettes seront visibles ici.",fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},guide:{type:"guide",steps:[{element:".mealz-planner-current-menu__onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1},"guide-mobile":{type:"guide-mobile",steps:[{element:".mealz-planner-current-menu__mobile-onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:c,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:c,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1,bottomMargin:36}};class r extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){super.connectedCallback(),this.isMobile=_(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new b,this.onboardingComponent.configurations=m,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,s;(e=this.onboardingComponent)==null||e.addEventListener(v,()=>{var o;C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((o=this.onboardingComponent)!=null&&o.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(f,o=>{var p;const n=((p=o.detail)==null?void 0:p.stepIndex)??0;z(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=n+1,l(this.mapTypeForAnalytics(this.type),this.currentStep)}),(s=this.onboardingComponent)==null||s.addEventListener(y,()=>{O(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&m[`${this.type}-mobile`]?`${this.type}-mobile`:this.type;this.onboardingComponent.type=e;const t=this.onboardingComponent.getConfig(e);this.onboardingComponent.steps=t.steps,this.onboardingComponent.showProgress=t.showProgress??!0;let s=t.bottomMargin??110;s===0&&!this.isMobile&&(s=24),this.onboardingComponent.bottomMargin=s}openGuideOnboarding(){this.type=this.isMobile?"guide-mobile":"guide",this.currentStep=1,this.isTourActive=!1,setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),l(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"guide":case"guide-mobile":return"guide";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"guide":return"guide";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}}u([d({type:Boolean})],r.prototype,"isCustomMenu");u([d({type:String})],r.prototype,"type");u([g()],r.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",r);export{r as M};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as m,k as e}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as p}from"../../assets/state-DDIoBQp5.js";import{d as g,e as c,f as b,g as u,h,i as v}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/property-CoRN-Ln2.js";var z=Object.defineProperty,d=(a,t,n,r)=>{for(var s=void 0,o=a.length-1,l;o>=0;o--)(l=a[o])&&(s=l(t,n,s)||s);return s&&z(t,n,s),s};class i extends m{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.analyticsPath="/meals-planner/onboarding",this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0-mobile.jpg",title:"Choisissez votre type de menu",content:e`Découvrez notre <b>sélection du moment</b> pour gagner du temps ou créez une <b>sélection personnalisée</b> adaptée à vos goûts et à votre budget.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1-mobile.jpg",title:"Inspirez-vous avec nos suggestions",content:e`Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2-mobile.jpg",title:"Retrouvez votre menu",content:e`Toutes les recettes que vous sélectionnerez et l\'accès au catalogue de recettes seront visibles ici.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3-mobile.jpg",title:"Une recette vous plaît ?",content:e`
|
|
2
2
|
Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.
|
|
3
3
|
`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4-mobile.jpg",title:"Une recette ne vous plaît pas ?",content:e`
|
|
4
4
|
Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.
|
|
@@ -9,20 +9,20 @@ import{N as d,k as e}from"../../assets/no-shadow-element-YPHUv5PR.js";import{t a
|
|
|
9
9
|
Quand votre menu sera terminé, utilisez le bouton
|
|
10
10
|
<b>"Mettre le menu au panier"</b>
|
|
11
11
|
pour mettre les produits de toutes les recettes dans votre panier.
|
|
12
|
-
`}],this.styleURL=new URL("./planner/planner-onboarding-modal/planner-onboarding-modal.css",this.getBaseURL()),this.boundHandleResize=this.handleResize.bind(this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.boundHandleResize),this.requestUpdate()}onModalDisplayed(){
|
|
12
|
+
`}],this.styleURL=new URL("./planner/planner-onboarding-modal/planner-onboarding-modal.css",this.getBaseURL()),this.boundHandleResize=this.handleResize.bind(this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.boundHandleResize),this.requestUpdate()}onModalDisplayed(){g(this.step)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.boundHandleResize)}handleResize(){this.isMobile=window.innerWidth<=768}render(){const{imgDesktop:t,imgMobile:n,title:r,content:s}=this.steps[this.step-1],o=this.isMobile?n:t;return e`
|
|
13
13
|
<div class="mealz-planner-onboarding-modal">
|
|
14
14
|
<div class="mealz-planner-onboarding-modal__body">
|
|
15
15
|
<div class="mealz-planner-onboarding-modal__content step${this.step}">
|
|
16
|
-
<img class="mealz-planner-onboarding-modal__img" src="${
|
|
16
|
+
<img class="mealz-planner-onboarding-modal__img" src="${o}">
|
|
17
17
|
<span class="mealz-planner-onboarding-modal__title mealz-ds-text size-m weight-xxl">
|
|
18
|
-
${
|
|
18
|
+
${r}
|
|
19
19
|
</span>
|
|
20
20
|
<span class="mealz-planner-onboarding-modal__text mealz-ds-text size-m">
|
|
21
|
-
${
|
|
21
|
+
${s}
|
|
22
22
|
</span>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="mealz-planner-onboarding-modal__track">
|
|
25
|
-
${this.renderStepIndicators()}
|
|
25
|
+
${this.renderStepIndicators()}
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
28
28
|
${this.renderNavigationButtons()}
|
|
@@ -47,4 +47,4 @@ import{N as d,k as e}from"../../assets/no-shadow-element-YPHUv5PR.js";import{t a
|
|
|
47
47
|
</button>
|
|
48
48
|
`}
|
|
49
49
|
</div>
|
|
50
|
-
`}previousStep(){
|
|
50
|
+
`}previousStep(){c(this.step),this.step=Math.max(this.step-1,1),this.onModalDisplayed()}nextStep(){b(this.step),this.step=Math.min(this.step+1,this.steps.length),this.onModalDisplayed()}closeModal(){u(this.step),this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}closeModalViaX(){h(this.step),this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}onQuestionMarkClick(t="dashboard"){v(t)}}d([p()],i.prototype,"step");d([p()],i.prototype,"isMobile");customElements.get("mealz-planner-onboarding-modal")||customElements.define("mealz-planner-onboarding-modal",i);export{i as M};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as t,k as a}from"../../assets/no-shadow-element-D62BBu0I.js";import{M as o}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";class n extends t{constructor(){super(),this.styleURL=new URL("./planner/planner-open-catalog-modal/planner-open-catalog-modal.css",this.getBaseURL())}displayMealzPlannerOpenCatalogModal(){const e=new o;document.body.appendChild(this),e.titleSlot=a`<span>Rien à votre goût ?</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>{this.remove()})}openCatalog(){const e=new CustomEvent("openCatalog");this.dispatchEvent(e),this.remove()}closeModal(){const e=new CustomEvent("refuse");this.dispatchEvent(e),this.remove()}renderModal(){return a`
|
|
2
2
|
<div class="mealz-planner-open-catalog-modal__content">
|
|
3
3
|
<div class="mealz-planner-open-catalog-modal__description">
|
|
4
4
|
<span class="mealz-ds-text size-m">
|
|
@@ -15,4 +15,4 @@ import{N as m,k as r}from"../../assets/no-shadow-element-YPHUv5PR.js";import{M a
|
|
|
15
15
|
Ouvrir le catalogue
|
|
16
16
|
</button>
|
|
17
17
|
</div>
|
|
18
|
-
`}}
|
|
18
|
+
`}}customElements.get("mealz-planner-open-catalog-modal")||customElements.define("mealz-planner-open-catalog-modal",n);export{n as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as o}from"../../assets/no-shadow-element-D62BBu0I.js";import{m}from"../../assets/mealz-sdk-E_fNZM-c.js";class d extends o{constructor(){super(...arguments),this.pendingSyncRaf=null,this.previousRecipeCount=0,this.onSeeMenuClick=()=>{const e=this.closest("mealz-planner-current-menu"),t=e,n=t==null?void 0:t.showMenu;if(typeof n=="function"){n.call(e);return}const s=e==null?void 0:e.querySelector(".mealz-planner-current-menu__mobile-menu-button");s==null||s.click()},this.onAddClick=()=>{const e=document.querySelector(".mealz-planner-recipe-list__add-to-menu");if(e){e.click();return}const t=this.closest("mealz-planner-current-menu");if(!t)return;const s=t.openCatalogModal;typeof s=="function"&&s.call(t)},this.onThumbClick=e=>{var a;const t=e.target,n=(a=t==null?void 0:t.closest)==null?void 0:a.call(t,".mealz-planner-quick-menu__thumb--recipe");if(!n)return;const s=n.getAttribute("data-recipe-id")||"",i=Number(n.getAttribute("data-guests")||"4"),r=Number(n.getAttribute("data-recipe-index")||"0");if(!s)return;m.recipes.openDetails(s,i),this.updateDisplayedRecipe(r)}}get selectors(){return{seeMenuButton:".mealz-planner-quick-menu__see-menu",addButton:".mealz-planner-quick-menu__thumb--add",thumbsContainer:".mealz-planner-quick-menu__thumbs-scroll",title:".mealz-planner-quick-menu__title",titleCount:".mealz-planner-quick-menu__count",titleMealsLabel:".mealz-planner-quick-menu__meals-label"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.startObservingMenuChanges(),this.scheduleThumbsSync()}disconnectedCallback(){this.removeEventListeners(),this.stopObservingMenuChanges(),super.disconnectedCallback()}addEventListeners(){const{seeMenuButton:e,addButton:t,thumbsContainer:n}=this.elements;e==null||e.addEventListener("click",this.onSeeMenuClick),t==null||t.addEventListener("click",this.onAddClick),n==null||n.addEventListener("click",this.onThumbClick)}removeEventListeners(){const{seeMenuButton:e,addButton:t,thumbsContainer:n}=this.elements;e==null||e.removeEventListener("click",this.onSeeMenuClick),t==null||t.removeEventListener("click",this.onAddClick),n==null||n.removeEventListener("click",this.onThumbClick)}startObservingMenuChanges(){const e=this.getMenuRecipeCardsContainer();if(e){this.menuObserver=new MutationObserver(()=>this.scheduleThumbsSync()),this.menuObserver.observe(e,{childList:!0});return}this.bootstrapObserver=new MutationObserver(()=>{this.getMenuRecipeCardsContainer()&&(this.stopObservingMenuChanges(),this.startObservingMenuChanges(),this.scheduleThumbsSync())}),this.bootstrapObserver.observe(document.body,{childList:!0,subtree:!0})}stopObservingMenuChanges(){this.menuObserver&&(this.menuObserver.disconnect(),this.menuObserver=void 0),this.bootstrapObserver&&(this.bootstrapObserver.disconnect(),this.bootstrapObserver=void 0),this.pendingSyncRaf!==null&&(cancelAnimationFrame(this.pendingSyncRaf),this.pendingSyncRaf=null)}scheduleThumbsSync(){this.pendingSyncRaf===null&&(this.pendingSyncRaf=requestAnimationFrame(()=>{this.pendingSyncRaf=null,this.syncThumbsFromMenu()}))}getMenuRecipeCardsContainer(){return(this.closest("mealz-planner-current-menu")??document).querySelector(".mealz-planner-recipe-list__in-menu")}getRecipeDataFromCard(e,t){const n=e,s=e;let i=s.recipeId??"",r=typeof s.guests=="number"?s.guests:4;if(!i){const u=n.getAttribute("starting-data");if(u)try{const l=JSON.parse(u);i=l.recipeId??"",r=typeof l.guests=="number"?l.guests:4}catch{return null}}if(!i)return null;const c=n.querySelector(".mealz-planner-recipe-card__picture img"),a=(c==null?void 0:c.getAttribute("src"))??"";return a?{recipeId:i,guests:r,recipeIndex:t,imgSrc:a}:null}getMenuRecipeCards(){const t=this.closest("mealz-planner-current-menu")??document,n=Array.from(t.querySelectorAll("mealz-planner-recipe-card")),s=[];for(let i=0;i<n.length;i++){const r=this.getRecipeDataFromCard(n[i],i);r&&s.push(r)}return s}syncThumbsFromMenu(){const{thumbsContainer:e}=this.elements;if(!e)return;const t=this.getMenuRecipeCards(),n=this.calculateTotalSlots(t.length);e.textContent="";const s=document.createDocumentFragment();this.buildRecipeThumbButtons(t,s),this.addPlaceholderSlots(t.length,n,s),e.appendChild(s),this.handleNewRecipeAnimation(t.length,e),this.updateTitleWithCount(t.length)}calculateTotalSlots(e){return Math.min(12,Math.max(4,e))}buildRecipeThumbButtons(e,t){e.slice(0,12).forEach(s=>{const i=document.createElement("button");i.type="button",i.className="mealz-planner-quick-menu__thumb mealz-planner-quick-menu__thumb--recipe",i.setAttribute("data-recipe-id",s.recipeId),i.setAttribute("data-recipe-index",String(s.recipeIndex)),i.setAttribute("data-guests",String(s.guests)),i.setAttribute("aria-label","Voir la recette");const r=document.createElement("img");r.src=s.imgSrc,r.alt="",i.appendChild(r),t.appendChild(i)})}addPlaceholderSlots(e,t,n){for(let s=e;s<t;s++){const i=document.createElement("div");i.className="mealz-planner-quick-menu__thumb",n.appendChild(i)}}handleNewRecipeAnimation(e,t){const n=e>this.previousRecipeCount;if(this.previousRecipeCount=e,!n)return;const s=t.querySelector(".mealz-planner-quick-menu__thumb--recipe");if(!s)return;const i=s.querySelector("img");i&&requestAnimationFrame(()=>{i.classList.add("mealz-planner-quick-menu__image--animate"),i.addEventListener("animationend",()=>{i.classList.remove("mealz-planner-quick-menu__image--animate")},{once:!0})})}updateTitleWithCount(e){const{title:t,titleCount:n,titleMealsLabel:s}=this.elements;if(n&&(n.textContent=String(e)),s){const i=s.getAttribute("data-meal-singular")||"",r=s.getAttribute("data-meal-plural")||"";i&&r&&(s.textContent=e===1?i:r)}if(t&&!n){const i=t.textContent||"";t.textContent=i.replace(/\d+/,String(e))}}updateDisplayedRecipe(e){if(e==null||Number.isNaN(e))return;const t=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!t.length)return;const n=t[e];n==null||n.click()}}customElements.get("mealz-planner-quick-menu")||customElements.define("mealz-planner-quick-menu",d);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as c}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as a}from"../../assets/mealz-sdk-E_fNZM-c.js";class l extends c{get selectors(){return{title:".mealz-planner-current-menu__recipe-title",overlay:".mealz-planner-recipe-card__in-basket",removeButton:".mealz-planner-recipe-card__remove-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var i;const e=(i=this.attributes["starting-data"])==null?void 0:i.value;if(!e)return;const{recipeId:t,recipeIndex:n,guests:s}=JSON.parse(e);this.recipeId=t,this.recipeIndex=n,this.guests=s,this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("title",()=>this.handleRecipeClick()),this.addClickListener("overlay",()=>this.handleRecipeClick()),this.addClickListener("removeButton",()=>this.removeRecipe())}handleRecipeClick(){this.openRecipeDetails(),this.updateDisplayedRecipe()}openRecipeDetails(){a.recipes.openDetails(this.recipeId,this.guests)}updateDisplayedRecipe(){if(!this.recipeId||this.recipeIndex===void 0)return;const e=document.querySelector(".mealz-planner-recipe-suggestion__meals-count"),t=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!e||!t.length)return;const n=e.querySelector(".primary");if(Array.from(e.children).indexOf(n)===this.recipeIndex)return;const i=t[this.recipeIndex],r=document.querySelector("mealz-planner-recipe-suggestion");r==null||r.handleRecipeSelect(t,i,this.recipeIndex)}removeRecipe(){const e=document.querySelector("mealz-planner-recipe-suggestion");e&&e.removeRecipe(this.recipeId).subscribe()}updateRecipeIndex(e){this.recipeIndex=e}}customElements.get("mealz-planner-recipe-card")||customElements.define("mealz-planner-recipe-card",l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.mealz-planner-recipe-list{display:flex;flex-direction:column;flex:1;gap:16px;min-height:0}.mealz-planner-recipe-list__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 16px}.mealz-planner-recipe-list__suggestions-button .mealz-ds-text{line-height:1}@media (min-width: 1024px){.mealz-ds-button.mealz-planner-recipe-list__suggestions-button{display:none}}.mealz-planner-recipe-list__suggestions-icon{width:16px;height:16px;margin-right:6px}.mealz-planner-recipe-list__grid{display:flex;flex-wrap:wrap;justify-content:start;flex:1;gap:8px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 16px}@supports not (gap: 1px){.mealz-planner-recipe-list__grid{margin-top:-8px;margin-left:-8px}.mealz-planner-recipe-list__grid>*,.mealz-planner-recipe-list__in-menu>*{margin-top:8px;margin-left:8px}}.mealz-planner-recipe-list__in-menu{display:contents}.mealz-planner-recipe-list__in-menu>mealz-planner-recipe-card{display:block;width:var(--m-planner-recipe-card-width, 218px);flex:0 0 auto;overflow:hidden;transition:opacity .15s ease-out}.mealz-planner-recipe-list__in-menu>mealz-planner-recipe-card.mealz-planner-recipe-card__fadeout{animation:mealz-recipe-card-fadeout .15s ease-out forwards}@keyframes mealz-recipe-card-fadeout{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mealz-planner-recipe-list__add-to-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--mealz-ds-color-primary, #24748f);width:var(--m-planner-recipe-card-width, 218px);height:272px;padding:
|
|
1
|
+
.mealz-planner-recipe-list{display:flex;flex-direction:column;flex:1;gap:16px;min-height:0}.mealz-planner-recipe-list__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 16px}.mealz-planner-recipe-list__suggestions-button .mealz-ds-text{line-height:1}@media (min-width: 1024px){.mealz-ds-button.mealz-planner-recipe-list__suggestions-button{display:none}}.mealz-planner-recipe-list__suggestions-icon{width:16px;height:16px;margin-right:6px}.mealz-planner-recipe-list__grid{display:flex;flex-wrap:wrap;justify-content:start;flex:1;gap:8px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 16px}@supports not (gap: 1px){.mealz-planner-recipe-list__grid{margin-top:-8px;margin-left:-8px}.mealz-planner-recipe-list__grid>*,.mealz-planner-recipe-list__in-menu>*{margin-top:8px;margin-left:8px}}.mealz-planner-recipe-list__in-menu{display:contents}.mealz-planner-recipe-list__in-menu>mealz-planner-recipe-card{display:block;width:var(--m-planner-recipe-card-width, 218px);flex:0 0 auto;overflow:hidden;transition:opacity .15s ease-out}.mealz-planner-recipe-list__in-menu>mealz-planner-recipe-card.mealz-planner-recipe-card__fadeout{animation:mealz-recipe-card-fadeout .15s ease-out forwards}@keyframes mealz-recipe-card-fadeout{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mealz-planner-recipe-list__add-to-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--mealz-ds-color-primary, #24748f);width:var(--m-planner-recipe-card-width, 218px);height:272px;padding:16px;box-sizing:border-box;background-color:var(--mealz-ds-color-neutral-50, #F7F8F9);border:1px dashed var(--mealz-ds-color-primary, #24748f);border-radius:12px;cursor:pointer}.mealz-planner-recipe-list__add-to-menu-icon{width:32px;height:32px;margin-bottom:8px}.mealz-planner-recipe-list__add-to-menu-text{text-align:center}.mealz-planner-recipe-list__placeholder{width:var(--m-planner-recipe-card-width, 218px);height:272px;border-radius:12px;background-color:var(--mealz-ds-color-neutral-50, #F7F8F9)}@media (max-width: 768px){.mealz-planner-recipe-list__grid{justify-content:center}}@media (max-width: 520px){.mealz-planner-recipe-list__grid{--m-planner-recipe-card-width: calc((100% - 8px)/2) }.mealz-planner-recipe-list__placeholder{height:224px}.mealz-planner-recipe-list__grid>.mealz-planner-recipe-list__add-to-menu,.mealz-planner-recipe-list__grid>.mealz-planner-recipe-list__placeholder,.mealz-planner-recipe-list__in-menu>mealz-planner-recipe-card{width:var(--m-planner-recipe-card-width, 218px);flex:0 0 var(--m-planner-recipe-card-width, 218px);max-width:var(--m-planner-recipe-card-width, 218px)}.mealz-planner-recipe-list__add-to-menu{padding:24px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as
|
|
1
|
+
import{N as o}from"../../assets/no-shadow-element-D62BBu0I.js";import{b as d}from"../../assets/http-Bepz6wA4.js";import{m as p}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as h}from"../../assets/responsive-C7Qf71r3.js";import{t as u}from"../../assets/take-CpvJwza7.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";class m extends o{constructor(){super(...arguments),this.menuRecipeCount=0,this.recipeCardURL="",this.storeId="",this.sessionId="",this.recipesIdInBasket=[],this.syncPlaceholdersRafId=null,this.onWindowResize=()=>this.scheduleSyncPlaceholders(),this.defaultMinRows=2}get selectors(){return{addToMenuCard:".mealz-planner-recipe-list__add-to-menu",recipeCardsContainer:".mealz-planner-recipe-list__in-menu",gridContainer:".mealz-planner-recipe-list__grid",headerCount:".mealz-planner-recipe-list__count",headerMealsLabel:".mealz-planner-recipe-list__meals-label",suggestionsButton:".mealz-planner-recipe-list__suggestions-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.getRecipesInBasket(),this.addEventListeners(),this.setupResponsivePlaceholders(),this.scheduleSyncPlaceholders()}disconnectedCallback(){var e;super.disconnectedCallback(),window.removeEventListener("resize",this.onWindowResize),(e=this.resizeObserver)==null||e.disconnect(),this.resizeObserver=void 0,this.syncPlaceholdersRafId!==null&&(cancelAnimationFrame(this.syncPlaceholdersRafId),this.syncPlaceholdersRafId=null)}render(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"),this.menuRecipeCount=this.querySelectorAll("mealz-planner-recipe-card").length,this.scheduleSyncPlaceholders(),this.syncHeader())}addEventListeners(){this.addClickListener("addToMenuCard",()=>{this.openCatalogDrawer()}),this.addClickListener("suggestionsButton",()=>{const e=document.querySelector("mealz-planner-current-menu");if(typeof(e==null?void 0:e.showSuggestions)=="function"){e.showSuggestions();return}})}openCatalogDrawer(){const e=document.querySelector("mealz-planner-current-menu");e==null||e.openCatalogDrawer()}async addRecipeCardToList(e){var a;const t=new URLSearchParams;t.append("recipe_id",e),t.append("recipe_index",this.menuRecipeCount.toString()),this.storeId&&t.append("store_id",this.storeId);const n=await(await fetch(this.recipeCardURL+"?"+t.toString(),{method:"GET",headers:d(this.sessionId)})).text(),i=(a=this.elements)==null?void 0:a.recipeCardsContainer;if(i){if(i.insertAdjacentHTML("afterbegin",n),this.recipesIdInBasket.includes(e)){const r=i.firstElementChild;r&&this.addInBasketOverlay(r)}if(!h(document)){const r=i.firstElementChild;if(r){const c=r.querySelector(".mealz-planner-recipe-card__picture img");c&&(c.classList.add("mealz-planner-recipe-card__image-animate"),c.addEventListener("animationend",()=>{c.classList.remove("mealz-planner-recipe-card__image-animate")},{once:!0}))}}this.menuRecipeCount++,this.updateRemainingRecipeIndexes(),this.syncPlaceholders(),this.syncHeader()}}removeRecipeCardFromList(e){var i,a;const t=(i=this.elements)==null?void 0:i.recipeCardsContainer,s=(a=t==null?void 0:t.children)==null?void 0:a[e];if(!s)return;s.classList.add("mealz-planner-recipe-card__fadeout");const n=setTimeout(()=>{this.cleanupRecipeCard(s)},200);s.addEventListener("animationend",()=>{clearTimeout(n),this.cleanupRecipeCard(s)},{once:!0})}cleanupRecipeCard(e){e.parentNode&&(e.remove(),this.menuRecipeCount--,this.updateRemainingRecipeIndexes(),this.syncPlaceholders(),this.syncHeader())}updateRemainingRecipeIndexes(){(document.querySelectorAll("mealz-planner-recipe-card")||[]).forEach((t,s)=>{t.updateRecipeIndex(s)})}getRecipesInBasket(){var t;const e=p.basket;(t=e==null?void 0:e.recipePricesInBasket$)==null||t.call(e).pipe(u(1)).subscribe(s=>{this.recipesIdInBasket=s.map(n=>n.id)})}addInBasketOverlay(e){const t=e.querySelector(".mealz-planner-recipe-card__in-basket");t==null||t.classList.remove("hidden")}setupResponsivePlaceholders(){const{gridContainer:e}=this.elements,t=e??this.querySelector(".mealz-planner-recipe-list__grid");t&&(window.addEventListener("resize",this.onWindowResize,{passive:!0}),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.scheduleSyncPlaceholders()}),this.resizeObserver.observe(t)))}scheduleSyncPlaceholders(){this.syncPlaceholdersRafId!==null&&cancelAnimationFrame(this.syncPlaceholdersRafId),this.syncPlaceholdersRafId=requestAnimationFrame(()=>{this.syncPlaceholdersRafId=null,this.syncPlaceholders()})}getMinRows(){const e=this.getAttribute("min-rows"),t=e?Number.parseInt(e,10):NaN,s=Number.isFinite(t)?t:this.defaultMinRows;return Math.max(1,s)}getColumnsCount(e){const t=e.querySelector(".mealz-planner-recipe-list__add-to-menu, mealz-planner-recipe-card, .mealz-planner-recipe-list__placeholder");if(!t)return 1;const s=e.clientWidth,n=t.getBoundingClientRect();if(s<=0||n.width<=0)return 1;const i=getComputedStyle(t),a=Number.parseFloat(i.marginLeft||"0")||0,r=n.width+a;return r<=0?1:Math.max(1,Math.floor((s+a)/r))}syncPlaceholders(){const{gridContainer:e}=this.elements,t=e??this.querySelector(".mealz-planner-recipe-list__grid");if(!t)return;const s=this.getColumnsCount(t),n=this.getMinRows(),i=s*n,a=this.menuRecipeCount??this.querySelectorAll("mealz-planner-recipe-card").length,r=Math.max(0,i-1-a),c=Array.from(t.querySelectorAll(".mealz-planner-recipe-list__placeholder"));for(;c.length>r;){const l=c.pop();l==null||l.remove()}for(;c.length<r;){const l=document.createElement("div");l.className="mealz-planner-recipe-list__placeholder",l.setAttribute("aria-hidden","true"),t.appendChild(l),c.push(l)}}syncHeader(){const{headerCount:e,headerMealsLabel:t}=this.elements;if(e&&(e.textContent=String(this.menuRecipeCount??0)),t){const s=t.getAttribute("data-meal-singular")||"",n=t.getAttribute("data-meal-plural")||"";s&&n&&(t.textContent=this.menuRecipeCount===1?s:n)}}}customElements.get("mealz-planner-recipe-list")||customElements.define("mealz-planner-recipe-list",m);
|