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

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 (110) hide show
  1. package/dist/add-to-cart-cta/add-to-cart-cta.min.js +1 -1
  2. package/dist/assets/OperatorSubscriber-z_a6lCKk.js +1 -0
  3. package/dist/assets/async-H-Co76Oa.js +1 -0
  4. package/dist/assets/{combineLatest-P4GAEtOW.js → combineLatest-DNi66MsF.js} +1 -1
  5. package/dist/assets/{debounceTime-Bo5F3ux-.js → debounceTime-CIA2MWDj.js} +1 -1
  6. package/dist/assets/delay-0L99jHsb.js +1 -0
  7. package/dist/assets/distinctUntilChanged-Ckq1Syk_.js +1 -0
  8. package/dist/assets/empty-DGYYDWIm.js +1 -0
  9. package/dist/assets/executeSchedule-CTqB8mra.js +1 -0
  10. package/dist/assets/{filter-CEeE8t7I.js → filter-DuHsB8oM.js} +1 -1
  11. package/dist/assets/{from-jBe2xW5a.js → from-Btz8AgkO.js} +1 -1
  12. package/dist/assets/http-BGziD2u2.js +1 -0
  13. package/dist/assets/{innerFrom-CfKCbnvr.js → innerFrom-CVMPVEmB.js} +1 -1
  14. package/dist/assets/{map-C4rf5Jbc.js → map-oxUcVNGT.js} +1 -1
  15. package/dist/assets/mapOneOrManyArgs-Do0PsDok.js +1 -0
  16. package/dist/assets/mealz-sdk-DWLzEfKz.js +1 -0
  17. package/dist/assets/merge-BlKu2J03.js +1 -0
  18. package/dist/assets/mergeAll-DQItozZ-.js +1 -0
  19. package/dist/assets/mergeMap-CMaM5Agw.js +1 -0
  20. package/dist/assets/no-shadow-element-DlGA0h9b.js +21 -0
  21. package/dist/assets/{of-BTA69Qgj.js → of-CH-D5SN9.js} +1 -1
  22. package/dist/assets/price-DcNF55ef.js +1 -0
  23. package/dist/assets/{product-card-DqcKyf1c.js → product-card-Be_9YL6f.js} +1 -1
  24. package/dist/assets/{promotion-badge-BwN2GpDz.js → promotion-badge-2uUuiRau.js} +1 -1
  25. package/dist/assets/{property-leIVgCvV.js → property-Bg80vXcm.js} +1 -1
  26. package/dist/assets/session-handler-BiuedJFx.js +1 -0
  27. package/dist/assets/{skipWhile-DuMEda_n.js → skipWhile-BAgfjfH2.js} +1 -1
  28. package/dist/assets/{state-CccUMzBZ.js → state-bsKs-Mb2.js} +1 -1
  29. package/dist/assets/{store-locator-Crx8huGH.js → store-locator-CKwiyckb.js} +1 -1
  30. package/dist/assets/{switchMap-D8q0hRYH.js → switchMap-vA0vSKy4.js} +1 -1
  31. package/dist/assets/{take-DO4w5a1Y.js → take-BmqRVy-3.js} +1 -1
  32. package/dist/assets/tap-C4xC1M3N.js +1 -0
  33. package/dist/assets/{timer-BOl4bYNY.js → timer-DmQ_oP6s.js} +1 -1
  34. package/dist/assets/{unsafe-html-CmALAWuN.js → unsafe-html-MRC87lfr.js} +1 -1
  35. package/dist/assets/{viewport-listener-RTCBatPv.js → viewport-listener-BuonFDBs.js} +1 -1
  36. package/dist/basket-transfer-modal/basket-transfer-modal.min.js +1 -1
  37. package/dist/catalog/basket-preview/basket-preview.min.js +3 -3
  38. package/dist/catalog/catalog-category/catalog-category.min.js +1 -1
  39. package/dist/catalog/catalog-favorites/catalog-favorites.min.js +1 -1
  40. package/dist/catalog/catalog-history/catalog-history.min.js +1 -1
  41. package/dist/catalog/catalog-home/catalog-home.min.js +1 -1
  42. package/dist/catalog/catalog-list/catalog-list.min.js +1 -1
  43. package/dist/catalog/catalog-load-more.min.js +1 -1
  44. package/dist/catalog/catalog-tabs/catalog-tabs.min.js +1 -1
  45. package/dist/catalog/catalog-toolbar/catalog-toolbar.min.js +1 -1
  46. package/dist/catalog/my-meals-button/my-meals-button.min.js +1 -1
  47. package/dist/counter/counter.min.js +1 -1
  48. package/dist/drawer/drawer.min.js +2 -2
  49. package/dist/drawer-view-swapper/drawer-view-swapper.min.js +1 -1
  50. package/dist/history-drawer/history-drawer.min.js +1 -1
  51. package/dist/history-order/history-order.min.js +1 -1
  52. package/dist/history-order-expanded/history-order-expanded.min.js +1 -1
  53. package/dist/last-order-badge/last-order-badge.min.js +1 -1
  54. package/dist/last-order-modal/last-order-modal.min.js +1 -1
  55. package/dist/like-button/like-button.min.js +1 -1
  56. package/dist/modal/modal.min.js +6 -6
  57. package/dist/onboarding/analytics/onboarding-analytics.min.js +1 -0
  58. package/dist/onboarding/events.min.js +1 -0
  59. package/dist/onboarding/onboarding.css +1 -1
  60. package/dist/onboarding/onboarding.min.js +2 -2
  61. package/dist/order-again/order-again.min.js +1 -1
  62. package/dist/planner/helpers/open-onboarding-modal.min.js +1 -0
  63. package/dist/planner/planner-abandon-modal/planner-abandon-modal.min.js +1 -1
  64. package/dist/planner/planner-budget-gauge/planner-budget-gauge.min.js +1 -1
  65. package/dist/planner/planner-catalog/planner-catalog.min.js +2 -2
  66. package/dist/planner/planner-current-menu/planner-current-menu.css +1 -1
  67. package/dist/planner/planner-current-menu/planner-current-menu.min.js +1 -1
  68. package/dist/planner/planner-current-menu-modal/planner-current-menu-modal.min.js +2 -2
  69. package/dist/planner/planner-dashboard/planner-dashboard.css +1 -1
  70. package/dist/planner/planner-dashboard/planner-dashboard.min.js +1 -1
  71. package/dist/planner/planner-form/planner-form.min.js +1 -1
  72. package/dist/planner/planner-menu-option/planner-menu-option.min.js +1 -1
  73. package/dist/planner/planner-onboarding/planner-onboarding.min.js +1 -1
  74. package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.css +1 -1
  75. package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.min.js +8 -8
  76. package/dist/planner/planner-open-catalog-modal/planner-open-catalog-modal.min.js +2 -2
  77. package/dist/planner/planner-recipe-card/planner-recipe-card.min.js +1 -1
  78. package/dist/planner/planner-recipe-list/planner-recipe-list.min.js +1 -1
  79. package/dist/planner/planner-recipe-suggestion/planner-recipe-suggestion.min.js +1 -1
  80. package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +2 -2
  81. package/dist/planner/to-basket-loader/to-basket-loader.min.js +1 -1
  82. package/dist/preferences/preferences.min.js +1 -1
  83. package/dist/price/price.min.js +1 -1
  84. package/dist/recipe-card/recipe-card.min.js +1 -1
  85. package/dist/recipe-card-cta/recipe-card-cta.min.js +1 -1
  86. package/dist/recipe-details/recipe-details.min.js +112 -112
  87. package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
  88. package/dist/replace-item/replace-item-card/replace-item-card.min.js +1 -1
  89. package/dist/replace-item/replace-item.min.js +1 -1
  90. package/dist/replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js +4 -4
  91. package/dist/replace-item-planner/replace-item-planner.min.js +2 -2
  92. package/dist/slider-tabs/slider-tabs.min.js +1 -1
  93. package/dist/store-indicator/store-indicator.min.js +2 -2
  94. package/dist/store-locator-drawer/store-locator-drawer.min.js +1 -1
  95. package/package.json +1 -1
  96. package/dist/assets/OperatorSubscriber-EGuECN6g.js +0 -1
  97. package/dist/assets/async-D3oCs_PQ.js +0 -1
  98. package/dist/assets/delay-ILvLVH1b.js +0 -1
  99. package/dist/assets/distinctUntilChanged-BkBiB4M3.js +0 -1
  100. package/dist/assets/empty-Cv-4tfKR.js +0 -1
  101. package/dist/assets/executeSchedule-DfyZaGAH.js +0 -1
  102. package/dist/assets/http-aOzufNsj.js +0 -1
  103. package/dist/assets/mapOneOrManyArgs-DNd_tswl.js +0 -1
  104. package/dist/assets/merge-C-u9uFzU.js +0 -1
  105. package/dist/assets/mergeMap-buGewtOo.js +0 -1
  106. package/dist/assets/no-shadow-element-l9trQfcI.js +0 -21
  107. package/dist/assets/price-BoM226Kw.js +0 -1
  108. package/dist/assets/recipe-BwGs-blm.js +0 -1
  109. package/dist/assets/session-handler-BnuvphmJ.js +0 -1
  110. package/dist/assets/tap-BCGrRktL.js +0 -1
@@ -1 +1 @@
1
- import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{M as d}from"../../modal/modal.min.js";import{N as c,m as l}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as m}from"../../assets/custom-element-BhZVzxrc.js";import"../../assets/state-CccUMzBZ.js";import"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";var h=Object.getOwnPropertyDescriptor,p=(e,a,t,s)=>{for(var n=s>1?void 0:s?h(a,t):a,r=e.length-1,i;r>=0;r--)(i=e[r])&&(n=i(n)||n);return n};let o=class extends c{constructor(){super(...arguments),this.analyticsPath="/meals-planner/dashboard"}get selectors(){return{historyLink:".mealz-planner-dashboard__history-container",onboardingButton:".mealz-planner-dashboard__onboarding-container"}}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners()}addEventListeners(){var e,a;(e=this.elements.historyLink)==null||e.addEventListener("click",t=>this.navigateToHistory(t)),(a=this.elements.onboardingButton)==null||a.addEventListener("click",t=>this.openOnboardingModal(t))}navigateToHistory(e){e.preventDefault();const a=e.currentTarget;l.hook.hookCallback().subscribe(t=>{t&&(window.location.href=a.href)})}openOnboardingModal(e){e.preventDefault(),new d().openOnboardingModal()}pageview(){l.analytics.sendEvent("pageview",this.analyticsPath,{})}};o=p([m("mealz-planner-dashboard")],o);customElements.get("mealz-planner-dashboard")||customElements.define("mealz-planner-dashboard",o);
1
+ import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{o as d}from"../helpers/open-onboarding-modal.min.js";import{N as m}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as p}from"../../assets/custom-element-BhZVzxrc.js";import{m as l}from"../../assets/mealz-sdk-DWLzEfKz.js";import"../../assets/state-bsKs-Mb2.js";import"../../assets/property-Bg80vXcm.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-MRC87lfr.js";import"../../onboarding/events.min.js";var c=Object.getOwnPropertyDescriptor,h=(e,t,a,s)=>{for(var n=s>1?void 0:s?c(t,a):t,r=e.length-1,i;r>=0;r--)(i=e[r])&&(n=i(n)||n);return n};let o=class extends m{constructor(){super(...arguments),this.analyticsPath="/meals-planner/dashboard"}get selectors(){return{historyLink:".mealz-planner-dashboard__history-container",onboardingButton:".mealz-planner-dashboard__onboarding-container"}}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners()}addEventListeners(){var e,t;(e=this.elements.historyLink)==null||e.addEventListener("click",a=>this.navigateToHistory(a)),(t=this.elements.onboardingButton)==null||t.addEventListener("click",a=>this.openOnboardingModal(a))}navigateToHistory(e){e.preventDefault();const t=e.currentTarget;l.hook.hookCallback().subscribe(a=>{a&&(window.location.href=t.href)})}openOnboardingModal(e){e.preventDefault(),d("dashboard")}pageview(){l.analytics.sendEvent("pageview",this.analyticsPath,{})}};o=h([p("mealz-planner-dashboard")],o);customElements.get("mealz-planner-dashboard")||customElements.define("mealz-planner-dashboard",o);
@@ -1,4 +1,4 @@
1
- import{N as c,D as g,k as i,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as h}from"../../assets/custom-element-BhZVzxrc.js";import{n as l}from"../../assets/property-leIVgCvV.js";import{M as b}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{t as p}from"../../assets/take-DO4w5a1Y.js";import{s as v}from"../../assets/switchMap-D8q0hRYH.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/innerFrom-CfKCbnvr.js";var f=Object.defineProperty,M=Object.getOwnPropertyDescriptor,r=(e,t,a,u)=>{for(var n=u>1?void 0:u?M(t,a):t,d=e.length-1,m;d>=0;d--)(m=e[d])&&(n=(u?m(t,a,n):m(n))||n);return u&&n&&f(t,a,n),n};let s=class extends c{constructor(){super(),this.menuId="",this.guests=4,this.hideBudget=!1,this.isCustomMenu=!1,this.currentMenuModal=!1,this.budget=0,this.generatingLoader=!1,this.analyticsPath="/meals-planner/dashboard",this.styleURL=new URL("./planner/planner-form/planner-form.css",this.getBaseURL())}render(){return i`
1
+ import{N as c,D as g,k as i}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as h}from"../../assets/custom-element-BhZVzxrc.js";import{n as l}from"../../assets/property-Bg80vXcm.js";import{M as b}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{m as o}from"../../assets/mealz-sdk-DWLzEfKz.js";import{t as p}from"../../assets/take-BmqRVy-3.js";import{s as v}from"../../assets/switchMap-vA0vSKy4.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-MRC87lfr.js";import"../../onboarding/events.min.js";import"../../assets/empty-DGYYDWIm.js";import"../../assets/OperatorSubscriber-z_a6lCKk.js";import"../../assets/innerFrom-CVMPVEmB.js";var f=Object.defineProperty,M=Object.getOwnPropertyDescriptor,r=(e,t,a,u)=>{for(var n=u>1?void 0:u?M(t,a):t,d=e.length-1,m;d>=0;d--)(m=e[d])&&(n=(u?m(t,a,n):m(n))||n);return u&&n&&f(t,a,n),n};let s=class extends c{constructor(){super(),this.menuId="",this.guests=4,this.hideBudget=!1,this.isCustomMenu=!1,this.currentMenuModal=!1,this.budget=0,this.generatingLoader=!1,this.analyticsPath="/meals-planner/dashboard",this.styleURL=new URL("./planner/planner-form/planner-form.css",this.getBaseURL())}render(){return i`
2
2
  <div class="mealz-planner-form">
3
3
  <img class="mealz-planner-form__logo"
4
4
  src="https://storage.googleapis.com/assets.miam.tech/generic/images/meals-planner_logo.svg" alt="Meals Planner"/>
@@ -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,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);
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}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as M}from"../../assets/custom-element-BhZVzxrc.js";import{m as o}from"../../assets/mealz-sdk-DWLzEfKz.js";import{t as c}from"../../assets/take-BmqRVy-3.js";import"../../assets/property-Bg80vXcm.js";import"../planner-current-menu-modal/planner-current-menu-modal.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-MRC87lfr.js";import"../../onboarding/events.min.js";import"../../assets/switchMap-vA0vSKy4.js";import"../../assets/innerFrom-CVMPVEmB.js";import"../../assets/OperatorSubscriber-z_a6lCKk.js";import"../../assets/empty-DGYYDWIm.js";import"../../assets/state-bsKs-Mb2.js";var f=Object.getOwnPropertyDescriptor,y=(e,t,s,n)=>{for(var r=n>1?void 0:n?f(t,s):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(r=a(r)||r);return r};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:r,menuId:i,recipesId:a,currentMenuPageUrl:l,recipeImgs:m}=JSON.parse(e);this.isCustomMenu=t,this.storeId=n,this.hasCustomRecipes=r,this.menuId=i,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 r=()=>{s&&n&&this.redirectToMenu()};e.addEventListener("basketComplete",()=>{s=!0,r()}),this.addRecipesSequentially(0,t,()=>{n=!0,r()})}addRecipesSequentially(e,t,s){var i,a;if(e>=this.recipeIds.length){s&&s();return}const n=(a=(i=o.recipes)==null?void 0:i.productsPlannerByCategory$)==null?void 0:a.value,r=(n==null?void 0:n.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,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);
@@ -1 +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};
1
+ import{t as m}from"../../assets/custom-element-BhZVzxrc.js";import{n as l}from"../../assets/property-Bg80vXcm.js";import{r as d}from"../../assets/state-bsKs-Mb2.js";import{M as g}from"../../onboarding/onboarding.min.js";import{N as b}from"../../assets/no-shadow-element-DlGA0h9b.js";import{O as h,b as v,c as y}from"../../onboarding/events.min.js";import{t as _,a as z,b as p,c as C}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-DWLzEfKz.js";function c(e,t=".mealz-planner-current-menu__mobile-header",s="(max-width: 768px)"){const o=e.querySelector(t);return o?window.getComputedStyle(o).display!=="none":window.matchMedia(s).matches}function f(e,t,s=".mealz-planner-current-menu__mobile-header",o="(max-width: 768px)"){const n=()=>{const i=c(e,s,o);t(i)};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)}var O=Object.defineProperty,T=Object.getOwnPropertyDescriptor,u=(e,t,s,o)=>{for(var n=o>1?void 0:o?T(t,s):t,i=e.length-1,r;i>=0;i--)(r=e[i])&&(n=(o?r(t,s,n):r(n))||n);return o&&n&&O(t,s,n),n};const S={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 a=class extends b{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){super.connectedCallback(),this.isMobile=c(document),this.initOnboarding(),this.removeResponsiveListener=f(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new g,this.onboardingComponent.configurations=S,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,s;(e=this.onboardingComponent)==null||e.addEventListener(h,()=>{var o;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((o=this.onboardingComponent)!=null&&o.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(v,o=>{var r;const i=((r=o.detail)==null?void 0:r.stepIndex)??0;z(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,p(this.mapTypeForAnalytics(this.type),this.currentStep)}),(s=this.onboardingComponent)==null||s.addEventListener(y,()=>{C(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;this.onboardingComponent.type=this.type;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",this.currentStep=1,this.isTourActive=!1,setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),p(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"guide":case"guide-mobile":return"guide";case"recipe-details":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:return"personal"}}};u([l({type:Boolean})],a.prototype,"isCustomMenu",2);u([l({type:String})],a.prototype,"type",2);u([d()],a.prototype,"isMobile",2);a=u([m("mealz-planner-onboarding")],a);export{a as M,f as a,c as i};
@@ -1 +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}
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:auto}.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}
@@ -1,4 +1,4 @@
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`
1
+ import{N as m,k as e}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as d}from"../../assets/custom-element-BhZVzxrc.js";import{r as g}from"../../assets/state-bsKs-Mb2.js";import{d as c,e as u,f as b,g as h,h as v,i as z}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-DWLzEfKz.js";import"../../assets/property-Bg80vXcm.js";var _=Object.defineProperty,x=Object.getOwnPropertyDescriptor,p=(t,n,a,o)=>{for(var s=o>1?void 0:o?x(n,a):n,r=t.length-1,l;r>=0;r--)(l=t[r])&&(s=(o?l(n,a,s):l(s))||s);return o&&s&&_(n,a,s),s};let i=class extends m{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.analyticsPath="/meals-planner/onboarding",this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step0.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step0-mobile.png",title:"Retrouvez votre Choisissez votre style",content:"Découvrez notre Sélection du moment pour gagner du temps, ou créez un Menu personnalisé adapté à vos goûts et à votre budget."},{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
2
  Ajoutez-la en 1 clic à votre menu grâce au bouton
3
3
  <span class="mealz-ds-text weight-xl">"Ajouter au menu"</span>.
4
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`
@@ -12,11 +12,11 @@ import{N as g,k as e}from"../../assets/no-shadow-element-l9trQfcI.js";import{t a
12
12
  Quand votre menu sera terminé, utilisez le bouton
13
13
  <span class="mealz-ds-text weight-xl">"Mettre le menu au panier"</span>
14
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`
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)}onModalDisplayed(){c(this.step)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.boundHandleResize)}handleResize(){this.isMobile=window.innerWidth<=768}render(){const{imgDesktop:t,imgMobile:n,title:a,content:o}=this.steps[this.step-1],s=this.isMobile?n:t;return e`
16
16
  <div class="mealz-planner-onboarding-modal">
17
17
  <div class="mealz-planner-onboarding-modal__body">
18
18
  <div class="mealz-planner-onboarding-modal__content step${this.step}">
19
- <img class="mealz-planner-onboarding-modal__img" src="${n}">
19
+ <img class="mealz-planner-onboarding-modal__img" src="${s}">
20
20
  <span class="mealz-planner-onboarding-modal__title mealz-ds-text size-m weight-xxl">
21
21
  ${a}
22
22
  </span>
@@ -30,15 +30,15 @@ import{N as g,k as e}from"../../assets/no-shadow-element-l9trQfcI.js";import{t a
30
30
  </div>
31
31
  ${this.renderNavigationButtons()}
32
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`
33
+ `}renderStepIndicators(){return this.steps.map((t,n)=>e`
34
+ <div class="mealz-planner-onboarding-modal__indicator ${this.step===n+1?"active":""}"></div>
35
+ `)}renderNavigationButtons(){const t=this.step===this.steps.length;return e`
36
36
  <div class="mealz-planner-onboarding-modal__navigation-buttons">
37
37
  <button @click="${()=>this.previousStep()}"
38
38
  class="mealz-planner-onboarding-modal__previous mealz-ds-button ${this.step===1?"hidden":""}">
39
39
  <span class="mealz-ds-text size-s weight-xl">Précédent </span>
40
40
  </button>
41
- ${s?e`
41
+ ${t?e`
42
42
  <button @click="${()=>this.closeModal()}"
43
43
  class="mealz-planner-onboarding-modal__next mealz-ds-button primary">
44
44
  <span class="mealz-ds-text size-s weight-xl">J'ai compris</span>
@@ -50,4 +50,4 @@ import{N as g,k as e}from"../../assets/no-shadow-element-l9trQfcI.js";import{t a
50
50
  </button>
51
51
  `}
52
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);
53
+ `}previousStep(){u(this.step),this.step=Math.max(this.step-1,1),this.onModalDisplayed()}nextStep(){b(this.step),this.step=Math.min(this.step+1,this.steps.length),this.onModalDisplayed()}closeModal(){h(this.step),this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}closeModalViaX(){v(this.step),this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}onQuestionMarkClick(t="dashboard"){z(t)}};p([g()],i.prototype,"step",2);p([g()],i.prototype,"isMobile",2);i=p([d("mealz-planner-onboarding-modal")],i);
@@ -1,4 +1,4 @@
1
- import{N as m,k as r}from"../../assets/no-shadow-element-l9trQfcI.js";import{M as d}from"../../modal/modal.min.js";import{t as c}from"../../assets/custom-element-BhZVzxrc.js";import"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";var i=Object.getOwnPropertyDescriptor,u=(e,n,p,l)=>{for(var a=l>1?void 0:l?i(n,p):n,t=e.length-1,s;t>=0;t--)(s=e[t])&&(a=s(a)||a);return a};let o=class extends m{constructor(){super(),this.styleURL=new URL("./planner/planner-open-catalog-modal/planner-open-catalog-modal.css",this.getBaseURL())}displayMealzPlannerOpenCatalogModal(){const e=new d;document.body.appendChild(this),e.titleSlot=r`<span>Rien à votre goût ?</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>{this.remove()})}openCatalog(){const e=new CustomEvent("openCatalog");this.dispatchEvent(e),this.remove()}closeModal(){const e=new CustomEvent("refuse");this.dispatchEvent(e),this.remove()}renderModal(){return r`
1
+ import{N as m,k as r}from"../../assets/no-shadow-element-DlGA0h9b.js";import{M as d}from"../../modal/modal.min.js";import{t as i}from"../../assets/custom-element-BhZVzxrc.js";import"../../assets/mealz-sdk-DWLzEfKz.js";import"../../assets/property-Bg80vXcm.js";import"../../assets/unsafe-html-MRC87lfr.js";import"../../onboarding/events.min.js";var c=Object.getOwnPropertyDescriptor,u=(e,n,p,l)=>{for(var a=l>1?void 0:l?c(n,p):n,t=e.length-1,s;t>=0;t--)(s=e[t])&&(a=s(a)||a);return a};let o=class extends m{constructor(){super(),this.styleURL=new URL("./planner/planner-open-catalog-modal/planner-open-catalog-modal.css",this.getBaseURL())}displayMealzPlannerOpenCatalogModal(){const e=new d;document.body.appendChild(this),e.titleSlot=r`<span>Rien à votre goût ?</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>{this.remove()})}openCatalog(){const e=new CustomEvent("openCatalog");this.dispatchEvent(e),this.remove()}closeModal(){const e=new CustomEvent("refuse");this.dispatchEvent(e),this.remove()}renderModal(){return r`
2
2
  <div class="mealz-planner-open-catalog-modal__content">
3
3
  <div class="mealz-planner-open-catalog-modal__description">
4
4
  <span class="mealz-ds-text size-m">
@@ -15,4 +15,4 @@ import{N as m,k as r}from"../../assets/no-shadow-element-l9trQfcI.js";import{M a
15
15
  Ouvrir le catalogue
16
16
  </button>
17
17
  </div>
18
- `}};o=u([c("mealz-planner-open-catalog-modal")],o);customElements.get("mealz-planner-open-catalog-modal")||customElements.define("mealz-planner-open-catalog-modal",o);export{o as M};
18
+ `}};o=u([i("mealz-planner-open-catalog-modal")],o);customElements.get("mealz-planner-open-catalog-modal")||customElements.define("mealz-planner-open-catalog-modal",o);export{o as M};
@@ -1 +1 @@
1
- import{N as l,m as p}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as o}from"../../assets/custom-element-BhZVzxrc.js";var d=Object.getOwnPropertyDescriptor,u=(e,r,n,s)=>{for(var t=s>1?void 0:s?d(r,n):r,i=e.length-1,a;i>=0;i--)(a=e[i])&&(t=a(t)||t);return t};let c=class extends l{get selectors(){return{title:".mealz-planner-current-menu__recipe-title",overlay:".mealz-planner-recipe-card__in-basket",removeButton:".mealz-planner-recipe-card__remove-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;if(!e)return;const{recipeId:r,recipeIndex:n,guests:s}=JSON.parse(e);this.recipeId=r,this.recipeIndex=n,this.guests=s,this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("title",()=>this.handleRecipeClick()),this.addClickListener("overlay",()=>this.handleRecipeClick()),this.addClickListener("removeButton",()=>this.removeRecipe())}handleRecipeClick(){this.openRecipeDetails(),this.updateDisplayedRecipe()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests)}updateDisplayedRecipe(){if(!this.recipeId||this.recipeIndex===void 0)return;const e=document.querySelector(".mealz-planner-recipe-suggestion__meals-count"),r=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!e||!r.length)return;const n=e.querySelector(".primary");if(Array.from(e.children).indexOf(n)===this.recipeIndex)return;const t=r[this.recipeIndex],i=document.querySelector("mealz-planner-recipe-suggestion");i==null||i.handleRecipeSelect(r,t,this.recipeIndex)}removeRecipe(){const e=document.querySelector("mealz-planner-recipe-suggestion");e&&e.removeRecipe(this.recipeId).subscribe()}updateRecipeIndex(e){this.recipeIndex=e}};c=u([o("mealz-planner-recipe-card")],c);customElements.get("mealz-planner-recipe-card")||customElements.define("mealz-planner-recipe-card",c);
1
+ import{N as l}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as o}from"../../assets/custom-element-BhZVzxrc.js";import{m as p}from"../../assets/mealz-sdk-DWLzEfKz.js";var d=Object.getOwnPropertyDescriptor,u=(e,r,n,s)=>{for(var t=s>1?void 0:s?d(r,n):r,i=e.length-1,a;i>=0;i--)(a=e[i])&&(t=a(t)||t);return t};let c=class extends l{get selectors(){return{title:".mealz-planner-current-menu__recipe-title",overlay:".mealz-planner-recipe-card__in-basket",removeButton:".mealz-planner-recipe-card__remove-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;if(!e)return;const{recipeId:r,recipeIndex:n,guests:s}=JSON.parse(e);this.recipeId=r,this.recipeIndex=n,this.guests=s,this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("title",()=>this.handleRecipeClick()),this.addClickListener("overlay",()=>this.handleRecipeClick()),this.addClickListener("removeButton",()=>this.removeRecipe())}handleRecipeClick(){this.openRecipeDetails(),this.updateDisplayedRecipe()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests)}updateDisplayedRecipe(){if(!this.recipeId||this.recipeIndex===void 0)return;const e=document.querySelector(".mealz-planner-recipe-suggestion__meals-count"),r=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!e||!r.length)return;const n=e.querySelector(".primary");if(Array.from(e.children).indexOf(n)===this.recipeIndex)return;const t=r[this.recipeIndex],i=document.querySelector("mealz-planner-recipe-suggestion");i==null||i.handleRecipeSelect(r,t,this.recipeIndex)}removeRecipe(){const e=document.querySelector("mealz-planner-recipe-suggestion");e&&e.removeRecipe(this.recipeId).subscribe()}updateRecipeIndex(e){this.recipeIndex=e}};c=u([o("mealz-planner-recipe-card")],c);customElements.get("mealz-planner-recipe-card")||customElements.define("mealz-planner-recipe-card",c);
@@ -1 +1 @@
1
- import{N as c,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{b as p}from"../../assets/http-aOzufNsj.js";import{t as l}from"../../assets/custom-element-BhZVzxrc.js";import{t as m}from"../../assets/take-DO4w5a1Y.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";var u=Object.getOwnPropertyDescriptor,h=(e,t,s,n)=>{for(var r=n>1?void 0:n?u(t,s):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(r=i(r)||r);return r};let d=class extends c{constructor(){super(...arguments),this.recipesIdInBasket=[]}get selectors(){return{addToMenuCard:".mealz-planner-recipe-list__add-to-menu",recipeCardsContainer:".mealz-planner-recipe-list__in-menu"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.getRecipesInBasket(),this.addEventListeners()}render(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;e&&(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"))}addEventListeners(){this.addClickListener("addToMenuCard",()=>{this.openCatalogDrawer()})}openCatalogDrawer(){const e=document.querySelector("mealz-planner-current-menu");e==null||e.openCatalogDrawer()}async addRecipeCardToList(e){const t=new URLSearchParams;t.append("recipe_id",e),t.append("recipe_index",this.menuRecipeCount.toString()),this.storeId&&t.append("store_id",this.storeId);const n=await(await fetch(this.recipeCardURL+"?"+t.toString(),{method:"GET",headers:p(this.sessionId)})).text(),{recipeCardsContainer:r}=this.elements;if(r.insertAdjacentHTML("beforeend",n),this.recipesIdInBasket.includes(e)){const a=r.lastElementChild;a&&this.addInBasketOverlay(a)}this.menuRecipeCount++}removeRecipeCardFromList(e){const{recipeCardsContainer:t}=this.elements;t.children[e].remove(),this.menuRecipeCount--,this.updateRemainingRecipeIndexes()}updateRemainingRecipeIndexes(){(document.querySelectorAll("mealz-planner-recipe-card")||[]).forEach((t,s)=>{t.updateRecipeIndex(s)})}getRecipesInBasket(){o.basket.recipePricesInBasket$().pipe(m(1)).subscribe(e=>this.recipesIdInBasket=e.map(t=>t.id))}addInBasketOverlay(e){e.querySelector(".mealz-planner-recipe-card__in-basket").classList.remove("hidden")}};d=h([l("mealz-planner-recipe-list")],d);
1
+ import{N as c}from"../../assets/no-shadow-element-DlGA0h9b.js";import{b as o}from"../../assets/http-BGziD2u2.js";import{t as p}from"../../assets/custom-element-BhZVzxrc.js";import{m as l}from"../../assets/mealz-sdk-DWLzEfKz.js";import{t as m}from"../../assets/take-BmqRVy-3.js";import"../../assets/empty-DGYYDWIm.js";import"../../assets/OperatorSubscriber-z_a6lCKk.js";var u=Object.getOwnPropertyDescriptor,h=(e,t,s,n)=>{for(var r=n>1?void 0:n?u(t,s):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(r=i(r)||r);return r};let d=class extends c{constructor(){super(...arguments),this.recipesIdInBasket=[]}get selectors(){return{addToMenuCard:".mealz-planner-recipe-list__add-to-menu",recipeCardsContainer:".mealz-planner-recipe-list__in-menu"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.getRecipesInBasket(),this.addEventListeners()}render(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;e&&(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"))}addEventListeners(){this.addClickListener("addToMenuCard",()=>{this.openCatalogDrawer()})}openCatalogDrawer(){const e=document.querySelector("mealz-planner-current-menu");e==null||e.openCatalogDrawer()}async addRecipeCardToList(e){const t=new URLSearchParams;t.append("recipe_id",e),t.append("recipe_index",this.menuRecipeCount.toString()),this.storeId&&t.append("store_id",this.storeId);const n=await(await fetch(this.recipeCardURL+"?"+t.toString(),{method:"GET",headers:o(this.sessionId)})).text(),{recipeCardsContainer:r}=this.elements;if(r.insertAdjacentHTML("beforeend",n),this.recipesIdInBasket.includes(e)){const a=r.lastElementChild;a&&this.addInBasketOverlay(a)}this.menuRecipeCount++}removeRecipeCardFromList(e){const{recipeCardsContainer:t}=this.elements;t.children[e].remove(),this.menuRecipeCount--,this.updateRemainingRecipeIndexes()}updateRemainingRecipeIndexes(){(document.querySelectorAll("mealz-planner-recipe-card")||[]).forEach((t,s)=>{t.updateRecipeIndex(s)})}getRecipesInBasket(){l.basket.recipePricesInBasket$().pipe(m(1)).subscribe(e=>this.recipesIdInBasket=e.map(t=>t.id))}addInBasketOverlay(e){e.querySelector(".mealz-planner-recipe-card__in-basket").classList.remove("hidden")}};d=h([p("mealz-planner-recipe-list")],d);
@@ -1 +1 @@
1
- import{N as h,v as m,S as f,m as p}from"../../assets/no-shadow-element-l9trQfcI.js";import{R as S}from"../../assets/recipe-BwGs-blm.js";import{t as R}from"../../assets/custom-element-BhZVzxrc.js";import{d as v}from"../../assets/debounceTime-Bo5F3ux-.js";import{o as L}from"../../assets/of-BTA69Qgj.js";import{t as d}from"../../assets/take-DO4w5a1Y.js";import{t as C}from"../../assets/tap-BCGrRktL.js";import"../../assets/async-D3oCs_PQ.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/from-jBe2xW5a.js";import"../../assets/executeSchedule-DfyZaGAH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/empty-Cv-4tfKR.js";var B=Object.getOwnPropertyDescriptor,b=(e,t,s,i)=>{for(var n=i>1?void 0:i?B(t,s):t,o=e.length-1,r;o>=0;o--)(r=e[o])&&(n=r(n)||n);return n};let g=class extends h{constructor(){super(...arguments),this.recipeId="",this.isDragging=!1,this.dragStartX=0,this.initialScrollLeft=0,this.layoutObserver=null,this.menuRecipes=[],this.suggestedRecipes=[],this.buttonClickHandlers=new Map,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f}get selectors(){return{buttonsContainer:".mealz-planner-recipe-suggestion__meals-count",title:".mealz-planner-current-menu__recipe-title",removeButtons:".mealz-planner-recipe-suggestion__actions-remove",removeButton:".mealz-planner-recipe-suggestion__actions-remove-button",swapButton:".mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion__see-recipe",promotion:".mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion__recipe-sponsor",addAndSwapButtons:".mealz-planner-recipe-suggestion__actions-add-and-swap",buttons:[".mealz-planner-recipe-suggestion__meals-count-button"],activeButton:".mealz-planner-recipe-suggestion__meals-count-button.primary",pictureContainer:".mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion__picture img",sponsorImg:".mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(v(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges()}disconnectedCallback(){super.disconnectedCallback(),this.layoutObserver&&this.layoutObserver.disconnect(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}render(){const{buttonsContainer:e,buttons:t}=this.elements;!e||!t.length||this.mealsCountButtonsListener(t)}firstUpdated(){var i,n;const{buttonsContainer:e,buttons:t}=this.elements;if(!e||!t.length)return;this.initScrolling(e,t),this.initDragScrolling(e);const s=(i=this.attributes["starting-data"])==null?void 0:i.value;s&&(Object.assign(this,JSON.parse(s)),this.recipeId=(n=this.recipeDisplayed)==null?void 0:n.id,t.length===1&&this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addClickListener("removeButton",()=>this.removeRecipe().subscribe()),this.addClickListener("swapButton",()=>this.swapRecipeClick$.next()),this.addClickListener("addButton",()=>this.addRecipe()),this.addClickListener("title",()=>this.openRecipeDetails()),this.addClickListener("seeRecipe",()=>this.openRecipeDetails()),this.addClickListener("pictureContainer",()=>this.openRecipeDetails())}mealsCountButtonsListener(e){e.forEach((t,s)=>{const i=this.buttonClickHandlers.get(t);i&&t.removeEventListener("click",i);const n=()=>this.handleRecipeSelect(e,t,s);this.buttonClickHandlers.set(t,n),t.addEventListener("click",n)})}handleRecipeSelect(e,t,s){e.forEach(i=>i.classList.remove("primary")),t.classList.add("primary"),this.updateDisplayedRecipe(!1,s),s+1===e.length&&this.suggestionShownEvent(),this.scrollToButton(t)}updateDisplayedRecipe(e=!1,t){const{title:s,promotion:i,sponsor:n,addAndSwapButtons:o,removeButtons:r,picture:c,sponsorImg:l}=this.elements;if(!c||!s||!i||!n||!l||!o||!r)return;const a=this.getRecipeToDisplay(e,t);if(!a)return;const u=new S;Object.assign(u,a),this.recipeId=a.id,this.initializeUIState(c,i,n),this.setupImageHandlers(c,l,n,u,s,i,o,r,t)}getRecipeToDisplay(e,t){return e?this.suggestedRecipes[0]:this.menuRecipes[t]||this.suggestedRecipes[0]}initializeUIState(e,t,s){e.classList.add("loading"),t.classList.add("hidden"),s.classList.add("hidden")}setupImageHandlers(e,t,s,i,n,o,r,c,l){let a=null;const u=()=>{a&&(clearTimeout(a),a=null),this.updateRecipeUI(e,s,n,o,r,c,i,l)};if(e.onload=u,e.onerror=u,i.attributes["media-url"])e.src=i.attributes["media-url"];else{u();return}i.sponsorLogoUrl&&(t.src=i.sponsorLogoUrl),a=window.setTimeout(u,1e3)}updateRecipeUI(e,t,s,i,n,o,r,c){e.classList.remove("loading"),r.sponsorLogoUrl&&t.classList.remove("hidden"),s.textContent=r.attributes.title||"",i.classList.toggle("hidden",!r.discounted);const l=!!this.menuRecipes[c];n.classList.toggle("hidden",l),o.classList.toggle("hidden",!l)}addRecipe(){this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");if(!e){this.toggleLoadingButton(!1);return}e.addRecipe(this.recipeId,this.guests).subscribe({next:()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)},error:()=>{this.toggleLoadingButton(!1)}})}toggleLoadingButton(e){const t=this.selectors.addButton,s=this.querySelector(t);s&&s.classList.toggle("loading",e)}addAndSelectNewSuggestion(e){!e||this.suggestedRecipes[0].id===e.id?(this.menuRecipes.push(this.suggestedRecipes[0]),this.removeSuggestedRecipe()):this.menuRecipes.push(e),this.addNewMealCountButton(),this.selectNewSuggestion(),this.addCheckIconToButton(),this.requestUpdate()}addNewMealCountButton(){var n;const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-1],s=t.cloneNode(!0);s.classList.remove("primary");const i=s.querySelector("span");if(i){const o=(n=i.textContent)==null?void 0:n.match(/\d+/);if(o){const r=parseInt(o[0],10)+1;i.textContent=i.textContent.replace(/\d+/,r.toString())}}t.after(s)}selectNewSuggestion(){this.initSelectors("buttons");const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-1];this.handleRecipeSelect(e,t,e.length-1)}addCheckIconToButton(){this.initSelectors("buttons");const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-2],s=document.createElement("img");s.src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Check.svg",s.alt="check icon",t.appendChild(s)}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?L():s.removeRecipe(t).pipe(d(1),C(()=>{const i=this.menuRecipes.findIndex(n=>n.id===t);i!==-1&&(this.removeRecipeFromMenu(i),this.removeButtonFromContainer(i),this.updateButtonsCount())}))}removeButtonFromContainer(e){const{buttonsContainer:t,buttons:s}=this.elements;if(!t||!s.length)return;const i=s[e];if(i.classList.contains("primary")){const n=+e+1,o=s[n];this.handleRecipeSelect(s,o,e)}i.remove()}removeRecipeFromMenu(e){this.menuRecipes.splice(e,1)}updateButtonsCount(){this.initSelectors("buttons");const{buttons:e}=this.elements;e.forEach((t,s)=>{var n;const i=t.querySelector("span");if(i&&((n=i.textContent)==null?void 0:n.match(/\d+/))){const r=s+1;i.textContent=i.textContent.replace(/\d+/,r.toString())}}),this.requestUpdate()}swapRecipe(){p.planner.rejectRecipe(this.recipeId).pipe(d(1)).subscribe(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.removeSuggestedRecipe(),this.updateDisplayedRecipe(!0)}removeSuggestedRecipe(){this.suggestedRecipes.shift(),this.suggestedRecipes.length<3&&p.planner.getSuggestedRecipes().pipe(d(1)).subscribe(e=>{this.suggestedRecipes=[...this.suggestedRecipes,...e]})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}initScrolling(e,t){t.length>0&&t[0].offsetWidth>0?this.centerActiveButton(e,t):this.waitForButtonLayout(e,t)}centerActiveButton(e,t){this.initSelectors("activeButton");const{activeButton:s}=this.elements;this.setPadding(e,t),s&&this.scrollToButton(s,"instant")}waitForButtonLayout(e,t){const s=new ResizeObserver(()=>{t.length>0&&t[0].offsetWidth>0&&(this.centerActiveButton(e,t),s.disconnect())});t.forEach(i=>s.observe(i))}initDragScrolling(e){e.addEventListener("mousedown",t=>this.startDrag(t,e)),e.addEventListener("mouseleave",()=>this.stopDrag()),e.addEventListener("mouseup",()=>this.stopDrag()),e.addEventListener("mousemove",t=>this.onDrag(t,e))}refreshSuggestions(){p.planner.getSuggestedRecipes().pipe(d(1)).subscribe(e=>{var n;this.suggestedRecipes=e,this.initSelectors("buttons","activeButton");const{buttons:t,activeButton:s}=this.elements;if(!!(t!=null&&t.length)&&s===t[t.length-1]&&this.suggestedRecipes.length>0){const o=this.suggestedRecipes[0];((n=this.recipeDisplayed)==null?void 0:n.id)!==o.id&&(this.recipeDisplayed=o,this.updateDisplayedRecipe(!0),this.requestUpdate())}})}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>this.refreshSuggestions()))}setPadding(e,t){const s=t[0].offsetWidth,i=t[t.length-1].offsetWidth;e.style.paddingLeft=`calc(50% - ${s/2}px)`,e.style.paddingRight=`calc(50% - ${i/2}px)`}scrollToButton(e,t="smooth"){if(!e||!e.parentElement)return;const s=e.parentElement,n=Array.from(this.elements.buttons).indexOf(e);if(n===-1)return;const o=window.getComputedStyle(s),r=parseFloat(o.paddingLeft||"0"),c=window.getComputedStyle(e),l=parseFloat(c.marginRight||"0");let a=e.offsetLeft-r;a+=l*n,s.scrollTo({left:a,behavior:t})}startDrag(e,t){this.isDragging=!0,this.dragStartX=e.pageX-t.offsetLeft,this.initialScrollLeft=t.scrollLeft}stopDrag(){this.isDragging=!1}onDrag(e,t){if(!this.isDragging)return;e.preventDefault();const s=e.pageX-t.offsetLeft;t.scrollLeft=this.initialScrollLeft-(s-this.dragStartX)}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId})}};g=b([R("mealz-planner-recipe-suggestion")],g);
1
+ import{N as h,q as m,S as f}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as S}from"../../assets/custom-element-BhZVzxrc.js";import{m as p}from"../../assets/mealz-sdk-DWLzEfKz.js";import{d as b}from"../../assets/debounceTime-CIA2MWDj.js";import{o as R}from"../../assets/of-CH-D5SN9.js";import{t as g}from"../../assets/take-BmqRVy-3.js";import{t as v}from"../../assets/tap-C4xC1M3N.js";import"../../assets/async-H-Co76Oa.js";import"../../assets/OperatorSubscriber-z_a6lCKk.js";import"../../assets/from-Btz8AgkO.js";import"../../assets/executeSchedule-CTqB8mra.js";import"../../assets/innerFrom-CVMPVEmB.js";import"../../assets/empty-DGYYDWIm.js";class L{constructor(){this.attributes={title:"","ext-id":"","ext-link":"",description:"","number-of-guests":"","preparation-time":"","preheating-time":"","cooking-time":"","resting-time":"","media-url":"",source:"","informational-page-html":"","filigrane-logo-url":"","informational-sentence":"","order-history":"",difficulty:1,cost:1,suggested:!1,popularity:0,"video-id":"",promoted:!1,editable:!1,position:-1},this.ttl=3600,this.finalTimer=this.attributes["preparation-time"]+this.attributes["preheating-time"]+this.attributes["cooking-time"]+this.attributes["resting-time"]}get title(){return this.attributes.title}get promoted(){return this.attributes.promoted}get guests(){return this.attributes["number-of-guests"]}set guests(t){this.attributes["number-of-guests"]=t}get filigraneLogoUrl(){return this.attributes["filigrane-logo-url"]?this.attributes["filigrane-logo-url"]:null}get sponsorName(){return this.relationships.sponsors.length>0?this.relationships.sponsors[0].attributes.name:null}get sponsorLogoUrl(){var t;return this.relationships.sponsors.data.length>0&&((t=this.included)!=null&&t.length)?this.included.find(s=>s.id===this.relationships.sponsors.data[0].id&&s.type==="sponsors").attributes["logo-url"]:null}get informationalSentence(){return this.attributes["informational-sentence"]}get costLabel(){switch(this.attributes.cost){case 1:return"faible";case 2:return"moyen";case 3:return"élevé";default:return"moyen"}}get orderHistory(){return this.attributes["order-history"]}get preparationTime(){}get cookingTime(){}get restingTime(){}get difficulty(){return this.attributes.difficulty}set difficulty(t){this.attributes.difficulty=t}}var w=Object.getOwnPropertyDescriptor,C=(e,t,s,i)=>{for(var n=i>1?void 0:i?w(t,s):t,r=e.length-1,o;r>=0;r--)(o=e[r])&&(n=o(n)||n);return n};let d=class extends h{constructor(){super(...arguments),this.recipeId="",this.isDragging=!1,this.dragStartX=0,this.initialScrollLeft=0,this.layoutObserver=null,this.menuRecipes=[],this.suggestedRecipes=[],this.buttonClickHandlers=new Map,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f,this.lastShownRecipeId=null}get selectors(){return{buttonsContainer:".mealz-planner-recipe-suggestion__meals-count",title:".mealz-planner-current-menu__recipe-title",removeButtons:".mealz-planner-recipe-suggestion__actions-remove",removeButton:".mealz-planner-recipe-suggestion__actions-remove-button",swapButton:".mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion__see-recipe",promotion:".mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion__recipe-sponsor",addAndSwapButtons:".mealz-planner-recipe-suggestion__actions-add-and-swap",buttons:[".mealz-planner-recipe-suggestion__meals-count-button"],activeButton:".mealz-planner-recipe-suggestion__meals-count-button.primary",pictureContainer:".mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion__picture img",sponsorImg:".mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(b(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges()}disconnectedCallback(){super.disconnectedCallback(),this.layoutObserver&&this.layoutObserver.disconnect(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}render(){const{buttonsContainer:e,buttons:t}=this.elements;!e||!t.length||this.mealsCountButtonsListener(t)}firstUpdated(){var i,n;const{buttonsContainer:e,buttons:t}=this.elements;if(!e||!t.length)return;this.initScrolling(e,t),this.initDragScrolling(e);const s=(i=this.attributes["starting-data"])==null?void 0:i.value;s&&(Object.assign(this,JSON.parse(s)),this.recipeId=(n=this.recipeDisplayed)==null?void 0:n.id,t.length===1&&this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addClickListener("removeButton",()=>this.removeRecipe().subscribe()),this.addClickListener("swapButton",()=>this.swapRecipeClick$.next()),this.addClickListener("addButton",()=>this.addRecipe()),this.addClickListener("title",()=>this.openRecipeDetails()),this.addClickListener("seeRecipe",()=>this.openRecipeDetails()),this.addClickListener("pictureContainer",()=>this.openRecipeDetails())}mealsCountButtonsListener(e){e.forEach((t,s)=>{const i=this.buttonClickHandlers.get(t);i&&t.removeEventListener("click",i);const n=()=>this.handleRecipeSelect(e,t,s);this.buttonClickHandlers.set(t,n),t.addEventListener("click",n)})}handleRecipeSelect(e,t,s){e.forEach(i=>i.classList.remove("primary")),t.classList.add("primary"),this.updateDisplayedRecipe(!1,s),s+1===e.length&&this.suggestionShownEvent(),this.scrollToButton(t)}updateDisplayedRecipe(e=!1,t){const{title:s,promotion:i,sponsor:n,addAndSwapButtons:r,removeButtons:o,picture:c,sponsorImg:l}=this.elements;if(!c||!s||!i||!n||!l||!r||!o)return;const a=this.getRecipeToDisplay(e,t);if(!a)return;const u=new L;Object.assign(u,a),this.recipeId=a.id,this.initializeUIState(c,i,n),this.setupImageHandlers(c,l,n,u,s,i,r,o,t)}getRecipeToDisplay(e,t){return e?this.suggestedRecipes[0]:this.menuRecipes[t]||this.suggestedRecipes[0]}initializeUIState(e,t,s){e.classList.add("loading"),t.classList.add("hidden"),s.classList.add("hidden")}setupImageHandlers(e,t,s,i,n,r,o,c,l){let a=null;const u=()=>{a&&(clearTimeout(a),a=null),this.updateRecipeUI(e,s,n,r,o,c,i,l)};if(e.onload=u,e.onerror=u,i.attributes["media-url"])e.src=i.attributes["media-url"];else{u();return}i.sponsorLogoUrl&&(t.src=i.sponsorLogoUrl),a=window.setTimeout(u,1e3)}updateRecipeUI(e,t,s,i,n,r,o,c){e.classList.remove("loading"),o.sponsorLogoUrl&&t.classList.remove("hidden"),s.textContent=o.attributes.title||"",i.classList.toggle("hidden",!o.discounted);const l=!!this.menuRecipes[c];n.classList.toggle("hidden",l),r.classList.toggle("hidden",!l)}addRecipe(){this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");if(!e){this.toggleLoadingButton(!1);return}e.addRecipe(this.recipeId,this.guests).subscribe({next:()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)},error:()=>{this.toggleLoadingButton(!1)}})}toggleLoadingButton(e){const t=this.selectors.addButton,s=this.querySelector(t);s&&s.classList.toggle("loading",e)}addAndSelectNewSuggestion(e){!e||this.suggestedRecipes[0].id===e.id?(this.menuRecipes.push(this.suggestedRecipes[0]),this.removeSuggestedRecipe()):this.menuRecipes.push(e),this.addNewMealCountButton(),this.selectNewSuggestion(),this.addCheckIconToButton(),this.requestUpdate()}addNewMealCountButton(){var n;const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-1],s=t.cloneNode(!0);s.classList.remove("primary");const i=s.querySelector("span");if(i){const r=(n=i.textContent)==null?void 0:n.match(/\d+/);if(r){const o=parseInt(r[0],10)+1;i.textContent=i.textContent.replace(/\d+/,o.toString())}}t.after(s)}selectNewSuggestion(){this.initSelectors("buttons");const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-1];this.handleRecipeSelect(e,t,e.length-1)}addCheckIconToButton(){this.initSelectors("buttons");const{buttons:e}=this.elements;if(!e.length)return;const t=e[e.length-2],s=document.createElement("img");s.src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Check.svg",s.alt="check icon",t.appendChild(s)}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?R():s.removeRecipe(t).pipe(g(1),v(()=>{const i=this.menuRecipes.findIndex(n=>n.id===t);i!==-1&&(this.removeRecipeFromMenu(i),this.removeButtonFromContainer(i),this.updateButtonsCount())}))}removeButtonFromContainer(e){const{buttonsContainer:t,buttons:s}=this.elements;if(!t||!s.length)return;const i=s[e];if(i.classList.contains("primary")){const n=+e+1,r=s[n];this.handleRecipeSelect(s,r,e)}i.remove()}removeRecipeFromMenu(e){this.menuRecipes.splice(e,1)}updateButtonsCount(){this.initSelectors("buttons");const{buttons:e}=this.elements;e.forEach((t,s)=>{var n;const i=t.querySelector("span");if(i&&((n=i.textContent)==null?void 0:n.match(/\d+/))){const o=s+1;i.textContent=i.textContent.replace(/\d+/,o.toString())}}),this.requestUpdate()}swapRecipe(){p.planner.rejectRecipe(this.recipeId).pipe(g(1)).subscribe(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.removeSuggestedRecipe(),this.updateDisplayedRecipe(!0),this.suggestionShownEvent()}removeSuggestedRecipe(){this.suggestedRecipes.shift(),this.suggestedRecipes.length<3&&p.planner.getSuggestedRecipes().pipe(g(1)).subscribe(e=>{this.suggestedRecipes=[...this.suggestedRecipes,...e]})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}initScrolling(e,t){t.length>0&&t[0].offsetWidth>0?this.centerActiveButton(e,t):this.waitForButtonLayout(e,t)}centerActiveButton(e,t){this.initSelectors("activeButton");const{activeButton:s}=this.elements;this.setPadding(e,t),s&&this.scrollToButton(s,"instant")}waitForButtonLayout(e,t){const s=new ResizeObserver(()=>{t.length>0&&t[0].offsetWidth>0&&(this.centerActiveButton(e,t),s.disconnect())});t.forEach(i=>s.observe(i))}initDragScrolling(e){e.addEventListener("mousedown",t=>this.startDrag(t,e)),e.addEventListener("mouseleave",()=>this.stopDrag()),e.addEventListener("mouseup",()=>this.stopDrag()),e.addEventListener("mousemove",t=>this.onDrag(t,e))}refreshSuggestions(){p.planner.getSuggestedRecipes().pipe(g(1)).subscribe(e=>{var n;this.suggestedRecipes=e,this.initSelectors("buttons","activeButton");const{buttons:t,activeButton:s}=this.elements;if(!!(t!=null&&t.length)&&s===t[t.length-1]&&this.suggestedRecipes.length>0){const r=this.suggestedRecipes[0];((n=this.recipeDisplayed)==null?void 0:n.id)!==r.id&&(this.recipeDisplayed=r,this.updateDisplayedRecipe(!0),this.requestUpdate())}})}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>this.refreshSuggestions()))}setPadding(e,t){const s=t[0].offsetWidth,i=t[t.length-1].offsetWidth;e.style.paddingLeft=`calc(50% - ${s/2}px)`,e.style.paddingRight=`calc(50% - ${i/2}px)`}scrollToButton(e,t="smooth"){if(!e||!e.parentElement)return;const s=e.parentElement,n=Array.from(this.elements.buttons).indexOf(e);if(n===-1)return;const r=window.getComputedStyle(s),o=parseFloat(r.paddingLeft||"0"),c=window.getComputedStyle(e),l=parseFloat(c.marginRight||"0");let a=e.offsetLeft-o;a+=l*n,s.scrollTo({left:a,behavior:t})}startDrag(e,t){this.isDragging=!0,this.dragStartX=e.pageX-t.offsetLeft,this.initialScrollLeft=t.scrollLeft}stopDrag(){this.isDragging=!1}onDrag(e,t){if(!this.isDragging)return;e.preventDefault();const s=e.pageX-t.offsetLeft;t.scrollLeft=this.initialScrollLeft-(s-this.dragStartX)}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){this.recipeId&&this.recipeId!==this.lastShownRecipeId&&(p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId}),this.lastShownRecipeId=this.recipeId)}};d=C([S("mealz-planner-recipe-suggestion")],d);
@@ -1,4 +1,4 @@
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`
1
+ import{N as p,k as r}from"../../assets/no-shadow-element-DlGA0h9b.js";import{M as d}from"../../modal/modal.min.js";import{t as u}from"../../assets/custom-element-BhZVzxrc.js";import{n as c}from"../../assets/property-Bg80vXcm.js";import{M as v}from"../../onboarding/events.min.js";import{b as h,j as M,k as b}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-DWLzEfKz.js";import"../../assets/unsafe-html-MRC87lfr.js";var g=Object.defineProperty,w=Object.getOwnPropertyDescriptor,m=(e,n,t,o)=>{for(var s=o>1?void 0:o?w(n,t):n,a=e.length-1,i;a>=0;a--)(i=e[a])&&(s=(o?i(n,t,s):i(s))||s);return o&&s&&g(n,t,s),s};let l=class extends p{constructor(){super(),this.isCustomMenu=!1,this.analyticsPath="/meals-planner/onboarding",this.styleURL=new URL("./planner/planner-welcome-modal/planner-welcome-modal.css",this.getBaseURL())}displayPlannerWelcomeModal(){const e=new d;document.body.appendChild(this);const n=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.titleSlot=r`<span>${n}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),h(this.isCustomMenu?"personal":"suggestion","welcome"),e.addEventListener(v,()=>{this.openGuideModal()})}openGuideModal(){M(this.isCustomMenu?"personal":"suggestion");const e=new CustomEvent("onboarding-skipped");this.dispatchEvent(e),this.remove()}startOnboardingTour(){b(this.isCustomMenu?"personal":"suggestion");const e=new CustomEvent("openOnboarding",{detail:{isCustomMenu:this.isCustomMenu}});this.dispatchEvent(e),this.remove()}renderModal(){const e=this.isCustomMenu?"Découvrez comment composer facilement votre menu selon vos envies.":"Découvrez le menu de la semaine que nous avons composé pour vous.";return r`
2
2
  <div class="mealz-planner-welcome-modal__content">
3
3
  <div class="mealz-planner-welcome-modal__description mealz-ds-text size-m">
4
4
  <span>${e}</span>
@@ -14,4 +14,4 @@ import{N as d,k as r}from"../../assets/no-shadow-element-l9trQfcI.js";import{M a
14
14
  </button>
15
15
  </div>
16
16
  </div>
17
- `}};m([u({type:Boolean})],i.prototype,"isCustomMenu",2);i=m([c("mealz-planner-welcome-modal")],i);export{i as M};
17
+ `}};m([c({type:Boolean})],l.prototype,"isCustomMenu",2);l=m([u("mealz-planner-welcome-modal")],l);export{l as M};
@@ -1,4 +1,4 @@
1
- import{N as n,k as c}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as m}from"../../assets/custom-element-BhZVzxrc.js";import{n as h}from"../../assets/property-leIVgCvV.js";import{r as d}from"../../assets/state-CccUMzBZ.js";var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(e,t,o,a)=>{for(var r=a>1?void 0:a?g(t,o):t,l=e.length-1,p;l>=0;l--)(p=e[l])&&(r=(a?p(t,o,r):p(r))||r);return a&&r&&u(t,o,r),r};let s=class extends n{constructor(){super(),this.recipeImgs=[],this.currentStep=0,this.displayedRecipes=[],this.isComplete=!1,this.backgroundImages=[],this.activeBackgroundIndex=0,this.preloadedImages=new Map,this.styleURL=new URL("./planner/to-basket-loader/to-basket-loader.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.scrollIntoView({behavior:"smooth",block:"center"}),this.preloadImages().then(()=>{this.startAnimation()})}async preloadImages(){if(!this.recipeImgs||this.recipeImgs.length===0)return Promise.resolve();const e=this.recipeImgs.map(t=>new Promise(o=>{const a=new Image;a.onload=()=>{this.preloadedImages.set(t,a),o()},a.onerror=()=>{o()},a.src=t}));return Promise.all(e).then(()=>{this.backgroundImages=[null,null]})}startAnimation(){this.displayedRecipes=[],this.recipeImgs.length>0&&(this.backgroundImages[0]=this.recipeImgs[0],this.activeBackgroundIndex=0);const e=()=>{if(this.currentStep<this.recipeImgs.length){const t=this.recipeImgs[this.currentStep];this.displayedRecipes=[...this.displayedRecipes,t],this.updateBackgroundImage(t),this.currentStep++,setTimeout(()=>{e()},1200)}else this.isComplete=!0,setTimeout(()=>{this.emitLoaderComplete()},1500)};setTimeout(()=>{e()},500)}updateBackgroundImage(e){const t=(this.activeBackgroundIndex+1)%2;this.backgroundImages[t]=e,this.activeBackgroundIndex=t,this.requestUpdate()}emitLoaderComplete(){this.dispatchEvent(new CustomEvent("basketComplete",{bubbles:!0,composed:!0}))}render(){return c`
1
+ import{N as n,k as c}from"../../assets/no-shadow-element-DlGA0h9b.js";import{t as m}from"../../assets/custom-element-BhZVzxrc.js";import{n as h}from"../../assets/property-Bg80vXcm.js";import{r as d}from"../../assets/state-bsKs-Mb2.js";import"../../assets/mealz-sdk-DWLzEfKz.js";var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(e,t,o,a)=>{for(var r=a>1?void 0:a?g(t,o):t,l=e.length-1,p;l>=0;l--)(p=e[l])&&(r=(a?p(t,o,r):p(r))||r);return a&&r&&u(t,o,r),r};let s=class extends n{constructor(){super(),this.recipeImgs=[],this.currentStep=0,this.displayedRecipes=[],this.isComplete=!1,this.backgroundImages=[],this.activeBackgroundIndex=0,this.preloadedImages=new Map,this.styleURL=new URL("./planner/to-basket-loader/to-basket-loader.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.scrollIntoView({behavior:"smooth",block:"center"}),this.preloadImages().then(()=>{this.startAnimation()})}async preloadImages(){if(!this.recipeImgs||this.recipeImgs.length===0)return Promise.resolve();const e=this.recipeImgs.map(t=>new Promise(o=>{const a=new Image;a.onload=()=>{this.preloadedImages.set(t,a),o()},a.onerror=()=>{o()},a.src=t}));return Promise.all(e).then(()=>{this.backgroundImages=[null,null]})}startAnimation(){this.displayedRecipes=[],this.recipeImgs.length>0&&(this.backgroundImages[0]=this.recipeImgs[0],this.activeBackgroundIndex=0);const e=()=>{if(this.currentStep<this.recipeImgs.length){const t=this.recipeImgs[this.currentStep];this.displayedRecipes=[...this.displayedRecipes,t],this.updateBackgroundImage(t),this.currentStep++,setTimeout(()=>{e()},1200)}else this.isComplete=!0,setTimeout(()=>{this.emitLoaderComplete()},1500)};setTimeout(()=>{e()},500)}updateBackgroundImage(e){const t=(this.activeBackgroundIndex+1)%2;this.backgroundImages[t]=e,this.activeBackgroundIndex=t,this.requestUpdate()}emitLoaderComplete(){this.dispatchEvent(new CustomEvent("basketComplete",{bubbles:!0,composed:!0}))}render(){return c`
2
2
  <div class="mealz-to-basket-loader ${this.isComplete?"complete":""}">
3
3
  ${this.backgroundImages.map((e,t)=>e?c`
4
4
  <div class="mealz-to-basket-loader__background ${t===this.activeBackgroundIndex?"active":""}"
@@ -1,4 +1,4 @@
1
- import{N as _,k as c,B as $,S,m as i}from"../assets/no-shadow-element-l9trQfcI.js";import{t as b}from"../assets/custom-element-BhZVzxrc.js";import{n as p}from"../assets/property-leIVgCvV.js";import{a as z}from"../assets/unsafe-html-CmALAWuN.js";import{r as u}from"../assets/state-CccUMzBZ.js";import{d as C}from"../assets/debounceTime-Bo5F3ux-.js";import{d as T}from"../assets/distinctUntilChanged-BkBiB4M3.js";import{s as k}from"../assets/switchMap-D8q0hRYH.js";import{f as x}from"../assets/filter-CEeE8t7I.js";import"../assets/async-D3oCs_PQ.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";var I=Object.defineProperty,q=Object.getOwnPropertyDescriptor,g=(e,s,r,a)=>{for(var t=a>1?void 0:a?q(s,r):s,n=e.length-1,l;n>=0;n--)(l=e[n])&&(t=(a?l(s,r,t):l(t))||t);return a&&t&&I(s,r,t),t};let h=class extends _{constructor(){super(),this.isCollapsed=!0,this.isCollapsedChangeEvent=new CustomEvent("isCollapsedChange",{detail:{isCollapsed:this.isCollapsed},bubbles:!0,composed:!0}),this.styleURL=new URL("./accordion/accordion.css",this.getBaseURL())}connectedCallback(){super.connectedCallback();const e=this.querySelector('[slot="title"]');e&&(this.titleSlot=e.innerHTML,e.remove());const s=this.querySelector('[slot="content"]');s&&(this.contentSlot=s.innerHTML,s.remove()),this.innerHTML=""}disconnectedCallback(){super.disconnectedCallback()}toggleAccordion(){this.isCollapsed=!this.isCollapsed,this.dispatchEvent(this.isCollapsedChangeEvent),this.requestUpdate()}updated(){this.classList.toggle("opened",!this.isCollapsed)}render(){return c`
1
+ import{N as _,k as c,B as $,S}from"../assets/no-shadow-element-DlGA0h9b.js";import{t as b}from"../assets/custom-element-BhZVzxrc.js";import{n as p}from"../assets/property-Bg80vXcm.js";import{a as z}from"../assets/unsafe-html-MRC87lfr.js";import{r as u}from"../assets/state-bsKs-Mb2.js";import{m as i}from"../assets/mealz-sdk-DWLzEfKz.js";import{d as C}from"../assets/debounceTime-CIA2MWDj.js";import{d as T}from"../assets/distinctUntilChanged-Ckq1Syk_.js";import{s as k}from"../assets/switchMap-vA0vSKy4.js";import{f as x}from"../assets/filter-DuHsB8oM.js";import"../assets/async-H-Co76Oa.js";import"../assets/OperatorSubscriber-z_a6lCKk.js";import"../assets/innerFrom-CVMPVEmB.js";var I=Object.defineProperty,q=Object.getOwnPropertyDescriptor,g=(e,s,r,a)=>{for(var t=a>1?void 0:a?q(s,r):s,n=e.length-1,l;n>=0;n--)(l=e[n])&&(t=(a?l(s,r,t):l(t))||t);return a&&t&&I(s,r,t),t};let h=class extends _{constructor(){super(),this.isCollapsed=!0,this.isCollapsedChangeEvent=new CustomEvent("isCollapsedChange",{detail:{isCollapsed:this.isCollapsed},bubbles:!0,composed:!0}),this.styleURL=new URL("./accordion/accordion.css",this.getBaseURL())}connectedCallback(){super.connectedCallback();const e=this.querySelector('[slot="title"]');e&&(this.titleSlot=e.innerHTML,e.remove());const s=this.querySelector('[slot="content"]');s&&(this.contentSlot=s.innerHTML,s.remove()),this.innerHTML=""}disconnectedCallback(){super.disconnectedCallback()}toggleAccordion(){this.isCollapsed=!this.isCollapsed,this.dispatchEvent(this.isCollapsedChangeEvent),this.requestUpdate()}updated(){this.classList.toggle("opened",!this.isCollapsed)}render(){return c`
2
2
  <button
3
3
  class="mealz-accordion__header"
4
4
  @click=${()=>this.toggleAccordion()}
@@ -1,4 +1,4 @@
1
- import{N as n,k as a,D as d}from"../assets/no-shadow-element-l9trQfcI.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{n as m}from"../assets/property-leIVgCvV.js";import{P as h}from"../assets/price-BoM226Kw.js";var u=Object.defineProperty,P=Object.getOwnPropertyDescriptor,l=(o,i,c,t)=>{for(var e=t>1?void 0:t?P(i,c):i,s=o.length-1,p;s>=0;s--)(p=o[s])&&(e=(t?p(i,c,e):p(e))||e);return t&&e&&u(i,c,e),e};let r=class extends n{constructor(){super(),this.priceService=h.getInstance(),this.styleURL=new URL("./price/price.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter()}renderOldPrice(){return a`
1
+ import{N as n,k as a,D as d}from"../assets/no-shadow-element-DlGA0h9b.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{n as m}from"../assets/property-Bg80vXcm.js";import{P as h}from"../assets/price-DcNF55ef.js";import"../assets/mealz-sdk-DWLzEfKz.js";var u=Object.defineProperty,P=Object.getOwnPropertyDescriptor,l=(o,i,c,t)=>{for(var e=t>1?void 0:t?P(i,c):i,s=o.length-1,p;s>=0;s--)(p=o[s])&&(e=(t?p(i,c,e):p(e))||e);return t&&e&&u(i,c,e),e};let r=class extends n{constructor(){super(),this.priceService=h.getInstance(),this.styleURL=new URL("./price/price.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter()}renderOldPrice(){return a`
2
2
  <div class="mealz-price__previous mealz-ds-text weight-l size-xs">
3
3
  ${this.priceService.priceTemplate(this.oldPrice)}
4
4
  </div>
@@ -1 +1 @@
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
+ import{N as w}from"../assets/no-shadow-element-DlGA0h9b.js";import{V as m}from"../assets/viewport-listener-BuonFDBs.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{h as y}from"../assets/session-handler-BiuedJFx.js";import{m as n}from"../assets/mealz-sdk-DWLzEfKz.js";import{f as d}from"../assets/filter-DuHsB8oM.js";import{s as b}from"../assets/switchMap-vA0vSKy4.js";import{c as L}from"../assets/combineLatest-DNi66MsF.js";import{t as l}from"../assets/take-BmqRVy-3.js";import"../assets/debounceTime-CIA2MWDj.js";import"../assets/async-H-Co76Oa.js";import"../assets/OperatorSubscriber-z_a6lCKk.js";import"../assets/innerFrom-CVMPVEmB.js";import"../assets/from-Btz8AgkO.js";import"../assets/executeSchedule-CTqB8mra.js";import"../assets/mapOneOrManyArgs-Do0PsDok.js";import"../assets/map-oxUcVNGT.js";import"../assets/empty-DGYYDWIm.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 +1 @@
1
- import{N as l,m as p}from"../assets/no-shadow-element-l9trQfcI.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{m as u}from"../assets/map-C4rf5Jbc.js";import{d}from"../assets/distinctUntilChanged-BkBiB4M3.js";import{s as o}from"../assets/switchMap-D8q0hRYH.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";var m=Object.getOwnPropertyDescriptor,b=(e,t,s,i)=>{for(var a=i>1?void 0:i?m(t,s):t,r=e.length-1,c;r>=0;r--)(c=e[r])&&(a=c(a)||a);return a};let n=class extends l{constructor(){super(...arguments),this.subscriptions=[],this.recipeId="",this.status="add",this.planner=!1}connectedCallback(){super.connectedCallback(),this.getInitialStatus();const e=p.basket.recipePricesInBasket$().pipe(u(t=>t.some(s=>s.id===this.recipeId)),d());this.subscriptions.push(p.planner.isRecipeInMenu$(this.recipeId).pipe(o(t=>e.pipe(u(s=>{let i;return this.planner?i=s?"in-basket":t?"in-menu":"add":i=s?"in-basket":"add",i}))),d()).subscribe(t=>this.updateStatus(t)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){this.recipeCta=this.querySelector(".mealz-recipe-card-cta"),this.recipeCta}getInitialStatus(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;if(e)try{if(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"),this.planner)this.updateStatus(this.status);else{const s=this.classList.contains("in-basket");this.updateStatus(s?"in-basket":"add")}}catch(s){console.error("Error parsing starting-data attribute:",s)}}updateStatus(e){this.status!==e&&(this.status=e,this.recipeCta&&(this.recipeCta.classList.remove("in-basket","in-menu","add"),this.recipeCta.classList.add(this.status),this.recipeCta.classList.toggle("primary",this.status==="add"),this.recipeCta.classList.toggle("secondary",this.status!=="add"),this.updateButtonState(),this.updateImages()))}updateButtonState(){this.recipeCta&&(this.planner&&this.status==="in-basket"?this.recipeCta.setAttribute("disabled","true"):this.recipeCta.removeAttribute("disabled"))}updateImages(){if(!this.recipeCta)return;this.recipeCta.querySelectorAll("img").forEach(t=>{t.classList.contains(this.status)?t.classList.remove("hidden"):t.classList.add("hidden")})}getStatus(){return this.status}};n=b([h("mealz-recipe-card-cta")],n);customElements.get("mealz-recipe-card-cta")||customElements.define("mealz-recipe-card-cta",n);
1
+ import{N as m}from"../assets/no-shadow-element-DlGA0h9b.js";import{t as f}from"../assets/custom-element-BhZVzxrc.js";import{m as u}from"../assets/mealz-sdk-DWLzEfKz.js";import{m as o}from"../assets/map-oxUcVNGT.js";import{d as n}from"../assets/distinctUntilChanged-Ckq1Syk_.js";import{m as g}from"../assets/mergeAll-DQItozZ-.js";import{f as b,p as h}from"../assets/from-Btz8AgkO.js";import{o as C}from"../assets/OperatorSubscriber-z_a6lCKk.js";import{c as I}from"../assets/combineLatest-DNi66MsF.js";import"../assets/mergeMap-CMaM5Agw.js";import"../assets/innerFrom-CVMPVEmB.js";import"../assets/executeSchedule-CTqB8mra.js";import"../assets/mapOneOrManyArgs-Do0PsDok.js";function v(){return g(1)}function d(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return v()(b(e,h(e)))}function l(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var s=h(e);return C(function(a,i){(s?d(e,a,s):d(e,a)).subscribe(i)})}var S=Object.getOwnPropertyDescriptor,k=(e,t,s,a)=>{for(var i=a>1?void 0:a?S(t,s):t,r=e.length-1,p;r>=0;r--)(p=e[r])&&(i=p(i)||i);return i};let c=class extends m{constructor(){super(...arguments),this.subscriptions=[],this.recipeId="",this.status="add",this.planner=!1,this.recipeCta=null}connectedCallback(){super.connectedCallback(),this.getInitialStatus();const e=u.basket.recipePricesInBasket$().pipe(o(t=>t.some(s=>s.id===this.recipeId)),n(),l(!1));this.subscriptions.push(I([u.planner.isRecipeInMenu$(this.recipeId).pipe(l(!1),n()),e]).pipe(o(([t,s])=>this.planner?s?"in-basket":t?"in-menu":"add":s?"in-basket":"add"),n()).subscribe(t=>this.updateStatus(t)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){this.recipeCta=this.querySelector(".mealz-recipe-card-cta"),this.recipeCta&&this.updateStatus(this.status)}getInitialStatus(){const e=this.getAttribute("starting-data");if(e)try{const t=e.trim();if(t.startsWith("{")||t.startsWith("[")){const s=JSON.parse(t);Object.assign(this,s),!this.recipeId&&s&&(s.recipeId||s.id)&&(this.recipeId=String(s.recipeId||s.id))}else this.recipeId=t;if(this.removeAttribute("starting-data"),this.planner)this.updateStatus(this.status);else{const s=this.classList.contains("in-basket");this.updateStatus(s?"in-basket":"add")}}catch(t){console.error("Error parsing starting-data attribute:",t)}}updateStatus(e){this.status!==e&&(this.status=e,this.recipeCta&&(this.recipeCta.classList.remove("in-basket","in-menu","add"),this.recipeCta.classList.add(this.status),this.recipeCta.classList.toggle("primary",this.status==="add"),this.recipeCta.classList.toggle("secondary",this.status!=="add"),this.updateButtonState(),this.updateImages()))}updateButtonState(){this.recipeCta&&(this.planner&&this.status==="in-basket"?this.recipeCta.setAttribute("disabled","true"):this.recipeCta.removeAttribute("disabled"))}updateImages(){if(!this.recipeCta)return;this.recipeCta.querySelectorAll("img").forEach(t=>{t.classList.contains(this.status)?t.classList.remove("hidden"):t.classList.add("hidden")})}getStatus(){return this.status}};c=k([f("mealz-recipe-card-cta")],c);customElements.get("mealz-recipe-card-cta")||customElements.define("mealz-recipe-card-cta",c);