mealz-components 2.0.0-beta.5 → 2.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/assets/query-BApjzB0v.js +9 -0
  2. package/dist/assets/{store-locator-m8sx3XDc.js → store-locator-Crx8huGH.js} +4 -12
  3. package/dist/catalog/basket-preview/basket-preview.min.js +8 -8
  4. package/dist/catalog/my-meals-button/my-meals-button.min.js +1 -1
  5. package/dist/drawer-view-swapper/drawer-view-swapper.min.js +4 -4
  6. package/dist/modal/modal.min.js +4 -4
  7. package/dist/onboarding/onboarding.css +1 -0
  8. package/dist/onboarding/onboarding.min.js +41 -0
  9. package/dist/planner/planner-current-menu/planner-current-menu.css +1 -1
  10. package/dist/planner/planner-current-menu/planner-current-menu.min.js +1 -1
  11. package/dist/planner/planner-dashboard/planner-dashboard.css +1 -1
  12. package/dist/planner/planner-dashboard/planner-dashboard.min.js +1 -1
  13. package/dist/planner/planner-menu-option/planner-menu-option.min.js +1 -1
  14. package/dist/planner/planner-onboarding/planner-onboarding.min.js +1 -0
  15. package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.css +1 -0
  16. package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.min.js +53 -0
  17. package/dist/planner/planner-welcome-modal/planner-welcome-modal.css +1 -0
  18. package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +17 -0
  19. package/dist/recipe-card/recipe-card.min.js +1 -1
  20. package/dist/recipe-details/recipe-details.min.js +29 -29
  21. package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
  22. package/dist/slider-tabs/slider-tabs.min.js +1 -1
  23. package/dist/store-indicator/store-indicator.min.js +1 -1
  24. package/package.json +1 -1
@@ -1 +1 @@
1
- import"../planner-form/planner-form.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{M as h}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as M}from"../../assets/custom-element-BhZVzxrc.js";import{t as c}from"../../assets/take-DO4w5a1Y.js";import"../../assets/property-leIVgCvV.js";import"../planner-current-menu-modal/planner-current-menu-modal.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/state-CccUMzBZ.js";var f=Object.getOwnPropertyDescriptor,y=(e,t,n,s)=>{for(var r=s>1?void 0:s?f(t,n):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(r=a(r)||r);return r};let l=class extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.recipeIds=[],this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var u;const e=(u=this.attributes["starting-data"])==null?void 0:u.value;if(!e)return;const{isCustomMenu:t,guestsPreference:n,storeId:s,hasCustomRecipes:r,menuId:i,recipesId:a,currentMenuPageUrl:d,recipeImgs:m}=JSON.parse(e);this.isCustomMenu=t,this.storeId=s,this.hasCustomRecipes=r,this.menuId=i,this.currentMenuPageUrl=d,this.recipeImgs=m||[],a&&(this.recipeIds=a),n&&(this.guests=n),this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.navigateToMenuOrShowForm())}navigateToMenuOrShowForm(){o.hook.hookCallback().subscribe(e=>{e&&(!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",n=>this.generateMenu(n)),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}generateMenu(e){if(this.recipeIds.length===0){this.redirectToMenu();return}this.displayAddToBasketLoaderView(e.detail.guests)}displayAddToBasketLoaderView(e){this.hideUIElements(),this.setupBasketLoader(e)}hideUIElements(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");const t=document.querySelector("mealz-planner-form");t&&(t.style.display="none")}setupBasketLoader(e){if(this.loaderToBasketElement=document.querySelector("mealz-to-basket-loader"),!this.loaderToBasketElement){this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.recipeImgs,this.setupSynchronization(this.loaderToBasketElement,e);const t=document.querySelector("mealz-planner-form");t?t.insertAdjacentElement("afterend",this.loaderToBasketElement):document.body.appendChild(this.loaderToBasketElement)}}setupSynchronization(e,t){let n=!1,s=!1;const r=()=>{n&&s&&this.redirectToMenu()};e.addEventListener("basketComplete",()=>{n=!0,r()}),this.addRecipesSequentially(0,t,()=>{s=!0,r()})}addRecipesSequentially(e,t,n){var i,a;if(e>=this.recipeIds.length){n&&n();return}const s=(a=(i=o.recipes)==null?void 0:i.productsPlannerByCategory$)==null?void 0:a.value,r=(s==null?void 0:s.toPickProducts)||[];o.planner.addRecipeToMenu(this.recipeIds[e],t,!!o.pos.currentPos().value,r).pipe(c(1)).subscribe({next:()=>{this.recipeAddedEvent(this.recipeIds[e]),this.addRecipesSequentially(e+1,t,n)},error:d=>{console.error("Error adding recipe to menu:",d),this.addRecipesSequentially(e+1,t,n)}})}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0,this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.sendRedirectToMenuEvent();const e=this.currentMenuPageUrl;e&&e!==window.location.href&&(window.location.href=e)}sendRedirectToMenuEvent(){const e=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:this.currentMenuPageUrl}});this.dispatchEvent(e)}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new h;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=o.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(c(1)).subscribe(()=>{window.location.reload()})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}recipeAddedEvent(e){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e})}};l=y([M("mealz-planner-menu-option")],l);customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",l);
1
+ import"../planner-form/planner-form.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{M as h}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as M}from"../../assets/custom-element-BhZVzxrc.js";import{t as c}from"../../assets/take-DO4w5a1Y.js";import"../../assets/property-leIVgCvV.js";import"../planner-current-menu-modal/planner-current-menu-modal.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/state-CccUMzBZ.js";var f=Object.getOwnPropertyDescriptor,y=(e,t,s,n)=>{for(var i=n>1?void 0:n?f(t,s):t,r=e.length-1,a;r>=0;r--)(a=e[r])&&(i=a(i)||i);return i};let d=class extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.recipeIds=[],this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var u;const e=(u=this.attributes["starting-data"])==null?void 0:u.value;if(!e)return;const{isCustomMenu:t,guestsPreference:s,storeId:n,hasCustomRecipes:i,menuId:r,recipesId:a,currentMenuPageUrl:l,recipeImgs:m}=JSON.parse(e);this.isCustomMenu=t,this.storeId=n,this.hasCustomRecipes=i,this.menuId=r,this.currentMenuPageUrl=l,this.recipeImgs=m||[],a&&(this.recipeIds=a),s&&(this.guests=s),this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.navigateToMenuOrShowForm())}navigateToMenuOrShowForm(){o.hook.hookCallback().subscribe(e=>{e&&(localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),!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",s=>this.generateMenu(s)),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}generateMenu(e){if(this.recipeIds.length===0){this.redirectToMenu();return}this.displayAddToBasketLoaderView(e.detail.guests)}displayAddToBasketLoaderView(e){this.hideUIElements(),this.setupBasketLoader(e)}hideUIElements(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");const t=document.querySelector("mealz-planner-form");t&&(t.style.display="none")}setupBasketLoader(e){if(this.loaderToBasketElement=document.querySelector("mealz-to-basket-loader"),!this.loaderToBasketElement){this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.recipeImgs,this.setupSynchronization(this.loaderToBasketElement,e);const t=document.querySelector("mealz-planner-form");t?t.insertAdjacentElement("afterend",this.loaderToBasketElement):document.body.appendChild(this.loaderToBasketElement)}}setupSynchronization(e,t){let s=!1,n=!1;const i=()=>{s&&n&&this.redirectToMenu()};e.addEventListener("basketComplete",()=>{s=!0,i()}),this.addRecipesSequentially(0,t,()=>{n=!0,i()})}addRecipesSequentially(e,t,s){var r,a;if(e>=this.recipeIds.length){s&&s();return}const n=(a=(r=o.recipes)==null?void 0:r.productsPlannerByCategory$)==null?void 0:a.value,i=(n==null?void 0:n.toPickProducts)||[];o.planner.addRecipeToMenu(this.recipeIds[e],t,!!o.pos.currentPos().value,i).pipe(c(1)).subscribe({next:()=>{this.recipeAddedEvent(this.recipeIds[e]),this.addRecipesSequentially(e+1,t,s)},error:l=>{console.error("Error adding recipe to menu:",l),this.addRecipesSequentially(e+1,t,s)}})}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0,this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.sendRedirectToMenuEvent();const e=this.currentMenuPageUrl;e&&e!==window.location.href&&(window.location.href=e)}sendRedirectToMenuEvent(){const e=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:this.currentMenuPageUrl}});this.dispatchEvent(e)}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new h;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=o.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(c(1)).subscribe(()=>{window.location.reload()})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}recipeAddedEvent(e){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e})}};d=y([M("mealz-planner-menu-option")],d);customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",d);
@@ -0,0 +1 @@
1
+ import{t as p}from"../../assets/custom-element-BhZVzxrc.js";import{n as l}from"../../assets/property-leIVgCvV.js";import{r as m}from"../../assets/state-CccUMzBZ.js";import{M as c}from"../../onboarding/onboarding.min.js";import{N as g}from"../../assets/no-shadow-element-l9trQfcI.js";import"../../assets/query-BApjzB0v.js";var d=Object.defineProperty,b=Object.getOwnPropertyDescriptor,s=(e,t,n,i)=>{for(var o=i>1?void 0:i?b(t,n):t,a=e.length-1,u;a>=0;a--)(u=e[a])&&(o=(i?u(t,n,o):u(o))||o);return i&&o&&d(t,n,o),o};const v={custom:{type:"custom",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Autre suggestion"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:".mealz-planner-current-menu__mobile-menu-button img",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.',overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Autre suggestion"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue',overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-card",popover:{title:"Vos recettes en un coup d’œil",description:"Consultez le détail d’une recette ou retirez-la de votre menu en un clic."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:0},guide:{type:"guide",steps:[{element:".mealz-planner-current-menu__onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:0},"guide-mobile":{type:"guide-mobile",steps:[{element:".mealz-planner-current-menu__mobile-onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:0},"recipe-details":{type:"recipe-details",steps:[{element:"mealz-product-card-planner:first-of-type .mealz-product-card-planner__checkbox input",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,bottomMargin:0},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',overElement:".mealz-planner-current-menu__footer",spacerLeft:0,spacerTop:-272}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1}};let r=class extends g{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=window.innerWidth<=768,this.onboardingComponent=null}connectedCallback(){super.connectedCallback(),this.initOnboarding()}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new c(v),this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e;(e=this.onboardingComponent)==null||e.addEventListener("onboarding-closed",()=>{var t,n;(t=this.onboardingComponent)==null||t.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((n=this.onboardingComponent)!=null&&n.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()})}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.onboardingComponent.getConfig(this.type);this.onboardingComponent.steps=e.steps,this.onboardingComponent.showProgress=e.showProgress??!0;let t=e.bottomMargin??110;t===0&&!this.isMobile&&(t=24),this.onboardingComponent.bottomMargin=t}openGuideOnboarding(){this.type=this.isMobile?"guide-mobile":"guide",setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}};s([l({type:Boolean})],r.prototype,"isCustomMenu",2);s([l({type:String})],r.prototype,"type",2);s([m()],r.prototype,"isMobile",2);r=s([p("mealz-planner-onboarding")],r);export{r as M};
@@ -0,0 +1 @@
1
+ .mealz-modal{height:680px;max-width:600px;max-height:100%;padding:0;z-index:calc(var(--m-z-index-modal) + 2)}.mealz-modal .mealz-modal__header{padding:24px}.mealz-modal .mealz-modal__content-container{padding-top:0;height:calc(100% - 80px);box-sizing:border-box}@media (max-width: 768px){.mealz-modal{height:740px;width:100%;max-width:unset;top:unset;left:0;bottom:0;right:0;border-radius:16px 16px 0 0;transform:none}}.mealz-planner-onboarding-modal{display:flex;flex-direction:column;height:100%}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body{display:flex;flex-direction:column;justify-content:space-between;align-items:center;flex:1;padding:0 24px;overflow:scroll}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__img{width:100%;height:auto;margin-bottom:16px;max-width:552px}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__img{max-width:343px}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__title{margin-bottom:4px;text-align:center}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text{text-align:center}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text span{display:inline;padding:0 4px 0 0}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text .mealz-planner-onboarding-modal__bold{font-weight:700}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text .mealz-planner-onboarding-modal__bold:last-of-type{color:var(--mealz-ds-color-primary)}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track{display:flex;justify-content:center;width:100%;margin-top:24px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track>*:not(:last-child){margin-right:8px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track .mealz-planner-onboarding-modal__indicator{width:32px;height:8px;border-radius:50px;background-color:var(--mealz-ds-color-primary, #24748F);opacity:.4;transition:all .3s ease-in-out}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track .mealz-planner-onboarding-modal__indicator.active{width:80px;height:8px;opacity:1}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body{padding:0 16px}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons{display:flex;justify-content:center;width:100%;margin-bottom:16px;margin-top:24px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:last-child){margin-right:8px}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons{flex-direction:column-reverse;padding:0 16px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:last-child){margin-right:0}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:first-child){margin-bottom:8px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons .mealz-planner-onboarding-modal__previous,.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons .mealz-planner-onboarding-modal__next{width:100%;flex:1}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__previous.hidden,.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__next.hidden{display:none}
@@ -0,0 +1,53 @@
1
+ import{N as g,k as e}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as d}from"../../assets/custom-element-BhZVzxrc.js";import{r as m}from"../../assets/state-CccUMzBZ.js";import"../../assets/property-leIVgCvV.js";var c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,p=(s,t,a,o)=>{for(var n=o>1?void 0:o?u(t,a):t,r=s.length-1,l;r>=0;r--)(l=s[r])&&(n=(o?l(t,a,n):l(n))||n);return o&&n&&c(t,a,n),n};let i=class extends g{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step1.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step1-mobile.png",title:"Retrouvez votre menu",content:"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/planner-onboarding-step2.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step2-mobile.png",title:"Inspirez-vous avec nos suggestions",content:e`Visualisez notre proposition 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/planner-onboarding-step3.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step3-mobile.png",title:"Une recette vous plaît ?",content:e`
2
+ Ajoutez-la en 1 clic à votre menu grâce au bouton
3
+ <span class="mealz-ds-text weight-xl">"Ajouter au menu"</span>.
4
+ `},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step4.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step4-mobile.png",title:"Une recette ne vous plaît pas ?",content:e`
5
+ Cliquez sur
6
+ <span class="mealz-ds-text weight-xl">"Autre suggestion"</span>
7
+ pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.
8
+ `},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step5.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step5-mobile.png",title:"Personnalisez votre recette",content:e`
9
+ Vous avez déjà certains produits ?<br>
10
+ Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>
11
+ Les produits sélectionnés seront eux ajoutés automatiquement au panier.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step6.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step6-mobile.png",title:"Votre menu est terminé ?",content:e`
12
+ Quand votre menu sera terminé, utilisez le bouton
13
+ <span class="mealz-ds-text weight-xl">"Mettre le menu au panier"</span>
14
+ pour mettre les produits de toutes les recettes dans votre panier.
15
+ `}],this.styleURL=new URL("./planner/planner-onboarding-modal/planner-onboarding-modal.css",this.getBaseURL()),this.boundHandleResize=this.handleResize.bind(this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.boundHandleResize)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.boundHandleResize)}handleResize(){this.isMobile=window.innerWidth<=768}render(){const{imgDesktop:s,imgMobile:t,title:a,content:o}=this.steps[this.step-1],n=this.isMobile?t:s;return e`
16
+ <div class="mealz-planner-onboarding-modal">
17
+ <div class="mealz-planner-onboarding-modal__body">
18
+ <div class="mealz-planner-onboarding-modal__content step${this.step}">
19
+ <img class="mealz-planner-onboarding-modal__img" src="${n}">
20
+ <span class="mealz-planner-onboarding-modal__title mealz-ds-text size-m weight-xxl">
21
+ ${a}
22
+ </span>
23
+ <span class="mealz-planner-onboarding-modal__text mealz-ds-text size-m">
24
+ ${o}
25
+ </span>
26
+ </div>
27
+ <div class="mealz-planner-onboarding-modal__track">
28
+ ${this.renderStepIndicators()}
29
+ </div>
30
+ </div>
31
+ ${this.renderNavigationButtons()}
32
+ </div>
33
+ `}renderStepIndicators(){return this.steps.map((s,t)=>e`
34
+ <div class="mealz-planner-onboarding-modal__indicator ${this.step===t+1?"active":""}"></div>
35
+ `)}renderNavigationButtons(){const s=this.step===this.steps.length;return e`
36
+ <div class="mealz-planner-onboarding-modal__navigation-buttons">
37
+ <button @click="${()=>this.previousStep()}"
38
+ class="mealz-planner-onboarding-modal__previous mealz-ds-button ${this.step===1?"hidden":""}">
39
+ <span class="mealz-ds-text size-s weight-xl">Précédent </span>
40
+ </button>
41
+ ${s?e`
42
+ <button @click="${()=>this.closeModal()}"
43
+ class="mealz-planner-onboarding-modal__next mealz-ds-button primary">
44
+ <span class="mealz-ds-text size-s weight-xl">J'ai compris</span>
45
+ </button>
46
+ `:e`
47
+ <button @click="${()=>this.nextStep()}"
48
+ class="mealz-planner-onboarding-modal__next mealz-ds-button primary">
49
+ <span class="mealz-ds-text size-s weight-xl">Suivant</span>
50
+ </button>
51
+ `}
52
+ </div>
53
+ `}previousStep(){this.step=Math.max(this.step-1,1)}nextStep(){this.step=Math.min(this.step+1,this.steps.length)}closeModal(){this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}};p([m()],i.prototype,"step",2);p([m()],i.prototype,"isMobile",2);i=p([d("mealz-planner-onboarding-modal")],i);
@@ -0,0 +1 @@
1
+ mealz-planner-welcome-modal .mealz-modal{width:480px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container{padding-top:0}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__description{display:flex;flex-direction:column;margin:24px 0;gap:12px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container{width:100%;display:flex;justify-content:center;margin-top:24px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:last-child){margin-right:8px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container .mealz-planner-welcome-modal__refuse-button,mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container .mealz-planner-welcome-modal__start-button{padding:12px 20px}@media (max-width: 600px){mealz-planner-welcome-modal .mealz-modal{width:unset}}@media (max-width: 768px){mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container{flex-direction:column-reverse}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:first-child){margin-bottom:8px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:last-child){margin-right:0}}
@@ -0,0 +1,17 @@
1
+ import{N as d,k as r}from"../../assets/no-shadow-element-l9trQfcI.js";import{M as p}from"../../modal/modal.min.js";import{t as c}from"../../assets/custom-element-BhZVzxrc.js";import{n as u}from"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";var v=Object.defineProperty,h=Object.getOwnPropertyDescriptor,m=(e,o,t,s)=>{for(var n=s>1?void 0:s?h(o,t):o,a=e.length-1,l;a>=0;a--)(l=e[a])&&(n=(s?l(o,t,n):l(n))||n);return s&&n&&v(o,t,n),n};let i=class extends d{constructor(){super(),this.isCustomMenu=!1,this.styleURL=new URL("./planner/planner-welcome-modal/planner-welcome-modal.css",this.getBaseURL())}displayPlannerWelcomeModal(){const e=new p;document.body.appendChild(this);const o=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.titleSlot=r`<span>${o}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>this.openGuideModal())}openGuideModal(){const e=new CustomEvent("onboarding-skipped");this.dispatchEvent(e),this.remove()}startOnboardingTour(){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 r`
2
+ <div class="mealz-planner-welcome-modal__content">
3
+ <div class="mealz-planner-welcome-modal__description mealz-ds-text size-m">
4
+ <span>${e}</span>
5
+ </div>
6
+ <div class="mealz-planner-welcome-modal__button-container">
7
+ <button @click=${()=>this.openGuideModal()}
8
+ class="mealz-ds-button ghost mealz-planner-welcome-modal__refuse-button">
9
+ <span class="mealz-ds-text size-s weight-xl">Passer le guide</span>
10
+ </button>
11
+ <button @click=${()=>this.startOnboardingTour()}
12
+ class="mealz-ds-button primary mealz-planner-welcome-modal__start-button">
13
+ <span class="mealz-ds-text size-s weight-xl">Commencer</span>
14
+ </button>
15
+ </div>
16
+ </div>
17
+ `}};m([u({type:Boolean})],i.prototype,"isCustomMenu",2);i=m([c("mealz-planner-welcome-modal")],i);export{i as M};
@@ -1 +1 @@
1
- import{N as f,m as n}from"../assets/no-shadow-element-l9trQfcI.js";import{V as u}from"../assets/viewport-listener-RTCBatPv.js";import{t as w}from"../assets/custom-element-BhZVzxrc.js";import{h as v}from"../assets/session-handler-BnuvphmJ.js";import{f as m}from"../assets/filter-CEeE8t7I.js";import{s as y}from"../assets/switchMap-D8q0hRYH.js";import{c as L}from"../assets/combineLatest-P4GAEtOW.js";import{t as d}from"../assets/take-DO4w5a1Y.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/map-C4rf5Jbc.js";import"../assets/empty-Cv-4tfKR.js";class o{constructor(){this.trackedRecipes=new Map,this.hasScrolled=!1,this.scrollListener=null,this.cleanupInterval=null,this.MAX_RECIPES=1e3,this.CLEANUP_INTERVAL=300*1e3,this.handlePageUnload=()=>{this.destroy()},this.setupScrollListener(),this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return o.instance||(o.instance=new o),o.instance}trackRecipeShow(e,i,s){const r=Date.now(),a=!this.trackedRecipes.get(e),l=this.hasScrolled;!a&&!l||(this.trackedRecipes.size>=this.MAX_RECIPES&&this.cleanOldRecipes(),this.trackedRecipes.set(e,r),window.mealzInternal.analytics.sendEvent("recipe.show",i,{recipe_id:e,category_id:s}))}cleanOldRecipes(){const i=Date.now()-3600*1e3;for(const[s,r]of this.trackedRecipes.entries())r<i&&this.trackedRecipes.delete(s)}clearAllRecipes(){this.trackedRecipes.clear()}destroy(){this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener),this.scrollListener=null),window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.trackedRecipes.clear(),this.hasScrolled=!1,o.instance=null}setupScrollListener(){let e;this.scrollListener=()=>{this.hasScrolled=!0,clearTimeout(e),e=window.setTimeout(()=>{this.hasScrolled=!1},2e3)},window.addEventListener("scroll",this.scrollListener)}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldRecipes()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var b=Object.getOwnPropertyDescriptor,C=(t,e,i,s)=>{for(var r=s>1?void 0:s?b(e,i):e,c=t.length-1,a;c>=0;c--)(a=t[c])&&(r=a(r)||r);return r};let g=class extends f{constructor(){super(...arguments),this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.getInitialStatus(),this.listenInView(),this.setupSubscriptions()}setupSubscriptions(){this.subscriptions.push(n.basket.recipePricesInBasket$().subscribe(t=>{const e=t.find(i=>i.id===this.recipeId);e&&(this.updatedRecipeId=e.id,this.updateDOM())}),this.setupPlannerMenuSubscription())}setupPlannerMenuSubscription(){return n.planner.menuPrice$.pipe(m(()=>this.planner&&!!this.recipeId),y(()=>L([n.planner.isRecipeInMenu$(this.recipeId).pipe(d(1)),n.planner.getGuestsForRecipe(this.recipeId).pipe(d(1))])),m(([t,e])=>t&&typeof e=="number"&&e>0)).subscribe(([t,e])=>{this.guests=e,this.updateGuestDisplay()})}disconnectedCallback(){var e,i;super.disconnectedCallback(),this.subscriptions.forEach(s=>s.unsubscribe()),(e=this.priceViewportObserver)==null||e.disconnect(),(i=this.analyticsViewportObserver)==null||i.disconnect(),o.getInstance().cleanOldRecipes()}render(){this.recipeCardTop=this.querySelector(".mealz-recipe-card__top"),this.recipeCardCta=this.querySelector(".mealz-recipe-card__cta"),this.recipeCardTop&&(this.getInitialStatus(),this.recipeCardTop.addEventListener("click",()=>this.openDetails()),this.recipeCardCta&&this.recipeCardCta.addEventListener("click",()=>this.recipeCardCtaClick()))}listenInView(){this.priceViewportObserver=new u(this,()=>{this.handleIntersection()}),this.analyticsViewportObserver=new u(this,()=>{this.sendAnalyticsShow()},{threshold:.8,debounce:1e3})}handleIntersection(){this.recipePricing=this.querySelector("mealz-recipe-pricing"),this.recipePricing&&(this.recipePricing.fetchPrice(this.posId,this.guests,this.recipeId),this.priceViewportObserver.disconnect())}getInitialStatus(){var p;const t=(p=this.attributes["starting-data"])==null?void 0:p.value;if(!t)return;const{id:e,guests:i,posId:s,path:r,categoryId:c,initialTabIndex:a,planner:l,sessionId:S,recipe:I}=JSON.parse(t);if(this.posId=s,this.recipeId=e,this.analyticsPath=r,this.categoryId=c,this.guests=i,this.initialTabIndex=a,this.planner=l,this.recipe=I,v(S),!i){this.guests=this.getGuests();const h=this.querySelector(".mealz-recipe-card__counter p");h&&(h.innerHTML=this.guests.toString())}this.removeAttribute("starting-data")}openDetails(){n.recipes.openDetails(this.recipeId,this.guests,this.initialTabIndex,this.analyticsPath,this.planner,this.categoryId)}recipeCardCtaClick(){this.planner?this.handleCTAClickForPlanner():this.openDetails()}getGuests(){const t=localStorage.getItem("_miam/preferences/guests");if(t){const e=+t;if(!isNaN(e)&&e>0&&e<=30)return e}return 4}handleCTAClickForPlanner(){const t=this.querySelector("mealz-recipe-card-cta");if(!t)return;const e=t.getStatus();e==="add"?(this.showAddingToMenuState(t),this.addRecipeToMenu()):e==="in-menu"&&(this.showRemovingFromMenuState(t),this.removeRecipeFromMenu())}addRecipeToMenu(){var s,r;const t=document.querySelector("mealz-planner-recipe-suggestion"),e=(t==null?void 0:t.guests)||this.guests;t.recipeId=this.recipeId;const i=document.querySelector("mealz-planner-current-menu");if(!i){const c=(r=(s=n.recipes)==null?void 0:s.productsPlannerByCategory$)==null?void 0:r.value,a=(c==null?void 0:c.toPickProducts)||[];n.planner.addRecipeToMenu(this.recipeId,e,!!n.pos.currentPos().value,a).pipe(d(1)).subscribe(()=>{this.removeRecipeCardLoader("add");const l=document.querySelector("mealz-planner-recipe-list");l==null||l.addRecipeCardToList(this.recipeId)});return}i.addRecipe(this.recipeId,e).subscribe(()=>{this.removeRecipeCardLoader("add"),t.addAndSelectNewSuggestion(this.recipe)})}removeRecipeFromMenu(){const t=document.querySelector("mealz-planner-recipe-suggestion");if(!t){n.planner.removeRecipeFromMenu(this.recipeId).pipe(d(1)).subscribe(()=>this.removeRecipeCardLoader("remove"));return}t.removeRecipe(this.recipeId).subscribe(()=>this.removeRecipeCardLoader("remove"))}showRemovingFromMenuState(t){const e=this.querySelector(".mealz-recipe-card-cta__loader"),i=t.querySelector("img.in-menu");e==null||e.classList.remove("hidden"),i==null||i.classList.add("hidden")}removeRecipeCardLoader(t){const e=this.querySelector("mealz-recipe-card-cta");if(!e)return;const i=this.querySelector(".mealz-recipe-card-cta"),s=this.querySelector(".mealz-recipe-card-cta__loader"),r=e.querySelector("img.add"),c=e.querySelector("img.in-menu");t==="add"?(s==null||s.classList.add("hidden"),i==null||i.classList.replace("primary","secondary"),c==null||c.classList.remove("hidden"),e.updateStatus("in-menu")):(s==null||s.classList.add("hidden"),i==null||i.classList.replace("secondary","primary"),r==null||r.classList.remove("hidden"),e.updateStatus("add"))}showAddingToMenuState(t){const e=this.querySelector(".mealz-recipe-card-cta__loader"),i=t.querySelector("img.add"),s=t.querySelector("img.in-menu");e==null||e.classList.remove("hidden"),i==null||i.classList.add("hidden"),s==null||s.classList.add("hidden")}updateDOM(){if(this.recipeId!==this.updatedRecipeId)return;const t=this.querySelector(".mealz-recipe-card__counter p");t&&(t.innerHTML=this.guests.toString(),this.updatedRecipeId&&this.guests&&this.recipePricing&&this.recipePricing.fetchPrice(this.posId,this.guests,this.recipeId))}updateGuestDisplay(){const t=this.querySelector(".mealz-recipe-card__counter p");t&&this.guests&&(t.innerHTML=this.guests.toString())}sendAnalyticsShow(){o.getInstance().trackRecipeShow(this.recipeId,this.analyticsPath,this.categoryId)}};g=C([w("mealz-recipe-card")],g);
1
+ import{N as w,m as n}from"../assets/no-shadow-element-l9trQfcI.js";import{V as m}from"../assets/viewport-listener-RTCBatPv.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{h as y}from"../assets/session-handler-BnuvphmJ.js";import{f as d}from"../assets/filter-CEeE8t7I.js";import{s as b}from"../assets/switchMap-D8q0hRYH.js";import{c as L}from"../assets/combineLatest-P4GAEtOW.js";import{t as l}from"../assets/take-DO4w5a1Y.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/map-C4rf5Jbc.js";import"../assets/empty-Cv-4tfKR.js";class o{constructor(){this.trackedRecipes=new Map,this.hasScrolled=!1,this.scrollListener=null,this.cleanupInterval=null,this.MAX_RECIPES=1e3,this.CLEANUP_INTERVAL=300*1e3,this.handlePageUnload=()=>{this.destroy()},this.setupScrollListener(),this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return o.instance||(o.instance=new o),o.instance}trackRecipeShow(e,i,s){const r=Date.now(),a=!this.trackedRecipes.get(e),p=this.hasScrolled;!a&&!p||(this.trackedRecipes.size>=this.MAX_RECIPES&&this.cleanOldRecipes(),this.trackedRecipes.set(e,r),window.mealzInternal.analytics.sendEvent("recipe.show",i,{recipe_id:e,category_id:s}))}cleanOldRecipes(){const i=Date.now()-3600*1e3;for(const[s,r]of this.trackedRecipes.entries())r<i&&this.trackedRecipes.delete(s)}clearAllRecipes(){this.trackedRecipes.clear()}destroy(){this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener),this.scrollListener=null),window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.trackedRecipes.clear(),this.hasScrolled=!1,o.instance=null}setupScrollListener(){let e;this.scrollListener=()=>{this.hasScrolled=!0,clearTimeout(e),e=window.setTimeout(()=>{this.hasScrolled=!1},2e3)},window.addEventListener("scroll",this.scrollListener)}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldRecipes()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var C=Object.getOwnPropertyDescriptor,P=(t,e,i,s)=>{for(var r=s>1?void 0:s?C(e,i):e,c=t.length-1,a;c>=0;c--)(a=t[c])&&(r=a(r)||r);return r};let g=class extends w{constructor(){super(...arguments),this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.getInitialStatus(),this.listenInView(),this.setupSubscriptions()}setupSubscriptions(){this.subscriptions.push(n.basket.recipePricesInBasket$().subscribe(t=>{const e=t.find(i=>i.id===this.recipeId);e?(this.inBasket=!0,this.updatedRecipeId=e.id,this.updateDOM()):this.inBasket=!1}),this.setupPlannerMenuSubscription(),this.setupGuestUpdatesSubscription())}setupPlannerMenuSubscription(){return n.planner.menuPrice$.pipe(d(()=>this.planner&&!!this.recipeId),b(()=>L([n.planner.isRecipeInMenu$(this.recipeId).pipe(l(1)),n.planner.getGuestsForRecipe(this.recipeId).pipe(l(1))])),d(([t,e])=>t&&typeof e=="number"&&e>0)).subscribe(([t,e])=>{this.guests=e,this.updateGuestDisplay()})}setupGuestUpdatesSubscription(){return n.recipes.guestsUpdated().pipe(d(()=>!!this.recipeId)).subscribe(({guests:t,recipeId:e})=>{e===this.recipeId&&this.inBasket&&(this.guests=t,this.updateGuestDisplay(),this.recipePricing&&this.recipePricing.fetchPrice(this.posId,this.guests,this.recipeId))})}disconnectedCallback(){var e,i;super.disconnectedCallback(),this.subscriptions.forEach(s=>s.unsubscribe()),(e=this.priceViewportObserver)==null||e.disconnect(),(i=this.analyticsViewportObserver)==null||i.disconnect(),o.getInstance().cleanOldRecipes()}render(){this.recipeCardTop=this.querySelector(".mealz-recipe-card__top"),this.recipeCardCta=this.querySelector(".mealz-recipe-card__cta"),this.recipeCardTop&&(this.getInitialStatus(),this.recipeCardTop.addEventListener("click",()=>this.openDetails()),this.recipeCardCta&&this.recipeCardCta.addEventListener("click",()=>this.recipeCardCtaClick()))}listenInView(){this.priceViewportObserver=new m(this,()=>{this.handleIntersection()}),this.analyticsViewportObserver=new m(this,()=>{this.sendAnalyticsShow()},{threshold:.8,debounce:1e3})}handleIntersection(){this.recipePricing=this.querySelector("mealz-recipe-pricing"),this.recipePricing&&(this.recipePricing.fetchPrice(this.posId,this.guests,this.recipeId),this.priceViewportObserver.disconnect())}getInitialStatus(){var h;const t=(h=this.attributes["starting-data"])==null?void 0:h.value;if(!t){this.inBasket=!1;return}const{id:e,guests:i,posId:s,path:r,categoryId:c,initialTabIndex:a,planner:p,sessionId:S,recipe:f,inBasket:I}=JSON.parse(t);if(this.posId=s,this.recipeId=e,this.analyticsPath=r,this.categoryId=c,this.guests=i,this.initialTabIndex=a,this.planner=p,this.recipe=f,this.inBasket=I||!1,y(S),!i){this.guests=this.getGuests();const u=this.querySelector(".mealz-recipe-card__counter p");u&&(u.innerHTML=this.guests.toString())}this.removeAttribute("starting-data")}openDetails(){n.recipes.openDetails(this.recipeId,this.guests,this.initialTabIndex,this.analyticsPath,this.planner,this.categoryId)}recipeCardCtaClick(){this.planner?this.handleCTAClickForPlanner():this.openDetails()}getGuests(){const t=localStorage.getItem("_miam/preferences/guests");if(t){const e=+t;if(!isNaN(e)&&e>0&&e<=30)return e}return 4}handleCTAClickForPlanner(){const t=this.querySelector("mealz-recipe-card-cta");if(!t)return;const e=t.getStatus();e==="add"?(this.showAddingToMenuState(t),this.addRecipeToMenu()):e==="in-menu"&&(this.showRemovingFromMenuState(t),this.removeRecipeFromMenu())}addRecipeToMenu(){var s,r;const t=document.querySelector("mealz-planner-recipe-suggestion"),e=(t==null?void 0:t.guests)||this.guests;t.recipeId=this.recipeId;const i=document.querySelector("mealz-planner-current-menu");if(!i){const c=(r=(s=n.recipes)==null?void 0:s.productsPlannerByCategory$)==null?void 0:r.value,a=(c==null?void 0:c.toPickProducts)||[];n.planner.addRecipeToMenu(this.recipeId,e,!!n.pos.currentPos().value,a).pipe(l(1)).subscribe(()=>{this.removeRecipeCardLoader("add");const p=document.querySelector("mealz-planner-recipe-list");p==null||p.addRecipeCardToList(this.recipeId)});return}i.addRecipe(this.recipeId,e).subscribe(()=>{this.removeRecipeCardLoader("add"),t.addAndSelectNewSuggestion(this.recipe)})}removeRecipeFromMenu(){const t=document.querySelector("mealz-planner-recipe-suggestion");if(!t){n.planner.removeRecipeFromMenu(this.recipeId).pipe(l(1)).subscribe(()=>this.removeRecipeCardLoader("remove"));return}t.removeRecipe(this.recipeId).subscribe(()=>this.removeRecipeCardLoader("remove"))}showRemovingFromMenuState(t){const e=this.querySelector(".mealz-recipe-card-cta__loader"),i=t.querySelector("img.in-menu");e==null||e.classList.remove("hidden"),i==null||i.classList.add("hidden")}removeRecipeCardLoader(t){const e=this.querySelector("mealz-recipe-card-cta");if(!e)return;const i=this.querySelector(".mealz-recipe-card-cta"),s=this.querySelector(".mealz-recipe-card-cta__loader"),r=e.querySelector("img.add"),c=e.querySelector("img.in-menu");t==="add"?(s==null||s.classList.add("hidden"),i==null||i.classList.replace("primary","secondary"),c==null||c.classList.remove("hidden"),e.updateStatus("in-menu")):(s==null||s.classList.add("hidden"),i==null||i.classList.replace("secondary","primary"),r==null||r.classList.remove("hidden"),e.updateStatus("add"))}showAddingToMenuState(t){const e=this.querySelector(".mealz-recipe-card-cta__loader"),i=t.querySelector("img.add"),s=t.querySelector("img.in-menu");e==null||e.classList.remove("hidden"),i==null||i.classList.add("hidden"),s==null||s.classList.add("hidden")}updateDOM(){if(this.recipeId!==this.updatedRecipeId)return;const t=this.querySelector(".mealz-recipe-card__counter p");t&&(t.innerHTML=this.guests.toString(),this.updatedRecipeId&&this.guests&&this.recipePricing&&this.recipePricing.fetchPrice(this.posId,this.guests,this.recipeId))}updateGuestDisplay(){const t=this.querySelector(".mealz-recipe-card__counter p");t&&this.guests&&(t.innerHTML=this.guests.toString())}sendAnalyticsShow(){o.getInstance().trackRecipeShow(this.recipeId,this.analyticsPath,this.categoryId)}};g=P([v("mealz-recipe-card")],g);
@@ -1,8 +1,8 @@
1
- import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{N as u,m as a,D as o,k as s}from"../assets/no-shadow-element-l9trQfcI.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as p}from"../assets/property-leIVgCvV.js";import{P as B}from"../assets/price-BoM226Kw.js";import{R as A}from"../assets/recipe-BwGs-blm.js";import{m as w}from"../assets/merge-C-u9uFzU.js";import{m as d}from"../assets/map-C4rf5Jbc.js";import{t as P}from"../assets/take-DO4w5a1Y.js";import{c as D}from"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import{G as L}from"../assets/product-card-DqcKyf1c.js";import"../price/price.min.js";import"../assets/promotion-badge-BwN2GpDz.js";import"../store-indicator/store-indicator.min.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{L as M}from"../last-order-modal/last-order-modal.min.js";import{a as N}from"../assets/unsafe-html-CmALAWuN.js";import{f as I}from"../assets/filter-CEeE8t7I.js";import{t as G}from"../assets/tap-BCGrRktL.js";import{s as T}from"../assets/switchMap-D8q0hRYH.js";import{c as E}from"../assets/combineLatest-P4GAEtOW.js";import"../assets/skipWhile-DuMEda_n.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/of-BTA69Qgj.js";import"../assets/mergeMap-buGewtOo.js";import"../assets/empty-Cv-4tfKR.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/delay-ILvLVH1b.js";import"../assets/timer-BOl4bYNY.js";import"../assets/store-locator-m8sx3XDc.js";import"../assets/state-CccUMzBZ.js";var q=Object.defineProperty,F=Object.getOwnPropertyDescriptor,v=(e,t,r,l)=>{for(var i=l>1?void 0:l?F(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=(l?c(t,r,i):c(i))||i);return l&&i&&q(t,r,i),i};let m=class extends u{constructor(){super(),this.noPosDisplay=!1,this.noSupplier=!1,this.recipeId="",this.plannerMode=!1,this.subscriptions=[],this.remainingBasketEntries=[],this.recipePrice={remaining:0,inBasket:0,total:0,totalPerGuest:0},this.priceService=B.getInstance(),this.allIngredientsToBasketLoading=!1,this.inMenu=!1,this.menuUpdateLoading=!1,this.styleURL=new URL("./recipe-details/details-footer/details-footer.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter(),this.analyticsPath=`/recipes/${this.recipeId}/shopping`,this.subscriptions.push(w(a.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e})),a.recipes.recipePrice$.pipe(d(e=>{const t=e.remaining+e.inBasket;this.recipePrice={...e,total:t,totalPerGuest:0}})),a.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{this.allIngredientsToBasketLoading=e})),a.recipes.ingredientToBasketLoading$.pipe(d(e=>{this.ingredientToBasketLoading=e})),a.recipes.updateIngredientFromBasketLoading$.pipe(d(e=>{this.updateIngredientFromBasketLoading=e})),a.recipes.productsLoading$.pipe(d(e=>{this.productsLoading=e})),a.planner.isRecipeInMenu$(this.recipeId).pipe(d(e=>this.inMenu=e)),a.planner.plannerRecipePrice$.pipe(d(e=>{this.recipePrice.totalPerGuest=this.guests>0?e/this.guests:e}))).subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}closeRecipeDetails(e=!1){a.recipes.displayedRecipe$.next(null),e&&a.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:a.basket.basketPreviewState$.getValue().activeTabIndex})}continueShopping(){this.closeRecipeDetails(),this.sendContinueEvent()}addToMenu(){var r,l;this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");e.recipeId=this.recipeId;const t=document.querySelector("mealz-planner-current-menu");if(!t){const i=(l=(r=a.recipes)==null?void 0:r.productsPlannerByCategory$)==null?void 0:l.value,n=(i==null?void 0:i.toPickProducts)||[];a.planner.addRecipeToMenu(this.recipeId,this.guests,!!a.pos.currentPos().value,n).pipe(P(1)).subscribe(()=>{this.inMenu=!0;const c=document.querySelector("mealz-planner-recipe-list");c==null||c.addRecipeCardToList(this.recipeId),this.menuUpdateLoading=!1,this.requestUpdate()});return}t.addRecipe(this.recipeId,this.guests).subscribe(()=>{this.inMenu=!0,e.addAndSelectNewSuggestion(this.recipe),this.menuUpdateLoading=!1,this.requestUpdate()})}removeFromMenu(){this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");if(!e){a.planner.removeRecipeFromMenu(this.recipeId).pipe(P(1)).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()});return}e.removeRecipe(this.recipeId).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()})}addAllIngredients(){a.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}}),this.sendAddAllEvent(),this.recipePrice.inBasket===0&&this.sendAddRecipeEvent()}render(){if(this.noPosDisplay&&!this.plannerMode)return o;const e=this.remainingBasketEntries.length>0&&!this.plannerMode,t=this.plannerMode&&this.noPosDisplay,r=this.plannerMode&&!this.inMenu;return s`
1
+ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{N as u,m as r,D as o,k as s}from"../assets/no-shadow-element-l9trQfcI.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as p}from"../assets/property-leIVgCvV.js";import{P as B}from"../assets/price-BoM226Kw.js";import{R as A}from"../assets/recipe-BwGs-blm.js";import{m as w}from"../assets/merge-C-u9uFzU.js";import{m as d}from"../assets/map-C4rf5Jbc.js";import{t as P}from"../assets/take-DO4w5a1Y.js";import{c as D}from"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import{G as L}from"../assets/product-card-DqcKyf1c.js";import"../price/price.min.js";import"../assets/promotion-badge-BwN2GpDz.js";import"../store-indicator/store-indicator.min.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{L as M}from"../last-order-modal/last-order-modal.min.js";import{a as N}from"../assets/unsafe-html-CmALAWuN.js";import{M as q}from"../planner/planner-onboarding/planner-onboarding.min.js";import{f as I}from"../assets/filter-CEeE8t7I.js";import{t as G}from"../assets/tap-BCGrRktL.js";import{s as T}from"../assets/switchMap-D8q0hRYH.js";import{c as E}from"../assets/combineLatest-P4GAEtOW.js";import"../assets/skipWhile-DuMEda_n.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/of-BTA69Qgj.js";import"../assets/mergeMap-buGewtOo.js";import"../assets/empty-Cv-4tfKR.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/delay-ILvLVH1b.js";import"../assets/timer-BOl4bYNY.js";import"../assets/store-locator-Crx8huGH.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";import"../onboarding/onboarding.min.js";var F=Object.defineProperty,V=Object.getOwnPropertyDescriptor,v=(e,t,a,n)=>{for(var i=n>1?void 0:n?V(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&F(t,a,i),i};let m=class extends u{constructor(){super(),this.noPosDisplay=!1,this.noSupplier=!1,this.recipeId="",this.plannerMode=!1,this.subscriptions=[],this.remainingBasketEntries=[],this.recipePrice={remaining:0,inBasket:0,total:0,totalPerGuest:0},this.priceService=B.getInstance(),this.allIngredientsToBasketLoading=!1,this.inMenu=!1,this.menuUpdateLoading=!1,this.styleURL=new URL("./recipe-details/details-footer/details-footer.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter(),this.analyticsPath=`/recipes/${this.recipeId}/shopping`,this.subscriptions.push(w(r.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e})),r.recipes.recipePrice$.pipe(d(e=>{const t=e.remaining+e.inBasket;this.recipePrice={...e,total:t,totalPerGuest:0}})),r.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{this.allIngredientsToBasketLoading=e})),r.recipes.ingredientToBasketLoading$.pipe(d(e=>{this.ingredientToBasketLoading=e})),r.recipes.updateIngredientFromBasketLoading$.pipe(d(e=>{this.updateIngredientFromBasketLoading=e})),r.recipes.productsLoading$.pipe(d(e=>{this.productsLoading=e})),r.planner.isRecipeInMenu$(this.recipeId).pipe(d(e=>this.inMenu=e)),r.planner.plannerRecipePrice$.pipe(d(e=>{this.recipePrice.totalPerGuest=this.guests>0?e/this.guests:e}))).subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}closeRecipeDetails(e=!1){r.recipes.displayedRecipe$.next(null),e&&r.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:r.basket.basketPreviewState$.getValue().activeTabIndex})}continueShopping(){this.closeRecipeDetails(),this.sendContinueEvent()}addToMenu(){var a,n;this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");e.recipeId=this.recipeId;const t=document.querySelector("mealz-planner-current-menu");if(!t){const i=(n=(a=r.recipes)==null?void 0:a.productsPlannerByCategory$)==null?void 0:n.value,l=(i==null?void 0:i.toPickProducts)||[];r.planner.addRecipeToMenu(this.recipeId,this.guests,!!r.pos.currentPos().value,l).pipe(P(1)).subscribe(()=>{this.inMenu=!0;const c=document.querySelector("mealz-planner-recipe-list");c==null||c.addRecipeCardToList(this.recipeId),this.menuUpdateLoading=!1,this.requestUpdate()});return}t.addRecipe(this.recipeId,this.guests).subscribe(()=>{this.inMenu=!0,e.addAndSelectNewSuggestion(this.recipe),this.menuUpdateLoading=!1,this.requestUpdate()})}removeFromMenu(){this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");if(!e){r.planner.removeRecipeFromMenu(this.recipeId).pipe(P(1)).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()});return}e.removeRecipe(this.recipeId).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()})}addAllIngredients(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}}),this.sendAddAllEvent(),this.recipePrice.inBasket===0&&this.sendAddRecipeEvent()}render(){if(this.noPosDisplay&&!this.plannerMode)return o;const e=this.remainingBasketEntries.length>0&&!this.plannerMode,t=this.plannerMode&&this.noPosDisplay,a=this.plannerMode&&!this.inMenu;return s`
2
2
  <div class="mealz-recipe-details__footer">
3
3
  ${this.productsLoading&&!this.plannerMode?o:s`
4
4
  <!-- ADD TO BASKET CTA -->
5
- ${e||t||r?this.renderAddToBasketButton():s`
5
+ ${e||t||a?this.renderAddToBasketButton():s`
6
6
  <div class="mealz-recipe-details__recipe-is-in-basket-cta-container">
7
7
  ${this.renderBasketActions()}
8
8
  </div>
@@ -19,7 +19,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
19
19
  @click=${()=>this.addToMenu()}
20
20
  >
21
21
  <span class="mealz-ds-text size-s weight-xl">Ajouter au menu</span>
22
- <img alt="check icon" src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Checkmark.svg">
22
+ <img src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Pot-add_white.svg" alt="add to menu icon" />
23
23
  </button>
24
24
  `:s`
25
25
  <button
@@ -91,7 +91,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
91
91
  ${this.plannerMode?"par personne":"dans votre panier"}
92
92
  </span>
93
93
  </div>
94
- `}sendAddAllEvent(){a.analytics.sendEvent("entry.add-all",this.analyticsPath,{recipe_id:this.recipeId,entry_count:this.remainingBasketEntries.length})}sendAddRecipeEvent(){a.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:this.recipeId})}sendContinueEvent(){a.analytics.sendEvent("recipe.continue",this.analyticsPath,{recipe_id:this.recipeId})}};v([p({type:Boolean})],m.prototype,"noPosDisplay",2);v([p({type:Boolean})],m.prototype,"noSupplier",2);v([p({type:String})],m.prototype,"recipeId",2);v([p({type:Boolean})],m.prototype,"plannerMode",2);v([p({type:Number})],m.prototype,"guests",2);v([p({type:A})],m.prototype,"recipe",2);m=v([h("mealz-details-footer")],m);customElements.get("mealz-details-footer")||customElements.define("mealz-details-footer",m);var V=Object.getOwnPropertyDescriptor,H=(e,t,r,l)=>{for(var i=l>1?void 0:l?V(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let x=class extends u{constructor(){super(),this.tags=[],this.displayTags=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-infos/details-infos.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(a.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.tags=e.recipe.relationships.tags.data.map(t=>t.attributes.name),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}toggleTags(){this.displayTags=!this.displayTags,this.requestUpdate()}noTimePlaceholder(){return s`<span class="mealz-recipe-details-infos__no-time-placeholder">0 min</span>`}noDataPlaceholder(){return s`<span class="mealz-recipe-details-infos__no-data-placeholder">-</span>`}getRecipeDifficultyIntoClassName(){switch(this.recipe.attributes.difficulty){case 1:return"easy";case 2:return"medium";case 3:return"hard";default:return"no-difficulty-defined"}}getRecipeDifficultyIntoText(){switch(this.recipe.attributes.difficulty){case 1:return s`<span class="mealz-ds-text">Facile</span>`;case 2:return s`<span class="mealz-ds-text">Moyen</span>`;case 3:return s`<span class="mealz-ds-text">Difficile</span>`;default:return o}}renderPreparationTime(){return s`
94
+ `}sendAddAllEvent(){r.analytics.sendEvent("entry.add-all",this.analyticsPath,{recipe_id:this.recipeId,entry_count:this.remainingBasketEntries.length})}sendAddRecipeEvent(){r.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:this.recipeId})}sendContinueEvent(){r.analytics.sendEvent("recipe.continue",this.analyticsPath,{recipe_id:this.recipeId})}};v([p({type:Boolean})],m.prototype,"noPosDisplay",2);v([p({type:Boolean})],m.prototype,"noSupplier",2);v([p({type:String})],m.prototype,"recipeId",2);v([p({type:Boolean})],m.prototype,"plannerMode",2);v([p({type:Number})],m.prototype,"guests",2);v([p({type:A})],m.prototype,"recipe",2);m=v([h("mealz-details-footer")],m);customElements.get("mealz-details-footer")||customElements.define("mealz-details-footer",m);var H=Object.getOwnPropertyDescriptor,j=(e,t,a,n)=>{for(var i=n>1?void 0:n?H(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let C=class extends u{constructor(){super(),this.tags=[],this.displayTags=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-infos/details-infos.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.tags=e.recipe.relationships.tags.data.map(t=>t.attributes.name),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}toggleTags(){this.displayTags=!this.displayTags,this.requestUpdate()}noTimePlaceholder(){return s`<span class="mealz-recipe-details-infos__no-time-placeholder">0 min</span>`}noDataPlaceholder(){return s`<span class="mealz-recipe-details-infos__no-data-placeholder">-</span>`}getRecipeDifficultyIntoClassName(){switch(this.recipe.attributes.difficulty){case 1:return"easy";case 2:return"medium";case 3:return"hard";default:return"no-difficulty-defined"}}getRecipeDifficultyIntoText(){switch(this.recipe.attributes.difficulty){case 1:return s`<span class="mealz-ds-text">Facile</span>`;case 2:return s`<span class="mealz-ds-text">Moyen</span>`;case 3:return s`<span class="mealz-ds-text">Difficile</span>`;default:return o}}renderPreparationTime(){return s`
95
95
  <!-- PREPARATION TIME -->
96
96
  <div
97
97
  class="
@@ -157,7 +157,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
157
157
  ${this.renderRecipeDifficulty()}
158
158
  ${this.renderMoreTags()}
159
159
  </div>
160
- `}};x=H([h("mealz-details-infos")],x);var j=Object.getOwnPropertyDescriptor,K=(e,t,r,l)=>{for(var i=l>1?void 0:l?j(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let C=class extends u{constructor(){super(),this.steps=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-steps/details-steps.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(a.recipes.displayedRecipe$.subscribe(e=>{e&&(this.steps=e.recipe.relationships["recipe-steps"].data.sort((t,r)=>t.attributes["step-number"]-r.attributes["step-number"]).map(t=>t.attributes.description),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return s`
160
+ `}};C=j([h("mealz-details-infos")],C);var K=Object.getOwnPropertyDescriptor,Q=(e,t,a,n)=>{for(var i=n>1?void 0:n?K(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let x=class extends u{constructor(){super(),this.steps=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-steps/details-steps.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.steps=e.recipe.relationships["recipe-steps"].data.sort((t,a)=>t.attributes["step-number"]-a.attributes["step-number"]).map(t=>t.attributes.description),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return s`
161
161
  <div class="mealz-details-steps">
162
162
  <!-- HEADER -->
163
163
  <div class="mealz-ds-text weight-xxl mealz-details-steps__header">
@@ -180,7 +180,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
180
180
  `)}
181
181
  </div>
182
182
  </div>
183
- `}};C=K([h("mealz-details-steps")],C);var Q=Object.getOwnPropertyDescriptor,Y=(e,t,r,l)=>{for(var i=l>1?void 0:l?Q(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let S=class extends u{constructor(){super(),this.ingredients=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-ingredients/details-ingredients.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(a.recipes.displayedRecipe$.subscribe(e=>{e&&(this.ingredients=e.recipe.relationships.ingredients.data,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){var e,t;return s`
183
+ `}};x=Q([h("mealz-details-steps")],x);var Y=Object.getOwnPropertyDescriptor,J=(e,t,a,n)=>{for(var i=n>1?void 0:n?Y(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let S=class extends u{constructor(){super(),this.ingredients=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-ingredients/details-ingredients.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.ingredients=e.recipe.relationships.ingredients.data,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){var e,t;return s`
184
184
  <div class="mealz-details-ingredients">
185
185
  <!-- HEADER -->
186
186
  <div class="mealz-ds-text weight-xxl mealz-details-ingredients__header">
@@ -189,27 +189,27 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
189
189
  </div>
190
190
  <!-- LIST -->
191
191
  <div class="mealz-details-ingredients__list">
192
- ${this.ingredients.map(r=>s`
192
+ ${this.ingredients.map(a=>s`
193
193
  <div class="mealz-details-ingredients__item">
194
194
  <!-- PICTURE -->
195
195
  <div class="mealz-ds-avatar mealz-details-ingredients__picture_container">
196
196
  <img class="mealz-details-ingredients__picture"
197
- src="${this.ingredientPicture(r)}"
198
- alt="${r.attributes.name} picture">
197
+ src="${this.ingredientPicture(a)}"
198
+ alt="${a.attributes.name} picture">
199
199
  </div>
200
200
  <!-- NAME -->
201
201
  <span class="mealz-ds-text size-s weight-xxl mealz-details-ingredients__name">
202
- ${D(r.attributes.name)}
202
+ ${D(a.attributes.name)}
203
203
  </span>
204
204
  <!-- QUANTITY -->
205
205
  <div class="mealz-ds-text size-s weight-l mealz-details-ingredients__row__qty">
206
- ${r.attributes.quantity} ${r.attributes.unit}
206
+ ${a.attributes.quantity} ${a.attributes.unit}
207
207
  </div>
208
208
  </div>
209
209
  `)}
210
210
  </div>
211
211
  </div>
212
- `}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}};S=Y([h("mealz-details-ingredients")],S);var W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,b=(e,t,r,l)=>{for(var i=l>1?void 0:l?X(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=(l?c(t,r,i):c(i))||i);return l&&i&&W(t,r,i),i};const f=["unavailable"],J=["ticked","unselected"];let g=class extends u{constructor(){super(),this.isSponsored=!1,this.subscriptions=[],this.guestObserverService=L.getInstance(),this.modifiedIngQty=0,this.analyticsPath="/meals-planner/current",this.styleURL=new URL("./product-card/product-card-planner.css",this.getBaseURL())}get status(){var e;return(e=this.product)==null?void 0:e.status}set status(e){this.product.status=e,this.requestUpdate()}get productImage(){var e;return((e=this.product.item)==null?void 0:e.attributes.image)||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get ingredientPicture(){return this.product.ingredient.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}updated(){var e,t;this.product&&(this.isSponsored=((t=(e=this.product.item)==null?void 0:e.attributes)==null?void 0:t.sponsored)===!0)}connectedCallback(){super.connectedCallback(),this.listenGuestsChange(),this.calculateQty()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenGuestsChange(){this.subscriptions.push(this.guestObserverService.guests$.subscribe(e=>{this.currentGuests=e,this.calculateQty()}))}calculateQty(){const e=this.product.ingredient.attributes.quantity/this.initialGuests;this.modifiedIngQty=Number((e*this.currentGuests).toFixed(2)),this.requestUpdate()}openReplaceItemView(){a.planner.openReplaceItemView(this.product),this.replaceItemViewEvent()}onCheckboxChange(e){e.target.checked?(this.status="ticked",a.planner.selectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.addItemEvent()):(this.status="unselected",a.planner.unselectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.deleteItemEvent()),this.requestUpdate()}render(){return s`
212
+ `}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}};S=J([h("mealz-details-ingredients")],S);var W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,b=(e,t,a,n)=>{for(var i=n>1?void 0:n?X(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&W(t,a,i),i};const f=["unavailable"],Z=["ticked","unselected"];let g=class extends u{constructor(){super(),this.isSponsored=!1,this.subscriptions=[],this.guestObserverService=L.getInstance(),this.modifiedIngQty=0,this.analyticsPath="/meals-planner/current",this.styleURL=new URL("./product-card/product-card-planner.css",this.getBaseURL())}get status(){var e;return(e=this.product)==null?void 0:e.status}set status(e){this.product.status=e,this.requestUpdate()}get productImage(){var e;return((e=this.product.item)==null?void 0:e.attributes.image)||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get ingredientPicture(){return this.product.ingredient.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}updated(){var e,t;this.product&&(this.isSponsored=((t=(e=this.product.item)==null?void 0:e.attributes)==null?void 0:t.sponsored)===!0)}connectedCallback(){super.connectedCallback(),this.listenGuestsChange(),this.calculateQty()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenGuestsChange(){this.subscriptions.push(this.guestObserverService.guests$.subscribe(e=>{this.currentGuests=e,this.calculateQty()}))}calculateQty(){const e=this.product.ingredient.attributes.quantity/this.initialGuests;this.modifiedIngQty=Number((e*this.currentGuests).toFixed(2)),this.requestUpdate()}openReplaceItemView(){r.planner.openReplaceItemView(this.product),this.replaceItemViewEvent()}onCheckboxChange(e){e.target.checked?(this.status="ticked",r.planner.selectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.addItemEvent()):(this.status="unselected",r.planner.unselectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.deleteItemEvent()),this.requestUpdate()}render(){return s`
213
213
  <div class="mealz-product-card-planner
214
214
  ${this.status==="ticked"?"added":""}
215
215
  ${f.includes(this.status)||this.oftenIgnored?"disabled":""}
@@ -220,7 +220,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
220
220
  ${this.oftenIgnored?"disabled":""}
221
221
  ${this.status==="unavailable"?"unavailable":""}"
222
222
  >
223
- ${J.includes(this.status)&&!this.oftenIgnored?this.renderEnabledProductCard():this.renderDisabledOrUnavailableProduct()}
223
+ ${Z.includes(this.status)&&!this.oftenIgnored?this.renderEnabledProductCard():this.renderDisabledOrUnavailableProduct()}
224
224
  </div>
225
225
  </div>
226
226
  `}renderEnabledProductCard(){return s`
@@ -318,7 +318,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
318
318
  <span>Remplacer</span>
319
319
  </button>
320
320
  `:""}
321
- `}addItemEvent(){a.analytics.sendEvent("planner.item.add",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}deleteItemEvent(){a.analytics.sendEvent("planner.item.delete",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}replaceItemViewEvent(){a.analytics.sendEvent("planner.item.replace",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}};b([p({type:Object})],g.prototype,"product",2);b([p({type:String})],g.prototype,"recipeId",2);b([p({type:Number})],g.prototype,"initialGuests",2);b([p({type:Number})],g.prototype,"currentGuests",2);b([p({type:Boolean})],g.prototype,"oftenIgnored",2);g=b([h("mealz-product-card-planner")],g);customElements.get("mealz-product-card-planner")||customElements.define("mealz-product-card-planner",g);var Z=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,U=(e,t,r,l)=>{for(var i=l>1?void 0:l?ee(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=(l?c(t,r,i):c(i))||i);return l&&i&&Z(t,r,i),i};let y=class extends u{constructor(){super(),this.styleURL=new URL("./legal-notice/legal-notice.css",this.getBaseURL())}get containsAlcohol(){var t;return(((t=this.tags)==null?void 0:t.data)||[]).some(r=>r.id==="ingredient_category_alcool")}render(){return this.containsAlcohol?s`
321
+ `}addItemEvent(){r.analytics.sendEvent("planner.item.add",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}deleteItemEvent(){r.analytics.sendEvent("planner.item.delete",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}replaceItemViewEvent(){r.analytics.sendEvent("planner.item.replace",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}};b([p({type:Object})],g.prototype,"product",2);b([p({type:String})],g.prototype,"recipeId",2);b([p({type:Number})],g.prototype,"initialGuests",2);b([p({type:Number})],g.prototype,"currentGuests",2);b([p({type:Boolean})],g.prototype,"oftenIgnored",2);g=b([h("mealz-product-card-planner")],g);customElements.get("mealz-product-card-planner")||customElements.define("mealz-product-card-planner",g);var ee=Object.defineProperty,te=Object.getOwnPropertyDescriptor,U=(e,t,a,n)=>{for(var i=n>1?void 0:n?te(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&ee(t,a,i),i};let y=class extends u{constructor(){super(),this.styleURL=new URL("./legal-notice/legal-notice.css",this.getBaseURL())}get containsAlcohol(){var t;return(((t=this.tags)==null?void 0:t.data)||[]).some(a=>a.id==="ingredient_category_alcool")}render(){return this.containsAlcohol?s`
322
322
  <div class="mealz-products-picker__legal-notices">
323
323
  <span class="mealz-ds-text weight-xxl mealz-products-picker__legal-notices-header">Mentions légales</span>
324
324
  <div class="mealz-products-picker__legal-notices-content">
@@ -330,7 +330,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
330
330
  </span>
331
331
  </div>
332
332
  </div>
333
- `:o}};U([p()],y.prototype,"tags",2);y=U([h("mealz-legal-notice")],y);var te=Object.getOwnPropertyDescriptor,se=(e,t,r,l)=>{for(var i=l>1?void 0:l?te(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let O=class extends u{constructor(){super(),this.styleURL=[new URL("./product-card/product-card-skeleton/product-card-skeleton.css",this.getBaseURL()),new URL("./product-card/product-card.css",this.getBaseURL())]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}render(){return s`
333
+ `:o}};U([p()],y.prototype,"tags",2);y=U([h("mealz-legal-notice")],y);var se=Object.getOwnPropertyDescriptor,ie=(e,t,a,n)=>{for(var i=n>1?void 0:n?se(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let R=class extends u{constructor(){super(),this.styleURL=[new URL("./product-card/product-card-skeleton/product-card-skeleton.css",this.getBaseURL()),new URL("./product-card/product-card.css",this.getBaseURL())]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}render(){return s`
334
334
  <!-- PRODUCT CARD -->
335
335
  <div class="mealz-product-card skeleton">
336
336
  <!-- HEADER -->
@@ -373,7 +373,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
373
373
  </div>
374
374
  </div>
375
375
  </div>
376
- `}};O=se([h("mealz-products-card-skeleton")],O);var ie=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,k=(e,t,r,l)=>{for(var i=l>1?void 0:l?ae(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=(l?c(t,r,i):c(i))||i);return l&&i&&ie(t,r,i),i};let z=class extends u{constructor(){super(),this.inBasket=!1,this.plannerMode=!1,this.numberUnavailableProducts=0,this.subscriptions=[],this.noSupplier=a.supplier.isNoSupplier(),this.styleURL=new URL("./products-picker/products-picker.css",this.getBaseURL())}get totalProducts(){return this.recipe.relationships.ingredients.data.length}connectedCallback(){super.connectedCallback(),this.resetProducts(),this.listenToProducts(),this.subscriptions.push(a.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.resetProducts(),this.subscriptions.forEach(e=>e.unsubscribe())}resetProducts(){this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.requestUpdate()}listenToProducts(){const e=this.plannerMode?a.recipes.productsPlannerByCategory$:a.recipes.productsByCategory$;this.subscriptions.push(e.subscribe(t=>{this.productsByCategory=t,this.plannerMode?this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(r=>r.status==="unavailable").length:this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(r=>r.basketEntry.status==="out_of_stock").length,this.requestUpdate()}))}scrollToFirstUnavailable(){const e=document.querySelector(this.plannerMode?".mealz-products-picker":".mealz-products-picker__container");if(e){const t=e.querySelector(this.plannerMode?".mealz-product-card-planner.unavailable":".mealz-product-card__container.out_of_stock");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}}isAlreadyOnCatalogPage(){return window.location.href.includes(a.router.getCatalogUrl())}closeRecipeModal(){}currentPath(){return""}guestsChange(){const e=new CustomEvent("guestChange",{bubbles:!0,composed:!0});this.dispatchEvent(e)}render(){var e,t,r;return s`
376
+ `}};R=ie([h("mealz-products-card-skeleton")],R);var ae=Object.defineProperty,re=Object.getOwnPropertyDescriptor,k=(e,t,a,n)=>{for(var i=n>1?void 0:n?re(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&ae(t,a,i),i};let z=class extends u{constructor(){super(),this.inBasket=!1,this.plannerMode=!1,this.numberUnavailableProducts=0,this.subscriptions=[],this.noSupplier=r.supplier.isNoSupplier(),this.hasEmittedReady=!1,this.styleURL=new URL("./products-picker/products-picker.css",this.getBaseURL())}get totalProducts(){return this.recipe.relationships.ingredients.data.length}connectedCallback(){super.connectedCallback(),this.resetProducts(),this.listenToProducts(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.resetProducts(),this.subscriptions.forEach(e=>e.unsubscribe())}resetProducts(){this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.requestUpdate()}listenToProducts(){const e=this.plannerMode?r.recipes.productsPlannerByCategory$:r.recipes.productsByCategory$;this.subscriptions.push(e.subscribe(t=>{this.productsByCategory=t,this.plannerMode?this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(a=>a.status==="unavailable").length:this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(a=>a.basketEntry.status==="out_of_stock").length,this.requestUpdate(),this.notifyReadyIfRendered()}))}async notifyReadyIfRendered(){if(this.hasEmittedReady)return;if(await this.updateComplete,this.querySelector(".mealz-product-card-planner__checkbox")||this.querySelector(".mealz-product-card__checkbox")){this.hasEmittedReady=!0;const t=new CustomEvent("products-picker-ready",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}scrollToFirstUnavailable(){const e=document.querySelector(this.plannerMode?".mealz-products-picker":".mealz-products-picker__container");if(e){const t=e.querySelector(this.plannerMode?".mealz-product-card-planner.unavailable":".mealz-product-card__container.out_of_stock");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}}isAlreadyOnCatalogPage(){return window.location.href.includes(r.router.getCatalogUrl())}closeRecipeModal(){}currentPath(){return""}guestsChange(){const e=new CustomEvent("guestChange",{bubbles:!0,composed:!0});this.dispatchEvent(e)}render(){var e,t,a;return s`
377
377
  <div class="mealz-products-picker">
378
378
  ${this.inBasket&&this.plannerMode?s`
379
379
  <div class="mealz-products-picker__overlay">
@@ -388,17 +388,17 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
388
388
  ${this.renderHeader()}
389
389
  <div class="mealz-products-picker__list">
390
390
  <!-- TO PICK PRODUCTS -->
391
- ${((e=this.productsByCategory)==null?void 0:e.toPickProducts.length)>0?this.productsByCategory.toPickProducts.map(l=>{var i,n,c,_;return this.plannerMode?s`
391
+ ${((e=this.productsByCategory)==null?void 0:e.toPickProducts.length)>0?this.productsByCategory.toPickProducts.map(n=>{var i,l,c,_;return this.plannerMode?s`
392
392
  <mealz-product-card-planner
393
- .product="${l}"
393
+ .product="${n}"
394
394
  .recipeId="${this.recipe.id}"
395
395
  .oftenIgnored="${!1}"
396
396
  .initialGuests="${((i=this.recipe)==null?void 0:i.attributes["number-of-guests"])||4}"
397
- .currentGuests="${this.recipe.modifiedGuests||((n=this.recipe)==null?void 0:n.attributes["number-of-guests"])||4}"
397
+ .currentGuests="${this.recipe.modifiedGuests||((l=this.recipe)==null?void 0:l.attributes["number-of-guests"])||4}"
398
398
  ></mealz-product-card-planner>
399
399
  `:s`
400
400
  <mealz-product-card
401
- .product="${l}"
401
+ .product="${n}"
402
402
  .recipeId="${this.recipe.id}"
403
403
  .initialGuests="${((c=this.recipe)==null?void 0:c.attributes["number-of-guests"])||4}"
404
404
  .currentGuests="${this.recipe.modifiedGuests||((_=this.recipe)==null?void 0:_.attributes["number-of-guests"])||4}"
@@ -409,22 +409,22 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
409
409
  </div>
410
410
  <!-- OFTEN IGNORED PRODUCTS -->
411
411
  <div class="mealz-products-picker__secondary-list">
412
- ${((r=(t=this.productsByCategory)==null?void 0:t.oftenIgnoredProducts)==null?void 0:r.length)>0?s`
412
+ ${((a=(t=this.productsByCategory)==null?void 0:t.oftenIgnoredProducts)==null?void 0:a.length)>0?s`
413
413
  <span class="mealz-ds-text weight-xl">
414
414
  Déjà dans le placard
415
415
  </span>
416
416
  <div class="mealz-products-picker__list">
417
- ${this.productsByCategory.oftenIgnoredProducts.map(l=>{var i,n,c,_;return this.plannerMode?s`
417
+ ${this.productsByCategory.oftenIgnoredProducts.map(n=>{var i,l,c,_;return this.plannerMode?s`
418
418
  <mealz-product-card-planner
419
- .product="${l}"
419
+ .product="${n}"
420
420
  .recipeId="${this.recipe.id}"
421
421
  .oftenIgnored="${!0}"
422
422
  .initialGuests="${((i=this.recipe)==null?void 0:i.attributes["number-of-guests"])||4}"
423
- .currentGuests="${this.recipe.modifiedGuests||((n=this.recipe)==null?void 0:n.attributes["number-of-guests"])||4}"
423
+ .currentGuests="${this.recipe.modifiedGuests||((l=this.recipe)==null?void 0:l.attributes["number-of-guests"])||4}"
424
424
  ></mealz-product-card-planner>
425
425
  `:s`
426
426
  <mealz-product-card
427
- .product="${l}"
427
+ .product="${n}"
428
428
  .recipeId="${this.recipe.id}"
429
429
  .initialGuests="${((c=this.recipe)==null?void 0:c.attributes["number-of-guests"])||4}"
430
430
  .currentGuests="${this.recipe.modifiedGuests||((_=this.recipe)==null?void 0:_.attributes["number-of-guests"])||4}"
@@ -475,7 +475,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
475
475
  <div class="mealz-products-picker__more">
476
476
  ${!this.isAlreadyOnCatalogPage()&&!this.plannerMode?s`
477
477
  <a class="mealz-products-picker__more-anchor"
478
- href="${a.router.getCatalogUrl()}"
478
+ href="${r.router.getCatalogUrl()}"
479
479
  @click="${this.sendHomeDisplayEvent}">
480
480
  <button class="mealz-products-picker__go-to-catalog-button mealz-ds-button secondary">
481
481
  <span class="mealz-ds-text weight-l size-s">Voir plus d'idées repas</span>
@@ -488,7 +488,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
488
488
  `}
489
489
  </div>
490
490
  <mealz-legal-notice .tags="${this.recipe.relationships.tags}"></mealz-legal-notice>
491
- `}sendHomeDisplayEvent(){a.analytics.sendEvent("home.display",this.analyticsPath,{})}};k([p({type:Boolean})],z.prototype,"inBasket",2);k([p({type:Boolean})],z.prototype,"plannerMode",2);z=k([h("mealz-products-picker")],z);customElements.get("mealz-products-picker")||customElements.define("mealz-products-picker",z);var re=Object.getOwnPropertyDescriptor,ne=(e,t,r,l)=>{for(var i=l>1?void 0:l?re(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let $=class extends u{constructor(){super(),this.invalidPos=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/no-pos-selected/no-pos-selected.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenIfPosInvalid()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenIfPosInvalid(){this.subscriptions.push(a.recipes.invalidPosDisplay$.subscribe(e=>{this.invalidPos=e,this.requestUpdate()}))}callPosSelector(){const e=new CustomEvent("posSelected",{bubbles:!0,composed:!0});this.dispatchEvent(e)}openStoreLocator(){const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayStoreLocator$.next(!0)}render(){return s`
491
+ `}sendHomeDisplayEvent(){r.analytics.sendEvent("home.display",this.analyticsPath,{})}};k([p({type:Boolean})],z.prototype,"inBasket",2);k([p({type:Boolean})],z.prototype,"plannerMode",2);z=k([h("mealz-products-picker")],z);customElements.get("mealz-products-picker")||customElements.define("mealz-products-picker",z);var ne=Object.getOwnPropertyDescriptor,le=(e,t,a,n)=>{for(var i=n>1?void 0:n?ne(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let $=class extends u{constructor(){super(),this.invalidPos=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/no-pos-selected/no-pos-selected.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenIfPosInvalid()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenIfPosInvalid(){this.subscriptions.push(r.recipes.invalidPosDisplay$.subscribe(e=>{this.invalidPos=e,this.requestUpdate()}))}callPosSelector(){const e=new CustomEvent("posSelected",{bubbles:!0,composed:!0});this.dispatchEvent(e)}openStoreLocator(){const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayStoreLocator$.next(!0)}render(){return s`
492
492
  <div class="mealz-no-pos-selected">
493
493
  ${this.invalidPos?s`
494
494
  <!-- INVALID POS -->
@@ -528,7 +528,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
528
528
  Sélectionner un magasin
529
529
  </button>
530
530
  </div>
531
- `}};$=ne([h("mealz-no-pos-selected")],$);customElements.get("mealz-no-pos-selected")||customElements.define("mealz-no-pos-selected",$);var le=Object.getOwnPropertyDescriptor,ce=(e,t,r,l)=>{for(var i=l>1?void 0:l?le(t,r):t,n=e.length-1,c;n>=0;n--)(c=e[n])&&(i=c(i)||i);return i};let R=class extends u{constructor(){super(),this.activeTabIndex=0,this.subscriptions=[],this.remainingBasketEntries=[],this.guestObserverService=L.getInstance(),this.isSticky=!1,this.styleURL=new URL("./recipe-details/recipe-details.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.handleNoSupplierMode(),this.subscriptions.push(w(a.recipes.displayedRecipe$.pipe(I(e=>!!e),G(e=>{this.recipe=e.recipe,this.sponsor=e.recipe.relationships.sponsors.data[0],this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.plannerMode=e.planner,this.getLikeButton(),this.checkSponsorStorytelling(),this.pageview(),this.listenToCloseEvent(),this.setStickyObserver()}),T(()=>this.listenToRecipeInBasket())),this.listenPosStatus(),this.listenRemainingBasketEntries(),this.listenLastOrderDate(),this.listenToLoadingStates(),this.listenToAddAllToBasket()).subscribe(()=>{this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.topObserver&&this.topObserver.disconnect(),this.stickyTimeout&&clearTimeout(this.stickyTimeout)}setStickyObserver(){this.topObserver||this.updateComplete.then(()=>{const e=this.querySelector(".mealz-recipe-details__sticky-anchor");e&&(this.topObserver=new IntersectionObserver(([t])=>{this.stickyTimeout&&clearTimeout(this.stickyTimeout),this.stickyTimeout=window.setTimeout(()=>{const r=!t.isIntersecting;this.isSticky!==r&&(this.isSticky=r,this.requestUpdate())},150)},{threshold:0}),this.topObserver.observe(e))})}handleNoSupplierMode(){this.noSupplier=a.supplier.isNoSupplier(),this.requestUpdate()}close(){this.sendCloseEvent(),a.recipes.displayedRecipe$.next(null)}listenToCloseEvent(){document.querySelector("mealz-drawer").addEventListener("drawerClosed",()=>{this.sendCloseEvent()})}selectTab(e){this.activeTabIndex=e,this.activeTabIndex===1&&this.sendCookingDisplayEvent(),this.requestUpdate()}getLikeButton(){this.noSupplier||this.subscriptions.push(a.user.isAuthenticated().pipe(I(e=>e),T(()=>a.html.like(this.recipe.id))).subscribe(e=>{this.likeButtonHTML=e,this.requestUpdate()}))}checkSponsorStorytelling(){this.sponsor&&this.subscriptions.push(a.sponsor.hasStorytelling(this.sponsor.id).subscribe(e=>{this.hasSponsorStorytelling=e,this.requestUpdate()}))}listenPosStatus(){return E({noPosDisplay:a.recipes.noPosDisplay$,invalidPosDisplay:a.recipes.invalidPosDisplay$}).pipe(d(({noPosDisplay:e,invalidPosDisplay:t})=>{this.noPosDisplay=e,this.invalidPosDisplay=t,this.activeTabIndex=e?1:0}))}listenLastOrderDate(){return a.recipes.orderHistoryDate$.pipe(d(e=>{this.orderHistoryDate=e}))}listenToLoadingStates(){return E([a.recipes.ingredientToBasketLoading$,a.recipes.updateIngredientFromBasketLoading$]).pipe(d(([e,t])=>{this.basketIsUpdating=e||t}))}listenRemainingBasketEntries(){return a.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e}))}listenToAddAllToBasket(){return a.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{e&&(this.selectTab(0),setTimeout(()=>{this.scrollToPicker()},50))}))}listenToRecipeInBasket(){return a.recipes.isRecipeInBasket(this.recipe.id).pipe(d(e=>{this.inBasket=e}))}scrollToPicker(){const e=this.querySelector(".mealz-products-picker");if(e){const t=this.querySelector(".mealz-recipe-details__title-container"),r=(t==null?void 0:t.offsetHeight)||0;e.style.scrollMarginTop=`${r}px`,e.scrollIntoView({behavior:"instant",block:"start"})}}scrollToReplacedItem(e){var r,l;const t=this.querySelectorAll("mealz-product-card-planner");for(const i of Array.from(t)){const n=i;if(((l=(r=n.product)==null?void 0:r.item)==null?void 0:l.id)===e){n.scrollIntoView({behavior:"instant",block:"center"});break}}}openLastOrderModal(){this.sendOrderedDisplayEvent();const e=new M;e.recipeId=this.recipe.id,e.addEventListener("orderAgain",()=>this.orderAgain()),e.displayLastOrderModal(this.orderHistoryDate)}orderAgain(){a.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}})}updateGuests(e){if(this.recipe.modifiedGuests===e.detail.value)return;this.recipe.modifiedGuests=e.detail.value,this.guestObserverService.updateGuests(this.recipe.modifiedGuests);const t={originPath:this.analyticsPath,props:{}};this.plannerMode?a.planner.updateGuests(this.recipe.modifiedGuests,t):a.recipes.updateGuests(t),this.requestUpdate()}render(){return s`
531
+ `}};$=le([h("mealz-no-pos-selected")],$);customElements.get("mealz-no-pos-selected")||customElements.define("mealz-no-pos-selected",$);var ce=Object.getOwnPropertyDescriptor,oe=(e,t,a,n)=>{for(var i=n>1?void 0:n?ce(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let O=class extends u{constructor(){super(),this.activeTabIndex=0,this.subscriptions=[],this.remainingBasketEntries=[],this.guestObserverService=L.getInstance(),this.isSticky=!1,this.styleURL=new URL("./recipe-details/recipe-details.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.handleNoSupplierMode(),this.subscriptions.push(w(r.recipes.displayedRecipe$.pipe(I(e=>!!e),G(e=>{this.recipe=e.recipe,this.sponsor=e.recipe.relationships.sponsors.data[0],this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.plannerMode=e.planner,this.getLikeButton(),this.checkSponsorStorytelling(),this.pageview(),this.listenToCloseEvent(),this.setStickyObserver(),this.startRecipeDetailsOnboardingIfNeeded()}),T(()=>this.listenToRecipeInBasket())),this.listenPosStatus(),this.listenRemainingBasketEntries(),this.listenLastOrderDate(),this.listenToLoadingStates(),this.listenToAddAllToBasket()).subscribe(()=>{this.requestUpdate()})),this.addEventListener("products-picker-ready",()=>this.startRecipeDetailsOnboardingIfNeeded())}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.topObserver&&this.topObserver.disconnect(),this.stickyTimeout&&clearTimeout(this.stickyTimeout)}setStickyObserver(){this.topObserver||this.updateComplete.then(()=>{const e=this.querySelector(".mealz-recipe-details__sticky-anchor");e&&(this.topObserver=new IntersectionObserver(([t])=>{this.stickyTimeout&&clearTimeout(this.stickyTimeout),this.stickyTimeout=window.setTimeout(()=>{const a=!t.isIntersecting;this.isSticky!==a&&(this.isSticky=a,this.requestUpdate())},150)},{threshold:0}),this.topObserver.observe(e))})}startRecipeDetailsOnboardingIfNeeded(){localStorage.getItem("_miam/recipeDetailsOnboarding")==="true"||!this.plannerMode||this.updateComplete.then(()=>{this.scrollJustAfterImage();let t=document.querySelector("mealz-planner-onboarding");t?t.type="recipe-details":(t=new q,t.type="recipe-details",document.body.appendChild(t)),t.launchOnboardingTour()})}scrollJustAfterImage(){const e=this.querySelector(".mealz-recipe-details__tabs");if(!e)return;const t=document.querySelector(".mealz-drawer__content-container");if(t){const a=e.getBoundingClientRect(),n=t.getBoundingClientRect();t.scrollTop+=a.top-n.top;return}e.scrollIntoView({behavior:"smooth",block:"start"})}handleNoSupplierMode(){this.noSupplier=r.supplier.isNoSupplier(),this.requestUpdate()}close(){this.sendCloseEvent(),r.recipes.displayedRecipe$.next(null)}listenToCloseEvent(){document.querySelector("mealz-drawer").addEventListener("drawerClosed",()=>{this.sendCloseEvent()})}selectTab(e){this.activeTabIndex=e,this.activeTabIndex===1&&this.sendCookingDisplayEvent(),this.requestUpdate()}getLikeButton(){this.noSupplier||this.subscriptions.push(r.user.isAuthenticated().pipe(I(e=>e),T(()=>r.html.like(this.recipe.id))).subscribe(e=>{this.likeButtonHTML=e,this.requestUpdate()}))}checkSponsorStorytelling(){this.sponsor&&this.subscriptions.push(r.sponsor.hasStorytelling(this.sponsor.id).subscribe(e=>{this.hasSponsorStorytelling=e,this.requestUpdate()}))}listenPosStatus(){return E({noPosDisplay:r.recipes.noPosDisplay$,invalidPosDisplay:r.recipes.invalidPosDisplay$}).pipe(d(({noPosDisplay:e,invalidPosDisplay:t})=>{this.noPosDisplay=e,this.invalidPosDisplay=t,this.activeTabIndex=e?1:0}))}listenLastOrderDate(){return r.recipes.orderHistoryDate$.pipe(d(e=>{this.orderHistoryDate=e}))}listenToLoadingStates(){return E([r.recipes.ingredientToBasketLoading$,r.recipes.updateIngredientFromBasketLoading$]).pipe(d(([e,t])=>{this.basketIsUpdating=e||t}))}listenRemainingBasketEntries(){return r.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e}))}listenToAddAllToBasket(){return r.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{e&&(this.selectTab(0),setTimeout(()=>{this.scrollToPicker()},50))}))}listenToRecipeInBasket(){return r.recipes.isRecipeInBasket(this.recipe.id).pipe(d(e=>{this.inBasket=e}))}scrollToPicker(){const e=this.querySelector(".mealz-products-picker");if(e){const t=this.querySelector(".mealz-recipe-details__title-container"),a=(t==null?void 0:t.offsetHeight)||0;e.style.scrollMarginTop=`${a}px`,e.scrollIntoView({behavior:"instant",block:"start"})}}scrollToReplacedItem(e){var a,n;const t=this.querySelectorAll("mealz-product-card-planner");for(const i of Array.from(t)){const l=i;if(((n=(a=l.product)==null?void 0:a.item)==null?void 0:n.id)===e){l.scrollIntoView({behavior:"instant",block:"center"});break}}}openLastOrderModal(){this.sendOrderedDisplayEvent();const e=new M;e.recipeId=this.recipe.id,e.addEventListener("orderAgain",()=>this.orderAgain()),e.displayLastOrderModal(this.orderHistoryDate)}orderAgain(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}})}updateGuests(e){if(this.recipe.modifiedGuests===e.detail.value)return;this.recipe.modifiedGuests=e.detail.value,this.guestObserverService.updateGuests(this.recipe.modifiedGuests);const t={originPath:this.analyticsPath,props:{}};this.plannerMode?r.planner.updateGuests(this.recipe.modifiedGuests,t):r.recipes.updateGuests(t),this.requestUpdate()}render(){return s`
532
532
  <div class="mealz-recipe-details">
533
533
  <!-- IF IS LOADING -->
534
534
  ${this.recipe?o:s`
@@ -695,4 +695,4 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
695
695
  </div>
696
696
  `:o}
697
697
  </div>
698
- `}showRecipeAddon(){this.sendSponsorDisplayEvent(),document.querySelector("mealz-drawer-view-swapper").displayRecipeAddon$.next(!0)}pageview(){a.analytics.sendEvent("pageview",this.analyticsPath,{})}sendSponsorDisplayEvent(){a.analytics.sendEvent("sponsor.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendCloseEvent(){a.analytics.sendEvent("recipe.close",this.analyticsPath,{recipe_id:this.recipe.id})}sendCookingDisplayEvent(){a.analytics.sendEvent("recipe.cooking.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendOrderedDisplayEvent(){a.analytics.sendEvent("recipe.ordered.display",this.analyticsPath,{recipe_id:this.recipe.id})}};R=ce([h("mealz-recipe-details")],R);
698
+ `}showRecipeAddon(){this.sendSponsorDisplayEvent(),document.querySelector("mealz-drawer-view-swapper").displayRecipeAddon$.next(!0)}pageview(){r.analytics.sendEvent("pageview",this.analyticsPath,{})}sendSponsorDisplayEvent(){r.analytics.sendEvent("sponsor.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendCloseEvent(){r.analytics.sendEvent("recipe.close",this.analyticsPath,{recipe_id:this.recipe.id})}sendCookingDisplayEvent(){r.analytics.sendEvent("recipe.cooking.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendOrderedDisplayEvent(){r.analytics.sendEvent("recipe.ordered.display",this.analyticsPath,{recipe_id:this.recipe.id})}};O=oe([h("mealz-recipe-details")],O);
@@ -1 +1 @@
1
- import{O as z,N as A,B as C,m as c}from"../assets/no-shadow-element-l9trQfcI.js";import{P as _}from"../assets/price-BoM226Kw.js";import{t as D}from"../assets/custom-element-BhZVzxrc.js";import{f as P}from"../assets/filter-CEeE8t7I.js";import{a as k,b as w,c as L}from"../assets/combineLatest-P4GAEtOW.js";import{s as O}from"../assets/skipWhile-DuMEda_n.js";import{s as g}from"../assets/switchMap-D8q0hRYH.js";import{i as F}from"../assets/innerFrom-CfKCbnvr.js";import{b as E}from"../assets/from-jBe2xW5a.js";import{c as R}from"../assets/OperatorSubscriber-EGuECN6g.js";import{m as U}from"../assets/mapOneOrManyArgs-DNd_tswl.js";import{o as f}from"../assets/of-BTA69Qgj.js";import{t as y}from"../assets/take-DO4w5a1Y.js";import{t as $}from"../assets/tap-BCGrRktL.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/map-C4rf5Jbc.js";import"../assets/empty-Cv-4tfKR.js";function B(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var r=E(e),t=k(e),s=t.args,a=t.keys,l=new z(function(h){var o=s.length;if(!o){h.complete();return}for(var n=new Array(o),u=o,v=o,I=function(b){var m=!1;F(s[b]).subscribe(R(h,function(M){m||(m=!0,v--),n[b]=M},function(){return u--},void 0,function(){(!u||!m)&&(v||h.next(a?w(a,n):n),h.complete())}))},d=0;d<o;d++)I(d)});return r?l.pipe(U(r)):l}class p{constructor(){this.priceMemorized=new Map,this.displayedPrices=new Set,this.cleanupInterval=null,this.MAX_MEMO_SIZE=500,this.CLEANUP_INTERVAL=600*1e3,this.handlePageUnload=()=>{this.destroy()},this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return p.instance||(p.instance=new p),p.instance}getMemorizedPrice(i,r){const t=`${i}-${r}`;return this.priceMemorized.get(t)}memorizedPrice(i,r,t){const s=`${i}-${r}`;this.priceMemorized.size>=this.MAX_MEMO_SIZE&&this.cleanOldPrices(),this.priceMemorized.set(s,{price:t,guests:r})}isPriceDisplayed(i,r){const t=`${i}-${r}`;return this.displayedPrices.has(t)}markPriceAsDisplayed(i,r){const t=`${i}-${r}`;this.displayedPrices.add(t)}cleanOldPrices(){this.priceMemorized.size>this.MAX_MEMO_SIZE*.8&&Array.from(this.priceMemorized.entries()).slice(0,Math.floor(this.priceMemorized.size*.3)).forEach(([t])=>{this.priceMemorized.delete(t),this.displayedPrices.delete(t)})}clearAllPrices(){this.priceMemorized.clear(),this.displayedPrices.clear()}destroy(){window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.priceMemorized.clear(),this.displayedPrices.clear(),p.instance=null}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldPrices()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var V=Object.getOwnPropertyDescriptor,N=(e,i,r,t)=>{for(var s=t>1?void 0:t?V(i,r):i,a=e.length-1,l;a>=0;a--)(l=e[a])&&(s=l(s)||s);return s};let S=class extends A{constructor(){super(...arguments),this.formattedPrice="",this.rendered=new C(!1),this.inBasket=!1,this.planner=!1,this.lastPlannerPrice=0,this.plannerPriceSubscription=null,this.subscriptions=[],this.priceService=_.getInstance()}connectedCallback(){super.connectedCallback(),this.classList.add("re-rendering"),this.getInitialStatus(),this.setupSubscriptions(),requestAnimationFrame(()=>{this.classList.remove("re-rendering")})}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null)}setupSubscriptions(){this.subscriptions.push(c.recipes.guestsUpdated().subscribe(e=>{e.recipeId===this.recipeId&&(this.serves=e.guests,this.recalculatePrice())}),this.listenToBasket(),this.setupDisplayedRecipeSubscription(),this.setupGuestUpdatesSubscription(),this.setupMenuPriceSubscription())}setupDisplayedRecipeSubscription(){return c.recipes.displayedRecipe$.pipe(P(()=>this.planner&&!!this.recipeId)).subscribe(e=>{var i;((i=e==null?void 0:e.recipe)==null?void 0:i.id)===this.recipeId?(this.lastDisplayedRecipeId=this.recipeId,this.trackPlannerRecipePrice(),this.updateGuestCountFromMenu()):!(e!=null&&e.recipe)&&this.lastDisplayedRecipeId===this.recipeId&&(this.updatePriceFromCapturedPlannerPrice(),this.lastDisplayedRecipeId=null,this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null))})}setupGuestUpdatesSubscription(){return c.recipes.guestsUpdated().pipe(P(()=>this.planner&&!!this.recipeId)).subscribe(({guests:e,recipeId:i})=>{i===this.recipeId&&!this.planner&&(this.serves=e)})}setupMenuPriceSubscription(){return c.planner.menuPrice$.pipe(P(()=>this.planner&&!!this.recipeId)).subscribe(e=>{if(this.updateGuestCountFromMenu(),this.lastPlannerPrice>0&&this.serves>0){const i=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(i.toFixed(2))}})}fetchPrice(e,i,r){var h,o;const t=(h=this.recipePricing)==null?void 0:h.querySelector(".mealz-recipe-pricing__wrapper"),s=(o=this.attributes["starting-data"])==null?void 0:o.value;if(!s){t==null||t.classList.replace("active","hidden");return}if(s){const n=JSON.parse(s);if(this.removeAttribute("starting-data"),n.pricePerServe!==null||n.inBasket){t==null||t.classList.replace("hidden","active"),this.applyCurrencyDisplay(n.pricePerServe),this.inBasket=n.inBasket;return}}const a=p.getInstance(),l=a.getMemorizedPrice(r,i);if(l){requestAnimationFrame(()=>{this.applyCurrencyDisplay(l.price),a.markPriceAsDisplayed(r,i)});return}t==null||t.classList.replace("active","hidden"),this.subscriptions.push(c.recipes.fetchPricing(r,e,"DEFAULT",i).subscribe(n=>{if(n!=null&&n.price_per_serve){const u=p.getInstance();u.memorizedPrice(r,i,n.price_per_serve),requestAnimationFrame(()=>{t==null||t.classList.replace("hidden","active"),this.applyCurrencyDisplay(n.price_per_serve),u.markPriceAsDisplayed(r,i)})}}))}render(){this.recipePricing=this.querySelector(".mealz-recipe-pricing"),this.recipePricing&&(this.recipeId&&this.pricePerServe&&p.getInstance().isPriceDisplayed(this.recipeId,this.serves)&&requestAnimationFrame(()=>{this.applyCurrencyDisplay(this.pricePerServe)}),this.rendered.next(!0),this.getInitialStatus())}getInitialStatus(){var a;const e=(a=this.attributes["starting-data"])==null?void 0:a.value;if(!e)return;const{recipeId:i,pricePerServe:r,serves:t,planner:s}=JSON.parse(e);this.recipeId=i,this.pricePerServe=(r==null?void 0:r.toString())??null,this.serves=t,this.planner=s||!1,this.applyCurrencyDisplay(this.pricePerServe),this.updateDOM()}applyCurrencyDisplay(e){const i=parseFloat(e);isNaN(i)||(this.formattedPrice=i.toLocaleString("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2}),this.updateDOM())}showPrice(){var r,t;const e=(r=this.recipePricing)==null?void 0:r.querySelector(".mealz-recipe-pricing__loading"),i=(t=this.recipePricing)==null?void 0:t.querySelector(".mealz-recipe-pricing__wrapper");e==null||e.classList.replace("active","hidden"),i==null||i.classList.replace("hidden","active")}updateDOM(){var i;const e=(i=this.recipePricing)==null?void 0:i.querySelector(".mealz-recipe-pricing__wrapper__price");e&&(e.innerHTML=this.formattedPrice+" €",this.showPrice())}listenToBasket(){return L([this.rendered,c.basket.recipePricesInBasket$()]).pipe(O(([e,i])=>!e||!i),g(([,e])=>B([f(e),c.pos.currentPos().pipe(y(1))])),g(([e,i])=>(this.recipePricingValue=e.find(r=>r.id===this.recipeId),this.recipePricingValue?(this.inBasket=!0,this.applyCurrencyDisplay((+this.recipePricingValue.price/this.serves).toString()),f(null)):i&&this.inBasket?c.recipes.fetchPricing(this.recipeId,i.id,"DEFAULT",this.serves).pipe($(r=>{r!=null&&r.price_per_serve&&(this.applyCurrencyDisplay(r.price_per_serve),this.inBasket=!1)})):(this.formattedPrice=this.pricePerServe,f(null))))).subscribe(()=>{this.showPrice()})}recalculatePrice(){if(this.recipePricingValue){const e=(parseFloat(this.recipePricingValue.price)/this.recipePricingValue.guests).toString();requestAnimationFrame(()=>{this.applyCurrencyDisplay(e);const i=p.getInstance();i.memorizedPrice(this.recipeId,this.recipePricingValue.guests,e),i.markPriceAsDisplayed(this.recipeId,this.recipePricingValue.guests)})}}trackPlannerRecipePrice(){this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),this.plannerPriceSubscription=c.planner.plannerRecipePrice$.subscribe(e=>{e>0&&(this.lastPlannerPrice=e)})}updateGuestCountFromMenu(){!this.planner||!this.recipeId||c.planner.getGuestsForRecipe(this.recipeId).pipe(y(1)).subscribe(e=>{e&&e>0&&(this.serves=e)})}updatePriceFromCapturedPlannerPrice(){!this.planner||!this.recipeId||c.planner.isRecipeInMenu$(this.recipeId).pipe(y(1)).subscribe(e=>{if(e&&this.lastPlannerPrice>0){if(this.serves>0){const i=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(i.toFixed(2))}}else this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)})}};S=N([D("mealz-recipe-pricing")],S);
1
+ import{O as D,N as z,B as A,m as c}from"../assets/no-shadow-element-l9trQfcI.js";import{t as C}from"../assets/custom-element-BhZVzxrc.js";import{f as P}from"../assets/filter-CEeE8t7I.js";import{a as _,b as k,c as w}from"../assets/combineLatest-P4GAEtOW.js";import{s as O}from"../assets/skipWhile-DuMEda_n.js";import{s as g}from"../assets/switchMap-D8q0hRYH.js";import{i as L}from"../assets/innerFrom-CfKCbnvr.js";import{b as F}from"../assets/from-jBe2xW5a.js";import{c as E}from"../assets/OperatorSubscriber-EGuECN6g.js";import{m as R}from"../assets/mapOneOrManyArgs-DNd_tswl.js";import{o as f}from"../assets/of-BTA69Qgj.js";import{t as y}from"../assets/take-DO4w5a1Y.js";import{t as $}from"../assets/tap-BCGrRktL.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/map-C4rf5Jbc.js";import"../assets/empty-Cv-4tfKR.js";function B(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var r=F(e),s=_(e),t=s.args,a=s.keys,l=new D(function(h){var o=t.length;if(!o){h.complete();return}for(var n=new Array(o),u=o,b=o,I=function(v){var m=!1;L(t[v]).subscribe(E(h,function(M){m||(m=!0,b--),n[v]=M},function(){return u--},void 0,function(){(!u||!m)&&(b||h.next(a?k(a,n):n),h.complete())}))},d=0;d<o;d++)I(d)});return r?l.pipe(R(r)):l}class p{constructor(){this.priceMemorized=new Map,this.displayedPrices=new Set,this.cleanupInterval=null,this.MAX_MEMO_SIZE=500,this.CLEANUP_INTERVAL=600*1e3,this.handlePageUnload=()=>{this.destroy()},this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return p.instance||(p.instance=new p),p.instance}getMemorizedPrice(i,r){const s=`${i}-${r}`;return this.priceMemorized.get(s)}memorizedPrice(i,r,s){const t=`${i}-${r}`;this.priceMemorized.size>=this.MAX_MEMO_SIZE&&this.cleanOldPrices(),this.priceMemorized.set(t,{price:s,guests:r})}isPriceDisplayed(i,r){const s=`${i}-${r}`;return this.displayedPrices.has(s)}markPriceAsDisplayed(i,r){const s=`${i}-${r}`;this.displayedPrices.add(s)}cleanOldPrices(){this.priceMemorized.size>this.MAX_MEMO_SIZE*.8&&Array.from(this.priceMemorized.entries()).slice(0,Math.floor(this.priceMemorized.size*.3)).forEach(([s])=>{this.priceMemorized.delete(s),this.displayedPrices.delete(s)})}clearAllPrices(){this.priceMemorized.clear(),this.displayedPrices.clear()}destroy(){window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.priceMemorized.clear(),this.displayedPrices.clear(),p.instance=null}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldPrices()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var V=Object.getOwnPropertyDescriptor,N=(e,i,r,s)=>{for(var t=s>1?void 0:s?V(i,r):i,a=e.length-1,l;a>=0;a--)(l=e[a])&&(t=l(t)||t);return t};let S=class extends z{constructor(){super(...arguments),this.formattedPrice="",this.rendered=new A(!1),this.inBasket=!1,this.planner=!1,this.lastPlannerPrice=0,this.plannerPriceSubscription=null,this.lastAppliedPrice="",this.priceDisplayed=!1,this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.classList.add("re-rendering"),this.getInitialStatus(),this.setupSubscriptions(),requestAnimationFrame(()=>{this.classList.remove("re-rendering")})}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null)}setupSubscriptions(){this.subscriptions.push(c.recipes.guestsUpdated().subscribe(e=>{e.recipeId===this.recipeId&&(this.serves=e.guests,this.recalculatePrice())}),this.listenToBasket(),this.setupDisplayedRecipeSubscription(),this.setupGuestUpdatesSubscription(),this.setupMenuPriceSubscription())}setupDisplayedRecipeSubscription(){return c.recipes.displayedRecipe$.pipe(P(()=>this.planner&&!!this.recipeId)).subscribe(e=>{var i;((i=e==null?void 0:e.recipe)==null?void 0:i.id)===this.recipeId?(this.lastDisplayedRecipeId=this.recipeId,this.trackPlannerRecipePrice(),this.updateGuestCountFromMenu()):!(e!=null&&e.recipe)&&this.lastDisplayedRecipeId===this.recipeId&&(this.updatePriceFromCapturedPlannerPrice(),this.lastDisplayedRecipeId=null,this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null))})}setupGuestUpdatesSubscription(){return c.recipes.guestsUpdated().pipe(P(()=>!!this.recipeId)).subscribe(({guests:e,recipeId:i})=>{i===this.recipeId&&(this.serves=e,this.recalculatePrice())})}setupMenuPriceSubscription(){return c.planner.menuPrice$.pipe(P(()=>this.planner&&!!this.recipeId)).subscribe(e=>{if(this.updateGuestCountFromMenu(),this.lastPlannerPrice>0&&this.serves>0){const i=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(i.toFixed(2))}})}fetchPrice(e,i,r){var h,o;const s=(h=this.recipePricing)==null?void 0:h.querySelector(".mealz-recipe-pricing__wrapper"),t=(o=this.attributes["starting-data"])==null?void 0:o.value;if(!t){if(this.priceDisplayed)return;s==null||s.classList.replace("active","hidden"),this.priceDisplayed=!1;return}if(t){const n=JSON.parse(t);if(this.removeAttribute("starting-data"),n.pricePerServe!==null||n.inBasket){s==null||s.classList.replace("hidden","active"),this.applyCurrencyDisplay(n.pricePerServe),this.inBasket=n.inBasket;return}}const a=p.getInstance(),l=a.getMemorizedPrice(r,i);if(l){requestAnimationFrame(()=>{this.applyCurrencyDisplay(l.price),a.markPriceAsDisplayed(r,i)});return}s==null||s.classList.replace("active","hidden"),this.subscriptions.push(c.recipes.fetchPricing(r,e,i).subscribe(n=>{if(n!=null&&n.price_per_serve){const u=p.getInstance();u.memorizedPrice(r,i,n.price_per_serve),requestAnimationFrame(()=>{s==null||s.classList.replace("hidden","active"),this.applyCurrencyDisplay(n.price_per_serve),u.markPriceAsDisplayed(r,i)})}}))}render(){this.recipePricing=this.querySelector(".mealz-recipe-pricing"),this.recipePricing&&(this.recipeId&&this.pricePerServe&&p.getInstance().isPriceDisplayed(this.recipeId,this.serves)&&requestAnimationFrame(()=>{this.applyCurrencyDisplay(this.pricePerServe)}),this.rendered.next(!0),this.getInitialStatus())}getInitialStatus(){var a;const e=(a=this.attributes["starting-data"])==null?void 0:a.value;if(!e)return;const{recipeId:i,pricePerServe:r,serves:s,planner:t}=JSON.parse(e);this.recipeId=i,this.pricePerServe=(r==null?void 0:r.toString())??null,this.serves=s,this.planner=t||!1,this.applyCurrencyDisplay(this.pricePerServe)}applyCurrencyDisplay(e){if(this.lastAppliedPrice===e)return;const i=parseFloat(e);isNaN(i)||(this.lastAppliedPrice=e,this.formattedPrice=i.toLocaleString("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2}),this.updateDOM())}showPrice(){var r,s;if(this.priceDisplayed)return;const e=(r=this.recipePricing)==null?void 0:r.querySelector(".mealz-recipe-pricing__loading"),i=(s=this.recipePricing)==null?void 0:s.querySelector(".mealz-recipe-pricing__wrapper");e==null||e.classList.replace("active","hidden"),i==null||i.classList.replace("hidden","active"),this.priceDisplayed=!0}updateDOM(){var i;const e=(i=this.recipePricing)==null?void 0:i.querySelector(".mealz-recipe-pricing__wrapper__price");e&&(e.innerHTML=this.formattedPrice+" €",this.showPrice())}listenToBasket(){return w([this.rendered,c.basket.recipePricesInBasket$()]).pipe(O(([e,i])=>!e||!i),g(([,e])=>B([f(e),c.pos.currentPos().pipe(y(1))])),g(([e,i])=>(this.recipePricingValue=e.find(r=>r.id===this.recipeId),this.recipePricingValue?(this.inBasket=!0,this.applyCurrencyDisplay((+this.recipePricingValue.price/this.serves).toString()),f(null)):i&&this.inBasket?c.recipes.fetchPricing(this.recipeId,i.id,this.serves).pipe($(r=>{r!=null&&r.price_per_serve&&(this.applyCurrencyDisplay(r.price_per_serve),this.inBasket=!1)})):(this.formattedPrice=this.pricePerServe,f(null))))).subscribe(()=>{this.priceDisplayed||(this.showPrice(),this.priceDisplayed=!0)})}recalculatePrice(){if(this.recipePricingValue){const e=(parseFloat(this.recipePricingValue.price)/this.recipePricingValue.guests).toString();requestAnimationFrame(()=>{this.applyCurrencyDisplay(e);const i=p.getInstance();i.memorizedPrice(this.recipeId,this.recipePricingValue.guests,e),i.markPriceAsDisplayed(this.recipeId,this.recipePricingValue.guests)})}}trackPlannerRecipePrice(){this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),this.plannerPriceSubscription=c.planner.plannerRecipePrice$.subscribe(e=>{e>0&&(this.lastPlannerPrice=e)})}updateGuestCountFromMenu(){!this.planner||!this.recipeId||c.planner.getGuestsForRecipe(this.recipeId).pipe(y(1)).subscribe(e=>{e&&e>0&&(this.serves=e)})}updatePriceFromCapturedPlannerPrice(){!this.planner||!this.recipeId||c.planner.isRecipeInMenu$(this.recipeId).pipe(y(1)).subscribe(e=>{if(e&&this.lastPlannerPrice>0){if(this.serves>0){const i=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(i.toFixed(2))}}else this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)})}};S=N([C("mealz-recipe-pricing")],S);
@@ -1,4 +1,4 @@
1
- import"../assets/store-locator-m8sx3XDc.js";import{N as h,k as c}from"../assets/no-shadow-element-l9trQfcI.js";import{t as o}from"../assets/custom-element-BhZVzxrc.js";import{n as b}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(e,t,d,l)=>{for(var s=l>1?void 0:l?m(t,d):t,i=e.length-1,r;i>=0;i--)(r=e[i])&&(s=(l?r(t,d,s):r(s))||s);return l&&s&&p(t,d,s),s};let a=class extends h{constructor(){super(),this._selectedTabIndex=0,this.styleURL=new URL("./slider-tabs/slider-tabs.css",this.getBaseURL())}get selectedTabIndex(){return this._selectedTabIndex}set selectedTabIndex(e){this._selectedTabIndex!==e&&(this._selectedTabIndex=e,this.sliderElement&&this.updateSlider())}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}firstUpdated(){this.sliderElement=this.querySelector(".mealz-slider-tab__background"),this.updateSlider()}render(){return c`
1
+ import"../assets/store-locator-Crx8huGH.js";import{N as h,k as c}from"../assets/no-shadow-element-l9trQfcI.js";import{t as o}from"../assets/custom-element-BhZVzxrc.js";import{n as b}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(e,t,i,l)=>{for(var s=l>1?void 0:l?m(t,i):t,d=e.length-1,r;d>=0;d--)(r=e[d])&&(s=(l?r(t,i,s):r(s))||s);return l&&s&&p(t,i,s),s};let a=class extends h{constructor(){super(),this._selectedTabIndex=0,this.styleURL=new URL("./slider-tabs/slider-tabs.css",this.getBaseURL())}get selectedTabIndex(){return this._selectedTabIndex}set selectedTabIndex(e){this._selectedTabIndex!==e&&(this._selectedTabIndex=e,this.sliderElement&&this.updateSlider())}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}firstUpdated(){this.sliderElement=this.querySelector(".mealz-slider-tab__background"),this.updateSlider()}render(){return c`
2
2
  <div class="mealz-slider-tabs">
3
3
  ${this.tabs.map((e,t)=>c`
4
4
  <button
@@ -1,4 +1,4 @@
1
- import"../assets/store-locator-m8sx3XDc.js";import{N as p,D as m,k as u,m as l}from"../assets/no-shadow-element-l9trQfcI.js";import{t as d}from"../assets/custom-element-BhZVzxrc.js";import{n as h}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";var b=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,i,a)=>{for(var t=a>1?void 0:a?w(s,i):s,o=e.length-1,n;o>=0;o--)(n=e[o])&&(t=(a?n(s,i,t):n(t))||t);return a&&t&&b(s,i,t),t};let r=class extends p{constructor(){super(),this.analyticsPath="",this.subscriptions=[],this.styleURL=new URL("./store-indicator/store-indicator.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.setCurrentPosLabel()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return this.currentPosLabel?u`
1
+ import"../assets/store-locator-Crx8huGH.js";import{N as p,D as m,k as u,m as l}from"../assets/no-shadow-element-l9trQfcI.js";import{t as d}from"../assets/custom-element-BhZVzxrc.js";import{n as h}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";var b=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,i,a)=>{for(var t=a>1?void 0:a?w(s,i):s,o=e.length-1,n;o>=0;o--)(n=e[o])&&(t=(a?n(s,i,t):n(t))||t);return a&&t&&b(s,i,t),t};let r=class extends p{constructor(){super(),this.analyticsPath="",this.subscriptions=[],this.styleURL=new URL("./store-indicator/store-indicator.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.setCurrentPosLabel()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return this.currentPosLabel?u`
2
2
  <div class="mealz-store-indicator">
3
3
  <span class="mealz-store-indicator__pos-label mealz-ds-text weight-xl">
4
4
  ${this.currentPosLabel}