mealz-components 2.6.2 → 2.7.0
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-DfCnFunn.js → OperatorSubscriber-CvNNPrIM.js} +1 -1
- package/dist/assets/{accordion-BGFgJnk1.js → accordion-tsgdqQeQ.js} +1 -1
- package/dist/assets/{args-DAL2bHut.js → args-upHwW4Wh.js} +1 -1
- package/dist/assets/{async-C5Kj_SqM.js → async-M7ziFu3t.js} +1 -1
- package/dist/assets/{combineLatest-Capvy1jI.js → combineLatest-BB01Px-W.js} +1 -1
- package/dist/assets/{debounceTime-Cf_7YmIn.js → debounceTime-BeLayHXh.js} +1 -1
- package/dist/assets/delay-DJoNbXpK.js +1 -0
- package/dist/assets/{distinctUntilChanged-kXqVrZ5h.js → distinctUntilChanged-6bjT4iYO.js} +1 -1
- package/dist/assets/empty-Dy0Wgz_B.js +1 -0
- package/dist/assets/{filter-q99GWcpD.js → filter-aZV_N5pj.js} +1 -1
- package/dist/assets/{firstValueFrom-Bcbk1SUg.js → firstValueFrom-CyoZXDwo.js} +1 -1
- package/dist/assets/{from-D8c5akO7.js → from-uSPfq2sN.js} +1 -1
- package/dist/assets/{guestObserver-C5qvv1Ll.js → guestObserver-PPbBwlOO.js} +1 -1
- package/dist/assets/{http-Bepz6wA4.js → http-Cm33xl_Z.js} +1 -1
- package/dist/assets/{innerFrom-DePszgj9.js → innerFrom-BldbX_fT.js} +1 -1
- package/dist/assets/isScheduler-fbUJB_yC.js +1 -0
- package/dist/assets/{map-DT-7dkaR.js → map-ND1NsJPC.js} +1 -1
- package/dist/assets/mapOneOrManyArgs-BPsgfFRx.js +1 -0
- package/dist/assets/{mealz-sdk-E_fNZM-c.js → mealz-sdk-CnvUgy3V.js} +1 -1
- package/dist/assets/merge-B0ddcNYl.js +1 -0
- package/dist/assets/mergeAll-BvxRfNLo.js +1 -0
- package/dist/assets/{mergeMap-D2yctTHQ.js → mergeMap-C1wxIFhz.js} +1 -1
- package/dist/assets/{no-shadow-element-D62BBu0I.js → no-shadow-element-CXVMZH9n.js} +1 -1
- package/dist/assets/of-D0UErknW.js +1 -0
- package/dist/assets/{price-D6RVRYHJ.js → price-CTfOOyf1.js} +1 -1
- package/dist/assets/{product-card-wIoU7Z_5.js → product-card-ryOzsvSF.js} +2 -2
- package/dist/assets/{promotion-badge-CDaL7Tqv.js → promotion-badge-D63kIgUZ.js} +1 -1
- package/dist/assets/{property-CoRN-Ln2.js → property-BXpY_hgs.js} +1 -1
- package/dist/assets/session-handler-D-8RsM2Q.js +1 -0
- package/dist/assets/skip-4iqvFhkz.js +1 -0
- package/dist/assets/{skipWhile-Beza3ws3.js → skipWhile-DK5WsIpo.js} +1 -1
- package/dist/assets/{state-DDIoBQp5.js → state-BjFDUoQX.js} +1 -1
- package/dist/assets/{switchMap-BAdE9Uzw.js → switchMap-DC1sJvd8.js} +1 -1
- package/dist/assets/{take-CpvJwza7.js → take-BgFJXP4B.js} +1 -1
- package/dist/assets/{tap-BN_fPb40.js → tap-DT80gG87.js} +1 -1
- package/dist/assets/{timer-3Kpx74mt.js → timer-W1DT7NsX.js} +1 -1
- package/dist/assets/{unsafe-html-DWUMaK1p.js → unsafe-html-LLTnDXid.js} +1 -1
- package/dist/assets/{viewport-listener-DsRHfwo4.js → viewport-listener-khw7cTjd.js} +1 -1
- package/dist/basket-transfer-modal/basket-transfer-modal.min.js +2 -2
- package/dist/catalog/_helpers/init-basket-preview-drawer.min.js +1 -0
- package/dist/catalog/basket-preview/basket-preview.min.js +9 -9
- 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 -1
- 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 +1 -1
- package/dist/drawer/drawer.min.js +1 -1
- package/dist/drawer-view-swapper/drawer-view-swapper.min.js +13 -12
- 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 +1 -1
- package/dist/last-order-modal/last-order-modal.min.js +1 -1
- package/dist/like-button/like-button.min.js +1 -1
- package/dist/modal/modal.min.js +1 -1
- package/dist/no-supplier-add-to-cart-cta/no-supplier-add-to-cart-cta.min.js +1 -1
- package/dist/onboarding/analytics/onboarding-analytics.min.js +1 -1
- package/dist/onboarding/onboarding.min.js +1 -1
- package/dist/order-again/order-again.min.js +1 -1
- package/dist/planner/helpers/get-planner-onboarding-modal-config.min.js +1 -1
- package/dist/planner/helpers/init-planner-onboarding-modal.min.js +1 -1
- package/dist/planner/helpers/menu-title.min.js +1 -1
- package/dist/planner/helpers/open-onboarding-modal.min.js +1 -1
- package/dist/planner/planner-abandon-modal/planner-abandon-modal.min.js +1 -1
- package/dist/planner/planner-budget-edit-modal/planner-budget-edit-modal.min.js +1 -1
- package/dist/planner/planner-budget-gauge/planner-budget-gauge.min.js +1 -1
- package/dist/planner/planner-catalog/planner-catalog.min.js +1 -1
- 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 +1 -1
- package/dist/planner/planner-form/planner-form.min.js +2 -2
- package/dist/planner/planner-menu-option/planner-menu-option.css +1 -1
- 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 +1 -1
- package/dist/planner/planner-open-catalog-modal/planner-open-catalog-modal.min.js +1 -1
- 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 +1 -1
- package/dist/planner/to-basket-loader/to-basket-loader.min.js +1 -1
- package/dist/planner-entry/planner-entry.min.js +1 -1
- package/dist/preferences/preferences.min.js +1 -1
- package/dist/price/price.min.js +1 -1
- package/dist/products-to-basket-cta/products-to-basket-cta.min.js +1 -1
- 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.min.js +1 -1
- package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
- package/dist/recipe-to-basket/recipe-to-basket.min.js +1 -1
- package/dist/replace-item/replace-item-card/replace-item-card.min.js +1 -1
- package/dist/replace-item/replace-item.min.js +1 -1
- package/dist/replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js +1 -1
- package/dist/replace-item-planner/replace-item-planner.min.js +1 -1
- package/dist/select/select.min.js +1 -1
- package/dist/slider-tabs/slider-tabs.min.js +1 -1
- package/dist/store-indicator/store-indicator.min.js +1 -1
- package/dist/store-locator/store-locator.min.js +1 -1
- package/dist/store-locator-drawer/store-locator-drawer.min.js +1 -1
- package/dist/supplier-selector/supplier-selector.min.js +1 -1
- package/package.json +1 -1
- package/dist/assets/delay-DHNms76g.js +0 -1
- package/dist/assets/empty-qrpgDBbc.js +0 -1
- package/dist/assets/isScheduler-CqHuyMwD.js +0 -1
- package/dist/assets/mapOneOrManyArgs-CHGhEDCk.js +0 -1
- package/dist/assets/merge-DzIA6T0M.js +0 -1
- package/dist/assets/mergeAll-DpEYIxY3.js +0 -1
- package/dist/assets/of-DtJFltSl.js +0 -1
- package/dist/assets/session-handler-BZFnRy_K.js +0 -1
- package/dist/assets/skip-Bup0JB81.js +0 -1
|
@@ -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 v}from"../helpers/open-onboarding-modal.min.js";import{M as B}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as b}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as E}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{a as p}from"../helpers/planner-onboarding-storage.min.js";import{M as I}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as S}from"../../assets/state-DDIoBQp5.js";import{m as s}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as L,a as T}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-D6RVRYHJ.js";import{g as R,f as q}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 h}from"../../assets/map-DT-7dkaR.js";import{f as g}from"../../assets/filter-q99GWcpD.js";import{o as x}from"../../assets/of-DtJFltSl.js";import{c as V}from"../../assets/combineLatest-Capvy1jI.js";import{f as M}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-BGFgJnk1.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"../../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:u,footer:e,fixedClass:t="is-fixed"}){let r;const n=()=>{r=void 0;const o=u.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,f=o.top<d-a&&o.bottom>d;e.classList.toggle(t,f),f?(e.style.left=`${o.left}px`,e.style.width=`${o.width}px`,u.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",u.style.paddingBottom="")},i=()=>{r===void 0&&(r=window.requestAnimationFrame(n))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),i(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",u.style.paddingBottom=""}}var U=Object.defineProperty,k=(u,e,t,r)=>{for(var n=void 0,i=u.length-1,o;i>=0;i--)(o=u[i])&&(n=o(e,t,n)||n);return n&&U(e,t,n),n},c;const y=(c=class 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.isApplyingPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}skipCurrentMenuMobileOnboardingOnce(){try{sessionStorage.setItem(c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,"true")}catch{}}consumeSkipCurrentMenuMobileOnboardingOnce(){try{const e=c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,t=sessionStorage.getItem(e)==="true";return t&&sessionStorage.removeItem(e),t}catch{return!1}}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.checkCachedFinalizeMenuUrl(),this.addEventListener("budgetUpdated",t=>{const r=t.detail;(r==null?void 0:r.budgetLimit)===void 0||r.budgetLimit===null||this.updateBudget(r.budgetLimit)}),this.isMobile=L(this,"","(max-width: 1023px)");const e=localStorage.getItem("_miam/isCustomMenu");e===null?(localStorage.setItem("_miam/isCustomMenu","true"),this.isCustomMenu=!0):this.isCustomMenu=e==="true",this.mobileView="recipe",this.handleResize(),this.removeResponsiveListener=T(this,t=>{t!==this.isMobile&&(this.isMobile=t),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(t=>this.updatePreferencesCount(t)))}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);if(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();return}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(){if(p())return;const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new E;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};p()||this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true")}),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){if(p())return;this.scrollIntoView({behavior:"smooth",block:"center"});const t=new b;t.isCustomMenu=e,document.body.appendChild(t),this.isMobile?t.type=e?"custom-mobile":"suggestion-mobile":t.type=e?"custom":"suggestion",t.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",()=>v("current")),this.addClickListener("onboardingButtonMobile",()=>v("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu")}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o,footer:a}=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"),a&&a.classList.toggle("is-quick-menu-visible",!e),e&&this.shouldStartCurrentMenuMobileOnboarding()&&this.launchCurrentMenuMobileOnboarding())}shouldStartCurrentMenuMobileOnboarding(){return!this.isMobile||p()||!this.querySelector(".mealz-planner-current-menu__menu")||this.consumeSkipCurrentMenuMobileOnboardingOnce()?!1:localStorage.getItem("_miam/currentMenuOnboarding")!=="true"}launchCurrentMenuMobileOnboarding(){localStorage.setItem("_miam/currentMenuOnboarding","true"),this.updateComplete.then(()=>{const e=new b;e.type="current-menu-mobile",document.body.appendChild(e),e.launchOnboardingTour()})}showSuggestions(){this.setMobileView("recipe")}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n,footer:i}=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"),i&&i.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 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 B;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=R()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>s.planner.createMenu()),l(1),m(r=>{const n=r==null?void 0:r.id;return n?F(q(!0)).pipe(m(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),h(()=>{})))):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(){localStorage.setItem("_miam/cachedFinalizeMenuUrl",window.location.href),this.subscriptions.push(this.hasUserAndHasPos().pipe(m(()=>s.hook.hookCallback()),g(e=>e)).subscribe(()=>{this.storeId&&(localStorage.removeItem("_miam/cachedFinalizeMenuUrl"),this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone())}))}hasUserAndHasPos(){try{return s.user.isAuthenticated().pipe(m(e=>s.pos.currentPos().pipe(h(t=>[e,t!==void 0]))))}catch(e){return console.error("Error while checking user and pos:",e),x([!1,!1])}}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(g(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),h(()=>s.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 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;this.storeId&&(!t||!r||!n)||!this.storeId&&!t||(t==null||t.classList.toggle("disabled",!e),r==null||r.classList.toggle("hidden",!e),n==null||n.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 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 C,w;const i=(w=(C=s.recipes)==null?void 0:C.productsPlannerByCategory$)==null?void 0:w.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),d=n||this.getJourney(),f=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,f,o).pipe(l(1),h(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),h(()=>{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,o;if(this.isApplyingPrefilledRecipes||p()||(this.loaderToBasketElement||document.querySelector("mealz-to-basket-loader"))&&((i=this.loaderToBasketComplete$)==null?void 0:i.value)!==!0||localStorage.getItem("_miam/menuToBasketOnboarding")==="true"||this.nbrRecipeInMenu!==1)return;this.isMobile&&(this.skipCurrentMenuMobileOnboardingOnce(),this.setMobileView("menu"));const r=document.querySelector("mealz-drawer-view-swapper");((o=r==null?void 0:r.currentView$)==null?void 0:o.value)!==void 0?this.subscriptions.push(r.currentView$.pipe(g(a=>a===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){p()||this.updateComplete.then(()=>{const e=new b;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 d;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,(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 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 M(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||R()||4;this.isApplyingPrefilledRecipes=!0;try{const r=this.loaderToBasketElement?M(this.loaderToBasketComplete$.pipe(g(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await M(this.addRecipe(n,e).pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),r])}finally{this.isApplyingPrefilledRecipes=!1}const t=document.querySelector(".mealz-planner-current-menu");t&&(t.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}checkCachedFinalizeMenuUrl(){localStorage.getItem("_miam/cachedFinalizeMenuUrl")&&this.handleMenu()}},c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY="_miam/skipCurrentMenuMobileOnboardingOnce",c);k([S()],y.prototype,"isMobile");k([S()],y.prototype,"mobileView");let D=y;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 v}from"../helpers/open-onboarding-modal.min.js";import{M as B}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as b}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as E}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{a as p}from"../helpers/planner-onboarding-storage.min.js";import{M as I}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O}from"../../assets/no-shadow-element-CXVMZH9n.js";import{r as S}from"../../assets/state-BjFDUoQX.js";import{m as s}from"../../assets/mealz-sdk-CnvUgy3V.js";import{i as L,a as T}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-CTfOOyf1.js";import{g as R,f as q}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-BgFJXP4B.js";import{s as m}from"../../assets/switchMap-DC1sJvd8.js";import{f as F}from"../../assets/from-uSPfq2sN.js";import{m as h}from"../../assets/map-ND1NsJPC.js";import{f as g}from"../../assets/filter-aZV_N5pj.js";import{o as x}from"../../assets/of-D0UErknW.js";import{c as V}from"../../assets/combineLatest-BB01Px-W.js";import{f as M}from"../../assets/firstValueFrom-CyoZXDwo.js";import"../../drawer/drawer.min.js";import"../../assets/property-BXpY_hgs.js";import"../../assets/unsafe-html-LLTnDXid.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-DK5WsIpo.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/innerFrom-BldbX_fT.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-khw7cTjd.js";import"../../assets/debounceTime-BeLayHXh.js";import"../../assets/async-M7ziFu3t.js";import"../../assets/empty-Dy0Wgz_B.js";import"../../assets/merge-B0ddcNYl.js";import"../../assets/mergeAll-BvxRfNLo.js";import"../../assets/mergeMap-C1wxIFhz.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-upHwW4Wh.js";import"../../assets/isScheduler-fbUJB_yC.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-ryOzsvSF.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-D63kIgUZ.js";import"../../assets/guestObserver-PPbBwlOO.js";import"../../assets/delay-DJoNbXpK.js";import"../../assets/timer-W1DT7NsX.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-tsgdqQeQ.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-DT80gG87.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-BPsgfFRx.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Cm33xl_Z.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-6bjT4iYO.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"../../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:u,footer:e,fixedClass:t="is-fixed"}){let r;const n=()=>{r=void 0;const o=u.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,f=o.top<d-a&&o.bottom>d;e.classList.toggle(t,f),f?(e.style.left=`${o.left}px`,e.style.width=`${o.width}px`,u.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",u.style.paddingBottom="")},i=()=>{r===void 0&&(r=window.requestAnimationFrame(n))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),i(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",u.style.paddingBottom=""}}var U=Object.defineProperty,k=(u,e,t,r)=>{for(var n=void 0,i=u.length-1,o;i>=0;i--)(o=u[i])&&(n=o(e,t,n)||n);return n&&U(e,t,n),n},c;const y=(c=class 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.isApplyingPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}skipCurrentMenuMobileOnboardingOnce(){try{sessionStorage.setItem(c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,"true")}catch{}}consumeSkipCurrentMenuMobileOnboardingOnce(){try{const e=c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,t=sessionStorage.getItem(e)==="true";return t&&sessionStorage.removeItem(e),t}catch{return!1}}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.checkCachedFinalizeMenuUrl(),this.addEventListener("budgetUpdated",t=>{const r=t.detail;(r==null?void 0:r.budgetLimit)===void 0||r.budgetLimit===null||this.updateBudget(r.budgetLimit)}),this.isMobile=L(this,"","(max-width: 1023px)");const e=localStorage.getItem("_miam/isCustomMenu");e===null?(localStorage.setItem("_miam/isCustomMenu","true"),this.isCustomMenu=!0):this.isCustomMenu=e==="true",this.mobileView="recipe",this.handleResize(),this.removeResponsiveListener=T(this,t=>{t!==this.isMobile&&(this.isMobile=t),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(t=>this.updatePreferencesCount(t)))}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);if(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();return}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(){if(p())return;const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new E;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};p()||this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true")}),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){if(p())return;this.scrollIntoView({behavior:"smooth",block:"center"});const t=new b;t.isCustomMenu=e,document.body.appendChild(t),this.isMobile?t.type=e?"custom-mobile":"suggestion-mobile":t.type=e?"custom":"suggestion",t.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",()=>v("current")),this.addClickListener("onboardingButtonMobile",()=>v("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu")}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o,footer:a}=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"),a&&a.classList.toggle("is-quick-menu-visible",!e),e&&this.shouldStartCurrentMenuMobileOnboarding()&&this.launchCurrentMenuMobileOnboarding())}shouldStartCurrentMenuMobileOnboarding(){return!this.isMobile||p()||!this.querySelector(".mealz-planner-current-menu__menu")||this.consumeSkipCurrentMenuMobileOnboardingOnce()?!1:localStorage.getItem("_miam/currentMenuOnboarding")!=="true"}launchCurrentMenuMobileOnboarding(){localStorage.setItem("_miam/currentMenuOnboarding","true"),this.updateComplete.then(()=>{const e=new b;e.type="current-menu-mobile",document.body.appendChild(e),e.launchOnboardingTour()})}showSuggestions(){this.setMobileView("recipe")}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n,footer:i}=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"),i&&i.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 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 B;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=R()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>s.planner.createMenu()),l(1),m(r=>{const n=r==null?void 0:r.id;return n?F(q()).pipe(m(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),h(()=>{})))):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(){localStorage.setItem("_miam/cachedFinalizeMenuUrl",window.location.href),this.subscriptions.push(this.hasUserAndHasPos().pipe(m(()=>s.hook.hookCallback()),g(e=>e)).subscribe(()=>{this.storeId&&(localStorage.removeItem("_miam/cachedFinalizeMenuUrl"),this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone())}))}hasUserAndHasPos(){try{return s.user.isAuthenticated().pipe(m(e=>s.pos.currentPos().pipe(h(t=>[e,t!==void 0]))))}catch(e){return console.error("Error while checking user and pos:",e),x([!1,!1])}}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(g(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),h(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{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;this.storeId&&(!t||!r||!n)||!this.storeId&&!t||(t==null||t.classList.toggle("disabled",!e),r==null||r.classList.toggle("hidden",!e),n==null||n.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 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 C,w;const i=(w=(C=s.recipes)==null?void 0:C.productsPlannerByCategory$)==null?void 0:w.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),d=n||this.getJourney(),f=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,f,o).pipe(l(1),h(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),h(()=>{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,o;if(this.isApplyingPrefilledRecipes||p()||(this.loaderToBasketElement||document.querySelector("mealz-to-basket-loader"))&&((i=this.loaderToBasketComplete$)==null?void 0:i.value)!==!0||localStorage.getItem("_miam/menuToBasketOnboarding")==="true"||this.nbrRecipeInMenu!==1)return;this.isMobile&&(this.skipCurrentMenuMobileOnboardingOnce(),this.setMobileView("menu"));const r=document.querySelector("mealz-drawer-view-swapper");((o=r==null?void 0:r.currentView$)==null?void 0:o.value)!==void 0?this.subscriptions.push(r.currentView$.pipe(g(a=>a===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){p()||this.updateComplete.then(()=>{const e=new b;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 d;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,(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 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 M(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||R()||4;this.isApplyingPrefilledRecipes=!0;try{const r=this.loaderToBasketElement?M(this.loaderToBasketComplete$.pipe(g(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await M(this.addRecipe(n,e).pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),r])}finally{this.isApplyingPrefilledRecipes=!1}const t=document.querySelector(".mealz-planner-current-menu");t&&(t.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}checkCachedFinalizeMenuUrl(){localStorage.getItem("_miam/cachedFinalizeMenuUrl")&&this.handleMenu()}},c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY="_miam/skipCurrentMenuMobileOnboardingOnce",c);k([S()],y.prototype,"isMobile");k([S()],y.prototype,"mobileView");let D=y;customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",D);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as t,k as n}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as t,k as n}from"../../assets/no-shadow-element-CXVMZH9n.js";import{M as a}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-CnvUgy3V.js";import"../../assets/property-BXpY_hgs.js";import"../../assets/unsafe-html-LLTnDXid.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>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as c,D as g,k as a}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as c,D as g,k as a}from"../../assets/no-shadow-element-CXVMZH9n.js";import{n as i}from"../../assets/property-BXpY_hgs.js";import{m as r}from"../../assets/mealz-sdk-CnvUgy3V.js";import{f as h}from"../helpers/menu-title.min.js";import{t as m}from"../../assets/take-BgFJXP4B.js";import{f as b}from"../../assets/from-uSPfq2sN.js";import{s as p}from"../../assets/switchMap-DC1sJvd8.js";import"../../assets/empty-Dy0Wgz_B.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/innerFrom-BldbX_fT.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"/>
|
|
@@ -59,4 +59,4 @@ import{N as c,D as g,k as a}from"../../assets/no-shadow-element-D62BBu0I.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(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(
|
|
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()).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
|
-
.mealz-planner-menu-option{border:1px solid var(--mealz-ds-color-neutral-200, #D9DDE1);border-radius:12px;color:var(--mealz-ds-color-neutral-black, #0F191F);width:100%;background:var(--mealz-ds-color-neutral-white, #fff)}.mealz-planner-menu-option .mealz-planner-menu-option__container{display:flex;flex-direction:column;padding:12px;width:100%;background:none;border:none;font:inherit;color:inherit;cursor:pointer;position:relative}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars{width:fit-content}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar{width:80px;height:80px;border:2px solid var(--mealz-ds-color-neutral-white, #fff)}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar:not(:first-child){margin-left:-24px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-overflow{display:flex;justify-content:center;align-items:center;background-color:var(--miam-color-neutral-100, #F7F8F9);border:
|
|
1
|
+
.mealz-planner-menu-option{border:1px solid var(--mealz-ds-color-neutral-200, #D9DDE1);border-radius:12px;color:var(--mealz-ds-color-neutral-black, #0F191F);width:100%;background:var(--mealz-ds-color-neutral-white, #fff)}.mealz-planner-menu-option .mealz-planner-menu-option__container{display:flex;flex-direction:column;padding:12px;width:100%;background:none;border:none;font:inherit;color:inherit;cursor:pointer;position:relative}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars{width:fit-content}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar{width:80px;height:80px;border:2px solid var(--mealz-ds-color-neutral-white, #fff)}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar:not(:first-child){margin-left:-24px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-overflow{display:flex;justify-content:center;align-items:center;background-color:var(--miam-color-neutral-100, #F7F8F9);border:2px solid var(--mealz-ds-color-neutral-white, #fff)}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-overflow span{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-empty{display:flex;justify-content:center;align-items:center;background-color:var(--mealz-ds-color-neutral-white, #fff);border:2px solid var(--mealz-ds-color-neutral-white, #fff);overflow:hidden}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-empty picture,.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-planner-menu-option__recipe-avatar-empty img{width:100%;height:100%;object-fit:cover;background:none}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__loader{width:20px;height:20px;position:relative}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__redirect,.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__loader{position:absolute;top:11px;right:11px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;z-index:10}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__redirect{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__redirect:hover{background-color:#24748f1a}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__redirect img{width:24px;height:24px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__texts{display:flex;flex-direction:column;text-align:left;min-height:52px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__texts .mealz-planner-menu-option__title{font-family:var(--family-body, "Satoshi", sans-serif);font-size:20px;font-weight:700;line-height:28px;color:var(--content-default, #1f2a2e);margin:0 0 4px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__texts .mealz-planner-menu-option__subtitle{font-family:var(--family-body, "Satoshi", sans-serif);font-size:16px;font-weight:400;line-height:24px;color:var(--content-weak, rgba(31, 42, 46, .7));margin:0}@media (max-width: 607px){.mealz-planner-menu-option .mealz-planner-menu-option__container{padding:16px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__top .mealz-planner-menu-option__avatars .mealz-ds-avatar{width:54px;height:54px}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__title{font-size:16px;line-height:150%;font-weight:700}.mealz-planner-menu-option .mealz-planner-menu-option__container .mealz-planner-menu-option__subtitle{font-size:14px;line-height:150%;font-weight:500}}.mealz-planner-menu-option .mealz-planner-menu-option__cancel{display:flex;justify-content:center;width:100%;padding:8px 0;border:none;border-top:1px solid var(--mealz-ds-color-neutral-200, #D9DDE1);cursor:pointer;text-decoration:none;background:none}.mealz-planner-menu-option .mealz-planner-menu-option__cancel span{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-right:4px}
|
|
@@ -1 +1 @@
|
|
|
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-
|
|
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-CXVMZH9n.js";import{m as s}from"../../assets/mealz-sdk-CnvUgy3V.js";import{g as M,f as g}from"../helpers/menu-title.min.js";import{t as r}from"../../assets/take-BgFJXP4B.js";import{o}from"../../assets/of-D0UErknW.js";import{f}from"../../assets/from-uSPfq2sN.js";import{s as l}from"../../assets/switchMap-DC1sJvd8.js";import"../../assets/property-BXpY_hgs.js";import"../../assets/empty-Dy0Wgz_B.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/innerFrom-BldbX_fT.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-LLTnDXid.js";import"../../onboarding/events.min.js";import"../../assets/args-upHwW4Wh.js";import"../../assets/isScheduler-fbUJB_yC.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",navigationArrow:".mealz-planner-menu-option__redirect"}}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:i,hasCustomRecipes:u,menuId:d,recipesId:a,currentMenuPageUrl:h,recipeImgs:c}=JSON.parse(e);this.isCustomMenu=!!t,this.storeId=i??this.storeId,this.hasCustomRecipes=!!u,this.menuId=d??this.menuId,this.currentMenuPageUrl=h??this.currentMenuPageUrl,this.recipeImgs=c||[],this.recipeIds=Array.isArray(a)?a:[],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(){s.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.showLoader(),this.sendModeSelectEvent(e),this.isFromPlannerEntry(),localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),this.proceedAfterHookAndOptionalModal()}sendModeSelectEvent(e){s.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?o(null):f(g()).pipe(l(e=>(this.menuTitle=e,s.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():o(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 i=this.getCurrentMenuUrlWithInitialView();i&&i!==globalThis.location.href&&(globalThis.location.href=i)}})}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.isFromPlannerEntry()&&!this.isCustomMenu&&this.recipeIds.length>0;try{const n=new URL(e,globalThis.location.origin);return t&&n.searchParams.set("fromFeatured","true"),n.toString()}catch{if(!t)return e;const n=e.includes("?")?"&":"?";return`${e}${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=s.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(r(1)).subscribe(()=>{globalThis.location.reload()})}replaceMenu(){this.resetMenuEvent(),s.planner.deleteMenu(this.menuId).pipe(r(1),l(()=>s.planner.createMenu()),r(1)).subscribe(e=>{this.menuId=e.id,this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="",this.proceedAfterHookAndOptionalModal()})}keepMenu(){this.redirectToMenu()}showLoader(){const e=this.querySelector(this.selectors.navigationArrow);if(e){const t=document.createElement("div");t.className="mealz-ds-loader mealz-planner-menu-option__loader",e.replaceWith(t)}}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}}customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",C);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as g}from"../../assets/property-CoRN-Ln2.js";import{r as b}from"../../assets/state-DDIoBQp5.js";import{M as v}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-D62BBu0I.js";import{O as f,b as z,c as y}from"../../onboarding/events.min.js";import{t as C,a as _,b as c,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as S,a as T}from"../../assets/responsive-C7Qf71r3.js";import{a as r}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-E_fNZM-c.js";var A=Object.defineProperty,l=(p,e,t,n)=>{for(var o=void 0,s=p.length-1,i;s>=0;s--)(i=p[s])&&(o=i(e,t,o)||o);return o&&A(e,t,o),o};const d=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",a={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",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont 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",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici.",fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],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:"Les recettes qui composent votre menu sont visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",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:340,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",spacerAboveStage:36}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},"current-menu-mobile":{type:"current-menu-mobile",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}}],localStorageKey:"_miam/currentMenuOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:d,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:d,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:'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:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}},{element:".mealz-planner-current-menu__footer-button",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top"}}],localStorageKey:"_miam/menuToBasketOnboarding",bottomMargin:36}};class u extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){if(super.connectedCallback(),r()){this.remove();return}this.isMobile=S(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new v,this.onboardingComponent.configurations=a,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,n;(e=this.onboardingComponent)==null||e.addEventListener(f,()=>{C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(z,o=>{var m;const i=((m=o.detail)==null?void 0:m.stepIndex)??0;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,c(this.mapTypeForAnalytics(this.type),this.currentStep)}),(n=this.onboardingComponent)==null||n.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")&&a[`${this.type}-mobile`]?`${this.type}-mobile`:this.type,t=a[e]?e:this.isMobile&&a["custom-mobile"]?"custom-mobile":"custom";this.onboardingComponent.type=t;const n=this.onboardingComponent.getConfig(t);this.onboardingComponent.steps=n.steps,this.onboardingComponent.showProgress=n.showProgress??!0;let o=n.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}startTour(){if(r()){this.remove();return}this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){if(r()){this.remove();return}this.onboardingComponent&&(this.updateOnboardingConfig(),c(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){if(r()){this.remove();return}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"current-menu-mobile":return"menu-navigation";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"suggestion":return"suggestion";case"custom":default:return"personal"}}}}l([g({type:Boolean})],u.prototype,"isCustomMenu");l([g({type:String})],u.prototype,"type");l([b()],u.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",u);export{u as M};
|
|
1
|
+
import{n as g}from"../../assets/property-BXpY_hgs.js";import{r as b}from"../../assets/state-BjFDUoQX.js";import{M as v}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-CXVMZH9n.js";import{O as f,b as z,c as y}from"../../onboarding/events.min.js";import{t as C,a as _,b as c,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as S,a as T}from"../../assets/responsive-C7Qf71r3.js";import{a as r}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-CnvUgy3V.js";var A=Object.defineProperty,l=(p,e,t,n)=>{for(var o=void 0,s=p.length-1,i;s>=0;s--)(i=p[s])&&(o=i(e,t,o)||o);return o&&A(e,t,o),o};const d=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",a={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",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont 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",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici.",fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],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:"Les recettes qui composent votre menu sont visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",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:340,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",spacerAboveStage:36}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},"current-menu-mobile":{type:"current-menu-mobile",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}}],localStorageKey:"_miam/currentMenuOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:d,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:d,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:'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:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}},{element:".mealz-planner-current-menu__footer-button",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top"}}],localStorageKey:"_miam/menuToBasketOnboarding",bottomMargin:36}};class u extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){if(super.connectedCallback(),r()){this.remove();return}this.isMobile=S(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new v,this.onboardingComponent.configurations=a,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,n;(e=this.onboardingComponent)==null||e.addEventListener(f,()=>{C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(z,o=>{var m;const i=((m=o.detail)==null?void 0:m.stepIndex)??0;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,c(this.mapTypeForAnalytics(this.type),this.currentStep)}),(n=this.onboardingComponent)==null||n.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")&&a[`${this.type}-mobile`]?`${this.type}-mobile`:this.type,t=a[e]?e:this.isMobile&&a["custom-mobile"]?"custom-mobile":"custom";this.onboardingComponent.type=t;const n=this.onboardingComponent.getConfig(t);this.onboardingComponent.steps=n.steps,this.onboardingComponent.showProgress=n.showProgress??!0;let o=n.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}startTour(){if(r()){this.remove();return}this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){if(r()){this.remove();return}this.onboardingComponent&&(this.updateOnboardingConfig(),c(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){if(r()){this.remove();return}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"current-menu-mobile":return"menu-navigation";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"suggestion":return"suggestion";case"custom":default:return"personal"}}}}l([g({type:Boolean})],u.prototype,"isCustomMenu");l([g({type:String})],u.prototype,"type");l([b()],u.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",u);export{u as M};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as m,k as e}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as m,k as e}from"../../assets/no-shadow-element-CXVMZH9n.js";import{r as p}from"../../assets/state-BjFDUoQX.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-CnvUgy3V.js";import"../../assets/property-BXpY_hgs.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:"Envie de compléter votre menu ?",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.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as t,k as a}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as t,k as a}from"../../assets/no-shadow-element-CXVMZH9n.js";import{M as o}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-CnvUgy3V.js";import"../../assets/property-BXpY_hgs.js";import"../../assets/unsafe-html-LLTnDXid.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">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as o}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as o}from"../../assets/no-shadow-element-CXVMZH9n.js";import{m}from"../../assets/mealz-sdk-CnvUgy3V.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 c}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as c}from"../../assets/no-shadow-element-CXVMZH9n.js";import{m as a}from"../../assets/mealz-sdk-CnvUgy3V.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: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:
|
|
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:start}}@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 l}from"../../assets/no-shadow-element-CXVMZH9n.js";import{b as d}from"../../assets/http-Cm33xl_Z.js";import{m as o}from"../../assets/mealz-sdk-CnvUgy3V.js";import{i as p}from"../../assets/responsive-C7Qf71r3.js";import{t as m}from"../../assets/take-BgFJXP4B.js";import"../../assets/empty-Dy0Wgz_B.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";class h extends l{constructor(){super(...arguments),this.menuRecipeCount=0,this.recipeCardURL="",this.storeId="",this.sessionId="",this.recipesIdInBasket=[],this.syncPlaceholdersRafId=null,this.maxEmptyRecipeCards=6}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.scheduleSyncPlaceholders()}disconnectedCallback(){super.disconnectedCallback(),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 s;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 a=await(await fetch(this.recipeCardURL+"?"+t.toString(),{method:"GET",headers:d(this.sessionId)})).text(),i=(s=this.elements)==null?void 0:s.recipeCardsContainer;if(i){if(i.insertAdjacentHTML("afterbegin",a),this.recipesIdInBasket.includes(e)){const r=i.firstElementChild;r&&this.addInBasketOverlay(r)}if(!p(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,s;const t=(i=this.elements)==null?void 0:i.recipeCardsContainer,n=(s=t==null?void 0:t.children)==null?void 0:s[e];if(!n)return;n.classList.add("mealz-planner-recipe-card__fadeout");const a=setTimeout(()=>{this.cleanupRecipeCard(n)},200);n.addEventListener("animationend",()=>{clearTimeout(a),this.cleanupRecipeCard(n)},{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,n)=>{t.updateRecipeIndex(n)})}getRecipesInBasket(){var t;const e=o.basket;(t=e==null?void 0:e.recipePricesInBasket$)==null||t.call(e).pipe(m(1)).subscribe(n=>{this.recipesIdInBasket=n.map(a=>a.id)})}addInBasketOverlay(e){const t=e.querySelector(".mealz-planner-recipe-card__in-basket");t==null||t.classList.remove("hidden")}scheduleSyncPlaceholders(){this.syncPlaceholdersRafId!==null&&cancelAnimationFrame(this.syncPlaceholdersRafId),this.syncPlaceholdersRafId=requestAnimationFrame(()=>{this.syncPlaceholdersRafId=null,this.syncPlaceholders()})}syncPlaceholders(){const{gridContainer:e}=this.elements,t=e??this.querySelector(".mealz-planner-recipe-list__grid");if(!t)return;const n=this.menuRecipeCount??this.querySelectorAll("mealz-planner-recipe-card").length,a=n===0?this.maxEmptyRecipeCards:Math.max(1,this.maxEmptyRecipeCards-n),i=Array.from(t.querySelectorAll(".mealz-planner-recipe-list__placeholder"));for(;i.length>a;){const s=i.pop();s==null||s.remove()}for(;i.length<a;){const s=document.createElement("div");s.className="mealz-planner-recipe-list__placeholder",s.setAttribute("aria-hidden","true"),t.appendChild(s),i.push(s)}}syncHeader(){const{headerCount:e,headerMealsLabel:t}=this.elements;if(e&&(e.textContent=String(this.menuRecipeCount??0)),t){const n=t.getAttribute("data-meal-singular")||"",a=t.getAttribute("data-meal-plural")||"";n&&a&&(t.textContent=this.menuRecipeCount===1?n:a)}}}customElements.get("mealz-planner-recipe-list")||customElements.define("mealz-planner-recipe-list",h);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
mealz-planner-recipe-suggestion{position:relative;display:block;min-height:572px;padding:24px 0 40px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge{position:absolute;top:14px;left:50%;transform:translate(-50%) rotate(-2deg);display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-surface-brand-light, #e4edf1);border-radius:8px;box-shadow:0 1px 4px #0318201f;z-index:3;pointer-events:none}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge img{width:16px;height:16px;flex-shrink:0}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge span{color:var(--mealz-ds-color-primary, #24748f);line-height:16px;font-size:14px;white-space:nowrap}.mealz-planner-recipe-suggestion__arrow{position:absolute;right:20px;top:520px;width:85px;height:42px;z-index:0;pointer-events:none}.mealz-planner-recipe-suggestion__arrow img{width:100%;height:100%;object-fit:contain}.mealz-planner-recipe-suggestion{display:flex;flex-direction:column;position:absolute;top:24px;left:50%;transform:translate(-50%);height:508px;max-height:100%;width:356px;max-width:100%;border-radius:12px;box-shadow:0 16px 24px #0318201f;overflow:visible;background:var(--mealz-ds-color-neutral-white, #FFF);z-index:2;transition:transform .3s linear,opacity .3s linear}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{position:relative;width:100%;height:400px;cursor:pointer;border-radius:12px 12px 0 0;overflow:hidden}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:filter .3s linear;border-radius:12px 12px 0 0}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture img.loading{filter:blur(8px)}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__overlay{position:absolute;left:0;right:0;top:43.667%;bottom:0;background:linear-gradient(180deg,#0000,#0009);pointer-events:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos{position:absolute;bottom:0;left:0;right:0;padding:12px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges{display:flex;align-items:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-recipe-promotion-badge span{font-size:14px;line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor{display:flex;justify-content:center;width:fit-content;background-color:var(--mealz-ds-color-neutral-white, #fff);padding:6px 8px;border-radius:50px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor img{height:20px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges .hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor.hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-recipe-promotion-badge.hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges-promotion.hidden{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe{display:flex;width:fit-content;min-height:32px;padding:8px 12px;background:#0318204d;border-radius:8px;border:none;cursor:pointer;align-items:center;justify-content:center}@supports ((-webkit-backdrop-filter: blur(4px)) or (backdrop-filter: blur(4px))){.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe span{color:#fff;line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-current-menu__recipe-title{cursor:pointer;color:#fff;text-shadow:0px 1px 4px rgba(0,0,0,.25);line-height:28px;font-size:20px;font-weight:700;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__content{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--mealz-ds-color-neutral-white, #FFF);pointer-events:auto;border-radius:0 0 12px 12px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-labels{display:flex;gap:12px;flex-wrap:wrap;min-height:24px;align-items:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label{display:flex;gap:4px;align-items:center;justify-content:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label img{width:24px;height:24px;flex-shrink:0}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label span{color:var(--mealz-ds-color-content-default, #1f2a2e);line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap{display:flex;flex-direction:row;gap:8px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>*{min-height:48px;padding:12px 20px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>* img,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>* .mealz-planner-recipe-suggestion__actions-add-button-loading{width:24px;height:24px;margin-right:4px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .hidden{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-swap-button{flex:0 0 auto}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-swap-button:hover img{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Swap_white.svg)}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button{flex:1}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button img{display:block}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button .mealz-planner-recipe-suggestion__actions-add-button-loading,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button.loading img{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button.loading .mealz-planner-recipe-suggestion__actions-add-button-loading{display:block}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next{position:absolute;left:calc(50% - 48px);transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;pointer-events:none;z-index:1}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__actions{pointer-events:none}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__actions button{pointer-events:none;cursor:default}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-add{animation:exitAdd .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-pass{animation:exitPass .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__promote{animation:promote .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__reveal{animation:reveal .2s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-add,.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-pass{pointer-events:none}@keyframes exitPass{0%{transform:translate(-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% - 200px)) rotate(-6deg) scale(.6);opacity:0}}@keyframes promote{0%{transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;left:calc(50% - 48px)}to{transform:translate(-50%) rotate(0) scale(1);opacity:1;left:50%}}@keyframes reveal{0%{opacity:0;transform:translate(-50%) rotate(2deg) scale(.85)}to{opacity:.5;transform:translate(-50%) rotate(-2deg) scale(.9)}}@keyframes exitAdd{0%{transform:translate(-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% + 200px)) rotate(6deg) scale(.6);opacity:0}}@media (min-width: 1024px){@media (max-height: 850px){.mealz-planner-recipe-suggestion{height:408px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{height:300px}.mealz-planner-recipe-suggestion__arrow{top:420px}}@media (max-height: 750px){.mealz-planner-recipe-suggestion{height:308px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{height:200px}.mealz-planner-recipe-suggestion__arrow{top:320px}}}@media (max-width: 1023px){mealz-planner-recipe-suggestion{padding-top:12px;padding-bottom:12px}.mealz-planner-recipe-suggestion{width:320px;max-width:calc(100vw - 52px);height:364px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__content .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap .mealz-ds-button{padding:8px 12px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{height:280px}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next{left:calc(50% - 40px)}.mealz-planner-recipe-suggestion__arrow{top:380px;right:calc(50% - 160px);transform:scaleX(-1) rotate(90deg) scale(1.2)}@media (max-height: 750px){.mealz-planner-recipe-suggestion{height:264px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{height:180px}.mealz-planner-recipe-suggestion__arrow{top:280px}}@media (max-height: 700px){.mealz-planner-recipe-suggestion{height:236px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{height:156px}.mealz-planner-recipe-suggestion__arrow{top:256px}}}@media (max-width: 768px){mealz-planner-recipe-suggestion{min-height:388px;padding-left:26px;padding-right:26px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge{top:16px;padding:6px 10px;gap:3px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge img{width:14px;height:14px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge span{font-size:12px;line-height:14px}.mealz-planner-recipe-suggestion__arrow{top:378px}@media (max-height: 750px){.mealz-planner-recipe-suggestion__arrow{top:278px}}@media (max-height: 700px){.mealz-planner-recipe-suggestion__arrow{top:254px}}@keyframes promote{0%{transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;left:calc(50% - 40px)}to{transform:translate(-50%) rotate(0) scale(1);opacity:1;left:50%}}@keyframes exitPass{0%{transform:translate(-50%) translateY(0) rotate(0);opacity:1}to{transform:translate(-50%) translateY(-120%) rotate(-6deg);opacity:0}}@keyframes exitAdd{0%{transform:translate(-50%) translateY(0) rotate(0);opacity:1}to{transform:translate(-50%) translateY(120%) rotate(6deg);opacity:0}}}
|
|
1
|
+
mealz-planner-recipe-suggestion{position:relative;display:flex;justify-content:center;height:75%;max-height:508px;margin:24px 0 40px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge{position:absolute;top:14px;left:50%;transform:translate(-50%) rotate(-2deg);display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-surface-brand-light, #e4edf1);border-radius:8px;box-shadow:0 1px 4px #0318201f;z-index:3;pointer-events:none}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge img{width:16px;height:16px;flex-shrink:0}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge span{color:var(--mealz-ds-color-primary, #24748f);line-height:16px;font-size:14px;white-space:nowrap}.mealz-planner-recipe-suggestion__arrow{position:absolute;right:20px;width:85px;height:42px;bottom:-20px;z-index:0;pointer-events:none}.mealz-planner-recipe-suggestion__arrow img{width:100%;height:100%;object-fit:contain}.mealz-planner-recipe-suggestion{display:flex;flex-direction:column;height:100%;width:356px;max-width:100%;border-radius:12px;box-shadow:0 16px 24px #0318201f;overflow:visible;background:var(--mealz-ds-color-neutral-white, #FFF);z-index:2;transition:transform .3s linear,opacity .3s linear}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture{position:relative;width:100%;height:100%;cursor:pointer;border-radius:12px 12px 0 0;overflow:hidden}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:filter .3s linear;border-radius:12px 12px 0 0}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture img.loading{filter:blur(8px)}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__overlay{position:absolute;left:0;right:0;top:43.667%;bottom:0;background:linear-gradient(180deg,#0000,#0009);pointer-events:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos{position:absolute;bottom:0;left:0;right:0;padding:12px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges{display:flex;align-items:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-recipe-promotion-badge span{font-size:14px;line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor{display:flex;justify-content:center;width:fit-content;background-color:var(--mealz-ds-color-neutral-white, #fff);padding:6px 8px;border-radius:50px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor img{height:20px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges .hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-sponsor.hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-recipe-promotion-badge.hidden,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__recipe-badges-promotion.hidden{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe{display:flex;width:fit-content;min-height:32px;padding:8px 12px;background:#0318204d;border-radius:8px;border:none;cursor:pointer;align-items:center;justify-content:center}@supports ((-webkit-backdrop-filter: blur(4px)) or (backdrop-filter: blur(4px))){.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-recipe-suggestion__see-recipe span{color:#fff;line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__picture .mealz-planner-recipe-suggestion__media-infos .mealz-planner-current-menu__recipe-title{cursor:pointer;color:#fff;text-shadow:0px 1px 4px rgba(0,0,0,.25);line-height:28px;font-size:20px;font-weight:700;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__content{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--mealz-ds-color-neutral-white, #FFF);pointer-events:auto;border-radius:0 0 12px 12px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-labels{display:flex;gap:12px;flex-wrap:wrap;min-height:24px;align-items:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label{display:flex;gap:4px;align-items:center;justify-content:center}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label img{width:24px;height:24px;flex-shrink:0}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__recipe-info-label span{color:var(--mealz-ds-color-content-default, #1f2a2e);line-height:16px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap{display:flex;flex-direction:row;gap:8px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>*{min-height:48px;padding:12px 20px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>* img,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap>* .mealz-planner-recipe-suggestion__actions-add-button-loading{width:24px;height:24px;margin-right:4px}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .hidden{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-swap-button{flex:0 0 auto}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-swap-button:hover img{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Swap_white.svg)}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button{flex:1}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button img{display:block}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button .mealz-planner-recipe-suggestion__actions-add-button-loading,.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button.loading img{display:none}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-button.loading .mealz-planner-recipe-suggestion__actions-add-button-loading{display:block}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next{position:absolute;left:calc(50% - 48px);transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;pointer-events:none;z-index:1}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__actions{pointer-events:none}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__actions button{pointer-events:none;cursor:default}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-add{animation:exitAdd .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-pass{animation:exitPass .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__promote{animation:promote .3s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__reveal{animation:reveal .2s linear forwards}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-add,.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__exit-pass{pointer-events:none}@keyframes exitPass{0%{transform:translate(-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% - 200px)) rotate(-6deg) scale(.6);opacity:0}}@keyframes promote{0%{transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;left:calc(50% - 48px)}to{transform:translate(-50%) rotate(0) scale(1);opacity:1;left:50%}}@keyframes reveal{0%{opacity:0;transform:translate(-50%) rotate(2deg) scale(.85)}to{opacity:.5;transform:translate(-50%) rotate(-2deg) scale(.9)}}@keyframes exitAdd{0%{transform:translate(-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% + 200px)) rotate(6deg) scale(.6);opacity:0}}@media (max-width: 1023px){.mealz-planner-recipe-suggestion{width:320px;max-width:calc(100vw - 52px)}.mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__content .mealz-planner-recipe-suggestion__actions .mealz-planner-recipe-suggestion__actions-add-and-swap .mealz-ds-button{padding:8px 12px}.mealz-planner-recipe-suggestion.mealz-planner-recipe-suggestion__next{left:calc(50% - 40px)}.mealz-planner-recipe-suggestion__arrow{right:calc(50% - 160px);transform:scaleX(-1) rotate(90deg) scale(1.2)}}@media (max-width: 768px){mealz-planner-recipe-suggestion{padding-left:26px;padding-right:26px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge{top:16px;padding:6px 10px;gap:3px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge img{width:14px;height:14px}mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__badge span{font-size:12px;line-height:14px}@keyframes promote{0%{transform:translate(-50%) rotate(-2deg) scale(.9);opacity:.5;left:calc(50% - 40px)}to{transform:translate(-50%) rotate(0) scale(1);opacity:1;left:50%}}@keyframes exitPass{0%{transform:translate(-50%) translateY(0) rotate(0);opacity:1}to{transform:translate(-50%) translateY(-120%) rotate(-6deg);opacity:0}}@keyframes exitAdd{0%{transform:translate(-50%) translateY(0) rotate(0);opacity:1}to{transform:translate(-50%) translateY(120%) rotate(6deg);opacity:0}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as h,n as m,a as f}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as p}from"../../assets/mealz-sdk-E_fNZM-c.js";import{d as _}from"../../assets/debounceTime-Cf_7YmIn.js";import{E as l}from"../../assets/empty-qrpgDBbc.js";import{t as u}from"../../assets/take-CpvJwza7.js";import{t as c}from"../../assets/tap-BN_fPb40.js";import{o as S}from"../../assets/of-DtJFltSl.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/from-D8c5akO7.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";class x{constructor(){this.attributes={title:"","ext-id":"","ext-link":"",description:"","number-of-guests":"","preparation-time":"","preheating-time":"","cooking-time":"","resting-time":"","media-url":"",source:"","informational-page-html":"","filigrane-logo-url":"","informational-sentence":"","order-history":"",difficulty:1,cost:1,suggested:!1,popularity:0,"video-id":"",promoted:!1,discounted:!1,editable:!1,position:-1},this.ttl=3600,this.finalTimer=this.attributes["preparation-time"]+this.attributes["preheating-time"]+this.attributes["cooking-time"]+this.attributes["resting-time"]}get title(){return this.attributes.title}get promoted(){return this.attributes.promoted}get discounted(){return this.attributes.discounted}get guests(){return this.attributes["number-of-guests"]}set guests(e){this.attributes["number-of-guests"]=e}get filigraneLogoUrl(){return this.attributes["filigrane-logo-url"]?this.attributes["filigrane-logo-url"]:null}get sponsorName(){return this.relationships.sponsors.length>0?this.relationships.sponsors[0].attributes.name:null}get sponsorLogoUrl(){var e,t;return this.relationships.sponsors.data.length>0?(t=(e=this.relationships.sponsors.data[0])==null?void 0:e.attributes)==null?void 0:t["logo-url"]:null}get informationalSentence(){return this.attributes["informational-sentence"]}get costLabel(){switch(this.attributes.cost){case 1:return"faible";case 2:return"moyen";case 3:return"élevé";default:return"moyen"}}get orderHistory(){return this.attributes["order-history"]}get preparationTime(){}get cookingTime(){}get restingTime(){}get difficulty(){return this.attributes.difficulty}set difficulty(e){this.attributes.difficulty=e}set discounted(e){this.attributes.discounted=e}}class R extends h{constructor(){super(...arguments),this.recipeId="",this.guests=0,this.menuRecipes=[],this.suggestedRecipes=[],this.nextSuggestion=null,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f,this.lastShownRecipeId=null,this.isAnimating=!1,this.prefersReducedMotion=!1,this.hasUserInteracted=!1,this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh=!1}get selectors(){return{currentCard:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)",title:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-current-menu__recipe-title",swapButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__see-recipe",addAndSwapButtons:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-and-swap",pictureContainer:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture img",promotion:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor",sponsorImg:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor img",nextSuggestionCard:".mealz-planner-recipe-suggestion__next",nextSuggestionPicture:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__picture img",nextSuggestionTitle:".mealz-planner-recipe-suggestion__next .mealz-planner-current-menu__recipe-title",nextPromotion:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-badges-promotion",nextSponsor:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor",nextSponsorImg:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(_(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges(),this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches}disconnectedCallback(){super.disconnectedCallback(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}firstUpdated(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.nextSuggestion=this.suggestedRecipes[1]||null,this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addEventListener("click",e=>{if(this.isAnimating){e.preventDefault(),e.stopPropagation();return}const t=e.target;if(t.closest(".mealz-planner-recipe-suggestion__actions-swap-button")){this.swapRecipeClick$.next();return}const s=t.closest(".mealz-planner-recipe-suggestion__actions-add-button");if(s&&!s.classList.contains("loading")){this.addRecipe();return}if(t.closest(".mealz-planner-current-menu__recipe-title")||t.closest(".mealz-planner-recipe-suggestion__see-recipe")||t.closest(".mealz-planner-recipe-suggestion__picture")){this.openRecipeDetails();return}})}updateDisplayedRecipe(){const{title:e,addAndSwapButtons:t,picture:s,promotion:i,sponsor:a,sponsorImg:o}=this.elements;if(!s||!e||!i||!a||!o||!t)return;const r=this.suggestedRecipes[0];if(!r)return;const n=new x;Object.assign(n,r),this.recipeId=r.id,this.setupImageHandlers(s,n,e,t,i,a,o)}setupImageHandlers(e,t,s,i,a,o,r){let n=null;const g=()=>{n&&(clearTimeout(n),n=null),this.updateRecipeUI(e,s,i,t,a,o,r)};e.classList.add("loading"),e.onload=g,e.onerror=g,t.attributes["media-url"]?(e.src=t.attributes["media-url"],n=window.setTimeout(g,1e3)):g()}updateRecipeUI(e,t,s,i,a,o,r){e.classList.remove("loading"),o.classList.toggle("hidden",!i.sponsorLogoUrl),r&&(r.src=i.sponsorLogoUrl?i.sponsorLogoUrl:""),a.classList.toggle("hidden",!i.discounted),t.textContent=i.attributes.title||"";const n=this.menuRecipes.some(g=>g.id===i.id);s.classList.toggle("hidden",n)}updateNextSuggestionUI(){return new Promise(e=>{const{nextSuggestionCard:t,nextSuggestionPicture:s,nextSuggestionTitle:i,nextPromotion:a,nextSponsor:o,nextSponsorImg:r}=this.elements;if(!this.nextSuggestion){t&&t.classList.add("hidden"),e();return}if(t&&t.classList.remove("hidden"),!s||!i){e();return}const n=s,g=i;if(g.textContent=this.nextSuggestion.attributes.title||"",o.classList.toggle("hidden",!this.nextSuggestion.sponsorLogoUrl),r&&(r.src=this.nextSuggestion.sponsorLogoUrl?this.nextSuggestion.sponsorLogoUrl:""),a.classList.toggle("hidden",!this.nextSuggestion.discounted),this.nextSuggestion.attributes["media-url"]){if(n.classList.add("loading"),n.complete&&n.src===this.nextSuggestion.attributes["media-url"]){n.classList.remove("loading"),e();return}n.onload=()=>{n.classList.remove("loading"),e()},n.onerror=()=>{n.classList.remove("loading"),e()},n.src=this.nextSuggestion.attributes["media-url"]}else e()})}async waitForNextSuggestionReady(){for(;this.isLoadingNextSuggestion;)await new Promise(e=>setTimeout(e,50));this.nextSuggestion&&await this.updateNextSuggestionUI()}runSuggestionTransition(e,t){if(this.isAnimating)return;const s=this.querySelector(".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)"),i=this.querySelector(".mealz-planner-recipe-suggestion__next");if(!s||!i){t();return}if(this.prefersReducedMotion){t(),this.initSelectors();return}this.isAnimating=!0;const a=e==="add"?"mealz-planner-recipe-suggestion__exit-add":"mealz-planner-recipe-suggestion__exit-pass";s.classList.add(a),i.classList.add("mealz-planner-recipe-suggestion__promote"),setTimeout(()=>{(async()=>{s.style.display="none",s.classList.remove(a),s.classList.add("mealz-planner-recipe-suggestion__next"),i.classList.remove("mealz-planner-recipe-suggestion__promote","mealz-planner-recipe-suggestion__next"),this.initSelectors(),t(),await this.waitForNextSuggestionReady();const r=this.querySelector(".mealz-planner-recipe-suggestion__next");r?(r.classList.add("mealz-planner-recipe-suggestion__reveal"),r.style.display="flex",setTimeout(()=>{r.classList.remove("mealz-planner-recipe-suggestion__reveal"),this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))},200)):(this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0})))})()},300)}addRecipe(){this.addRecipeUsingSuggestionFlow$().subscribe()}addRecipeFromDetails$(e){return typeof e=="number"&&(this.guests=e),this.addRecipeUsingSuggestionFlow$()}addRecipeUsingSuggestionFlow$(){if(this.isAnimating)return l;this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");return e?(this.rejectCurrentRecipeIfNeeded(),e.addRecipe(this.recipeId,this.guests,"ai_suggestion","meals-planner-dashboard").pipe(u(1),c({next:()=>{this.runSuggestionTransition("add",()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)})},error:()=>{this.toggleLoadingButton(!1)}}))):(this.toggleLoadingButton(!1),l)}toggleLoadingButton(e){this.querySelectorAll(".mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions-add-button").forEach(s=>{s.classList.toggle("loading",e)})}addAndSelectNewSuggestion(e){if(e){this.menuRecipes.push(e),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.requestUpdate();return}this.suggestedRecipes.length===0||!this.suggestedRecipes[0]||(this.menuRecipes.push(this.suggestedRecipes[0]),this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent(),this.requestUpdate())}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?S():s.removeRecipe(t).pipe(u(1),c(()=>{const i=this.menuRecipes.findIndex(a=>a.id===t);i!==-1&&(this.menuRecipes.splice(i,1),this.recipeId===t&&(this.updateDisplayedRecipe(),this.requestUpdate()))}))}swapRecipe(){this.isAnimating||(this.rejectCurrentRecipeIfNeeded(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.runSuggestionTransition("pass",()=>{this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent()}))}rejectCurrentRecipeIfNeeded(){const e=this.suggestedRecipes[0];(!this.hasUserInteracted||this.suggestedRecipes.length===1)&&(e!=null&&e.id)&&p.planner.rejectRecipe(e.id).pipe(u(1)).subscribe(),this.hasUserInteracted||(this.hasUserInteracted=!0)}updateNextSuggestion(e=!1){var t;this.suggestedRecipes.length>1?(this.nextSuggestion=this.suggestedRecipes[1],e&&((t=this.nextSuggestion)!=null&&t.id)&&p.planner.rejectRecipe(this.nextSuggestion.id).pipe(u(1)).subscribe()):(this.nextSuggestion=null,this.getNewSuggestedRecipes())}getNewSuggestedRecipes(e){const t=(e==null?void 0:e.replace)===!0;this.isLoadingNextSuggestion=!0,p.planner.getSuggestedRecipes().pipe(u(1)).subscribe(s=>{t?(this.suggestedRecipes=[...s],this.hasUserInteracted=!1,this.nextSuggestion=this.suggestedRecipes[1]||null):(this.suggestedRecipes=[...this.suggestedRecipes,...s],this.hasUserInteracted=!1,this.updateNextSuggestion()),this.updateDisplayedRecipe(),this.updateNextSuggestionUI().then(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}).catch(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}),this.suggestionShownEvent()})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>{if(this.isAnimating||this.isLoadingNextSuggestion){this.pendingPreferencesRefresh=!0;return}this.getNewSuggestedRecipes({replace:!0})}))}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){this.recipeId&&this.recipeId!==this.lastShownRecipeId&&(p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId}),this.lastShownRecipeId=this.recipeId)}}customElements.get("mealz-planner-recipe-suggestion")||customElements.define("mealz-planner-recipe-suggestion",R);
|
|
1
|
+
import{N as h,n as m,a as f}from"../../assets/no-shadow-element-CXVMZH9n.js";import{m as p}from"../../assets/mealz-sdk-CnvUgy3V.js";import{d as _}from"../../assets/debounceTime-BeLayHXh.js";import{E as l}from"../../assets/empty-Dy0Wgz_B.js";import{t as u}from"../../assets/take-BgFJXP4B.js";import{t as c}from"../../assets/tap-DT80gG87.js";import{o as S}from"../../assets/of-D0UErknW.js";import"../../assets/async-M7ziFu3t.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/args-upHwW4Wh.js";import"../../assets/isScheduler-fbUJB_yC.js";import"../../assets/from-uSPfq2sN.js";import"../../assets/innerFrom-BldbX_fT.js";import"../../assets/executeSchedule-CEDvgTzM.js";class x{constructor(){this.attributes={title:"","ext-id":"","ext-link":"",description:"","number-of-guests":"","preparation-time":"","preheating-time":"","cooking-time":"","resting-time":"","media-url":"",source:"","informational-page-html":"","filigrane-logo-url":"","informational-sentence":"","order-history":"",difficulty:1,cost:1,suggested:!1,popularity:0,"video-id":"",promoted:!1,discounted:!1,editable:!1,position:-1},this.ttl=3600,this.finalTimer=this.attributes["preparation-time"]+this.attributes["preheating-time"]+this.attributes["cooking-time"]+this.attributes["resting-time"]}get title(){return this.attributes.title}get promoted(){return this.attributes.promoted}get discounted(){return this.attributes.discounted}get guests(){return this.attributes["number-of-guests"]}set guests(e){this.attributes["number-of-guests"]=e}get filigraneLogoUrl(){return this.attributes["filigrane-logo-url"]?this.attributes["filigrane-logo-url"]:null}get sponsorName(){return this.relationships.sponsors.length>0?this.relationships.sponsors[0].attributes.name:null}get sponsorLogoUrl(){var e,t;return this.relationships.sponsors.data.length>0?(t=(e=this.relationships.sponsors.data[0])==null?void 0:e.attributes)==null?void 0:t["logo-url"]:null}get informationalSentence(){return this.attributes["informational-sentence"]}get costLabel(){switch(this.attributes.cost){case 1:return"faible";case 2:return"moyen";case 3:return"élevé";default:return"moyen"}}get orderHistory(){return this.attributes["order-history"]}get preparationTime(){}get cookingTime(){}get restingTime(){}get difficulty(){return this.attributes.difficulty}set difficulty(e){this.attributes.difficulty=e}set discounted(e){this.attributes.discounted=e}}class R extends h{constructor(){super(...arguments),this.recipeId="",this.guests=0,this.menuRecipes=[],this.suggestedRecipes=[],this.nextSuggestion=null,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f,this.lastShownRecipeId=null,this.isAnimating=!1,this.prefersReducedMotion=!1,this.hasUserInteracted=!1,this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh=!1}get selectors(){return{currentCard:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)",title:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-current-menu__recipe-title",swapButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__see-recipe",addAndSwapButtons:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-and-swap",pictureContainer:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture img",promotion:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor",sponsorImg:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor img",nextSuggestionCard:".mealz-planner-recipe-suggestion__next",nextSuggestionPicture:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__picture img",nextSuggestionTitle:".mealz-planner-recipe-suggestion__next .mealz-planner-current-menu__recipe-title",nextPromotion:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-badges-promotion",nextSponsor:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor",nextSponsorImg:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(_(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges(),this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches}disconnectedCallback(){super.disconnectedCallback(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}firstUpdated(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.nextSuggestion=this.suggestedRecipes[1]||null,this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addEventListener("click",e=>{if(this.isAnimating){e.preventDefault(),e.stopPropagation();return}const t=e.target;if(t.closest(".mealz-planner-recipe-suggestion__actions-swap-button")){this.swapRecipeClick$.next();return}const s=t.closest(".mealz-planner-recipe-suggestion__actions-add-button");if(s&&!s.classList.contains("loading")){this.addRecipe();return}if(t.closest(".mealz-planner-current-menu__recipe-title")||t.closest(".mealz-planner-recipe-suggestion__see-recipe")||t.closest(".mealz-planner-recipe-suggestion__picture")){this.openRecipeDetails();return}})}updateDisplayedRecipe(){const{title:e,addAndSwapButtons:t,picture:s,promotion:i,sponsor:a,sponsorImg:o}=this.elements;if(!s||!e||!i||!a||!o||!t)return;const r=this.suggestedRecipes[0];if(!r)return;const n=new x;Object.assign(n,r),this.recipeId=r.id,this.setupImageHandlers(s,n,e,t,i,a,o)}setupImageHandlers(e,t,s,i,a,o,r){let n=null;const g=()=>{n&&(clearTimeout(n),n=null),this.updateRecipeUI(e,s,i,t,a,o,r)};e.classList.add("loading"),e.onload=g,e.onerror=g,t.attributes["media-url"]?(e.src=t.attributes["media-url"],n=window.setTimeout(g,1e3)):g()}updateRecipeUI(e,t,s,i,a,o,r){e.classList.remove("loading"),o.classList.toggle("hidden",!i.sponsorLogoUrl),r&&(r.src=i.sponsorLogoUrl?i.sponsorLogoUrl:""),a.classList.toggle("hidden",!i.discounted),t.textContent=i.attributes.title||"";const n=this.menuRecipes.some(g=>g.id===i.id);s.classList.toggle("hidden",n)}updateNextSuggestionUI(){return new Promise(e=>{const{nextSuggestionCard:t,nextSuggestionPicture:s,nextSuggestionTitle:i,nextPromotion:a,nextSponsor:o,nextSponsorImg:r}=this.elements;if(!this.nextSuggestion){t&&t.classList.add("hidden"),e();return}if(t&&t.classList.remove("hidden"),!s||!i){e();return}const n=s,g=i;if(g.textContent=this.nextSuggestion.attributes.title||"",o.classList.toggle("hidden",!this.nextSuggestion.sponsorLogoUrl),r&&(r.src=this.nextSuggestion.sponsorLogoUrl?this.nextSuggestion.sponsorLogoUrl:""),a.classList.toggle("hidden",!this.nextSuggestion.discounted),this.nextSuggestion.attributes["media-url"]){if(n.classList.add("loading"),n.complete&&n.src===this.nextSuggestion.attributes["media-url"]){n.classList.remove("loading"),e();return}n.onload=()=>{n.classList.remove("loading"),e()},n.onerror=()=>{n.classList.remove("loading"),e()},n.src=this.nextSuggestion.attributes["media-url"]}else e()})}async waitForNextSuggestionReady(){for(;this.isLoadingNextSuggestion;)await new Promise(e=>setTimeout(e,50));this.nextSuggestion&&await this.updateNextSuggestionUI()}runSuggestionTransition(e,t){if(this.isAnimating)return;const s=this.querySelector(".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)"),i=this.querySelector(".mealz-planner-recipe-suggestion__next");if(!s||!i){t();return}if(this.prefersReducedMotion){t(),this.initSelectors();return}this.isAnimating=!0;const a=e==="add"?"mealz-planner-recipe-suggestion__exit-add":"mealz-planner-recipe-suggestion__exit-pass";s.classList.add(a),i.classList.add("mealz-planner-recipe-suggestion__promote"),setTimeout(()=>{(async()=>{s.style.display="none",s.classList.remove(a),s.classList.add("mealz-planner-recipe-suggestion__next"),i.classList.remove("mealz-planner-recipe-suggestion__promote","mealz-planner-recipe-suggestion__next"),this.initSelectors(),t(),await this.waitForNextSuggestionReady();const r=this.querySelector(".mealz-planner-recipe-suggestion__next");r?(r.classList.add("mealz-planner-recipe-suggestion__reveal"),r.style.display="flex",setTimeout(()=>{r.classList.remove("mealz-planner-recipe-suggestion__reveal"),this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))},200)):(this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0})))})()},300)}addRecipe(){this.addRecipeUsingSuggestionFlow$().subscribe()}addRecipeFromDetails$(e){return typeof e=="number"&&(this.guests=e),this.addRecipeUsingSuggestionFlow$()}addRecipeUsingSuggestionFlow$(){if(this.isAnimating)return l;this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");return e?(this.rejectCurrentRecipeIfNeeded(),e.addRecipe(this.recipeId,this.guests,"ai_suggestion","meals-planner-dashboard").pipe(u(1),c({next:()=>{this.runSuggestionTransition("add",()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)})},error:()=>{this.toggleLoadingButton(!1)}}))):(this.toggleLoadingButton(!1),l)}toggleLoadingButton(e){this.querySelectorAll(".mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions-add-button").forEach(s=>{s.classList.toggle("loading",e)})}addAndSelectNewSuggestion(e){if(e){this.menuRecipes.push(e),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.requestUpdate();return}this.suggestedRecipes.length===0||!this.suggestedRecipes[0]||(this.menuRecipes.push(this.suggestedRecipes[0]),this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent(),this.requestUpdate())}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?S():s.removeRecipe(t).pipe(u(1),c(()=>{const i=this.menuRecipes.findIndex(a=>a.id===t);i!==-1&&(this.menuRecipes.splice(i,1),this.recipeId===t&&(this.updateDisplayedRecipe(),this.requestUpdate()))}))}swapRecipe(){this.isAnimating||(this.rejectCurrentRecipeIfNeeded(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.runSuggestionTransition("pass",()=>{this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent()}))}rejectCurrentRecipeIfNeeded(){const e=this.suggestedRecipes[0];(!this.hasUserInteracted||this.suggestedRecipes.length===1)&&(e!=null&&e.id)&&p.planner.rejectRecipe(e.id).pipe(u(1)).subscribe(),this.hasUserInteracted||(this.hasUserInteracted=!0)}updateNextSuggestion(e=!1){var t;this.suggestedRecipes.length>1?(this.nextSuggestion=this.suggestedRecipes[1],e&&((t=this.nextSuggestion)!=null&&t.id)&&p.planner.rejectRecipe(this.nextSuggestion.id).pipe(u(1)).subscribe()):(this.nextSuggestion=null,this.getNewSuggestedRecipes())}getNewSuggestedRecipes(e){const t=(e==null?void 0:e.replace)===!0;this.isLoadingNextSuggestion=!0,p.planner.getSuggestedRecipes().pipe(u(1)).subscribe(s=>{t?(this.suggestedRecipes=[...s],this.hasUserInteracted=!1,this.nextSuggestion=this.suggestedRecipes[1]||null):(this.suggestedRecipes=[...this.suggestedRecipes,...s],this.hasUserInteracted=!1,this.updateNextSuggestion()),this.updateDisplayedRecipe(),this.updateNextSuggestionUI().then(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}).catch(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}),this.suggestionShownEvent()})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>{if(this.isAnimating||this.isLoadingNextSuggestion){this.pendingPreferencesRefresh=!0;return}this.getNewSuggestedRecipes({replace:!0})}))}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){this.recipeId&&this.recipeId!==this.lastShownRecipeId&&(p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId}),this.lastShownRecipeId=this.recipeId)}}customElements.get("mealz-planner-recipe-suggestion")||customElements.define("mealz-planner-recipe-suggestion",R);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as m,k as i}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as m,k as i}from"../../assets/no-shadow-element-CXVMZH9n.js";import{M as d}from"../../modal/modal.min.js";import{n as p}from"../../assets/property-BXpY_hgs.js";import{M as u}from"../../onboarding/events.min.js";import{b as c,j as h,k as v}from"../../onboarding/analytics/onboarding-analytics.min.js";import{a as r,d as b,m as g}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/mealz-sdk-CnvUgy3V.js";import"../../assets/unsafe-html-LLTnDXid.js";var M=Object.defineProperty,f=(t,e,n,z)=>{for(var s=void 0,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=a(e,n,s)||s);return s&&M(e,n,s),s};class l extends m{constructor(){super(),this.isCustomMenu=!1,this.analyticsPath="/meals-planner/onboarding",this.styleURL=new URL("./planner/planner-welcome-modal/planner-welcome-modal.css",this.getBaseURL())}displayPlannerWelcomeModal(){if(r())return;const e=new d;document.body.appendChild(this);const n=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.disableMobileBottomSheet=!0,e.titleSlot=i`<span>${n}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),c(this.isCustomMenu?"personal":"suggestion","welcome"),e.addEventListener(u,()=>{this.skipOnboarding(!1)})}skipOnboarding(e=!1){h(this.isCustomMenu?"personal":"suggestion"),e&&(b(),g());const n=new CustomEvent("onboarding-skipped");this.dispatchEvent(n),this.remove()}startOnboardingTour(){if(r()){this.remove();return}v(this.isCustomMenu?"personal":"suggestion");const e=new CustomEvent("openOnboarding",{detail:{isCustomMenu:this.isCustomMenu}});this.dispatchEvent(e),this.remove()}renderModal(){const e=this.isCustomMenu?"Découvrez comment composer facilement votre menu selon vos envies.":"Découvrez le menu de la semaine que nous avons composé pour vous.";return i`
|
|
2
2
|
<div class="mealz-planner-welcome-modal__content">
|
|
3
3
|
<div class="mealz-planner-welcome-modal__description mealz-ds-text size-m">
|
|
4
4
|
<span>${e}</span>
|