mealz-components 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/add-to-cart-cta/add-to-cart-cta.min.js +1 -1
  2. package/dist/assets/{OperatorSubscriber-DTLDfxTG.js → OperatorSubscriber-B37s2U6v.js} +1 -1
  3. package/dist/assets/{async-CmPLa8Kr.js → async-guWcMFmJ.js} +1 -1
  4. package/dist/assets/{combineLatest-BHklsKG3.js → combineLatest-qLpwa5de.js} +1 -1
  5. package/dist/assets/{debounceTime-D-8QwBTO.js → debounceTime-cu8WlLF0.js} +1 -1
  6. package/dist/assets/delay-DX2Gy1PY.js +1 -0
  7. package/dist/assets/{distinctUntilChanged-BpEwGP-B.js → distinctUntilChanged-DmoT2we5.js} +1 -1
  8. package/dist/assets/empty-DhPhHznc.js +1 -0
  9. package/dist/assets/{executeSchedule-Bcv6kCZW.js → executeSchedule-Dqc6shOu.js} +1 -1
  10. package/dist/assets/{filter-5Dmf5Y50.js → filter-BjN-BbQD.js} +1 -1
  11. package/dist/assets/{from-DdsjDX8p.js → from-CEPL7XsE.js} +1 -1
  12. package/dist/assets/http-Bepz6wA4.js +1 -0
  13. package/dist/assets/{innerFrom-D6KOflHk.js → innerFrom-D8hyVDmo.js} +1 -1
  14. package/dist/assets/{map-hUep_Pe9.js → map-D6X2syNu.js} +1 -1
  15. package/dist/assets/mapOneOrManyArgs-UKKoFfIU.js +1 -0
  16. package/dist/assets/merge-Cw-bwf6Z.js +1 -0
  17. package/dist/assets/mergeAll-9jcORGP2.js +1 -0
  18. package/dist/assets/{mergeMap-DK1Hk0t3.js → mergeMap-CX64J-ac.js} +1 -1
  19. package/dist/assets/{no-shadow-element-QlLhHglK.js → no-shadow-element-D4NOg0uW.js} +5 -5
  20. package/dist/assets/{of-CkMhMgHZ.js → of-CzgrATec.js} +1 -1
  21. package/dist/assets/{price-C5yP2Ah6.js → price-DdIbni0N.js} +1 -1
  22. package/dist/assets/{product-card-DajtMyct.js → product-card-CcuyZyd6.js} +1 -1
  23. package/dist/assets/{promotion-badge-3XLbShnW.js → promotion-badge-TYkTBrOQ.js} +1 -1
  24. package/dist/assets/{property-ewXDvYQv.js → property-BXNy7Yd-.js} +1 -1
  25. package/dist/assets/{skipWhile-i7Cmb462.js → skipWhile-B_4e7jSH.js} +1 -1
  26. package/dist/assets/{state-CB7P_Crl.js → state-b8IyfZUU.js} +1 -1
  27. package/dist/assets/{store-locator-CpKpyxUa.js → store-locator-CQ_XQBby.js} +1 -1
  28. package/dist/assets/{switchMap-Dt8kq-AX.js → switchMap-BYsewftM.js} +1 -1
  29. package/dist/assets/{take-DpcsPTvZ.js → take-ujVMxFwY.js} +1 -1
  30. package/dist/assets/{tap-BHwic9L0.js → tap-DwBV-qFl.js} +1 -1
  31. package/dist/assets/{timer-C5HGcf9-.js → timer-D3X0vtFO.js} +1 -1
  32. package/dist/assets/{unsafe-html-BxKVegsR.js → unsafe-html-C8GMyVYZ.js} +1 -1
  33. package/dist/assets/{viewport-listener-CWzfnuTn.js → viewport-listener-BRwa66-G.js} +1 -1
  34. package/dist/basket-transfer-modal/basket-transfer-modal.min.js +1 -1
  35. package/dist/catalog/basket-preview/basket-preview.min.js +1 -1
  36. package/dist/catalog/catalog-category/catalog-category.min.js +1 -1
  37. package/dist/catalog/catalog-favorites/catalog-favorites.min.js +1 -1
  38. package/dist/catalog/catalog-history/catalog-history.min.js +1 -1
  39. package/dist/catalog/catalog-home/catalog-home.css +1 -1
  40. package/dist/catalog/catalog-home/catalog-home.min.js +1 -1
  41. package/dist/catalog/catalog-home-header/catalog-home-header.css +1 -0
  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 +1 -1
  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 +1 -1
  57. package/dist/onboarding/onboarding.min.js +1 -1
  58. package/dist/order-again/order-again.min.js +1 -1
  59. package/dist/planner/helpers/open-onboarding-modal.min.js +1 -1
  60. package/dist/planner/planner-abandon-modal/planner-abandon-modal.min.js +1 -1
  61. package/dist/planner/planner-budget-edit-modal/planner-budget-edit-modal.css +1 -0
  62. package/dist/planner/planner-budget-edit-modal/planner-budget-edit-modal.min.js +26 -0
  63. package/dist/planner/planner-budget-gauge/planner-budget-gauge.css +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 +1 -1
  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 +1 -1
  69. package/dist/planner/planner-dashboard/planner-dashboard.min.js +1 -1
  70. package/dist/planner/planner-form/planner-form.min.js +1 -1
  71. package/dist/planner/planner-menu-option/planner-menu-option.css +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.min.js +3 -3
  75. package/dist/planner/planner-open-catalog-modal/planner-open-catalog-modal.min.js +1 -1
  76. package/dist/planner/planner-recipe-card/planner-recipe-card.min.js +1 -1
  77. package/dist/planner/planner-recipe-list/planner-recipe-list.min.js +1 -1
  78. package/dist/planner/planner-recipe-suggestion/planner-recipe-suggestion.min.js +1 -1
  79. package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +1 -1
  80. package/dist/planner/to-basket-loader/to-basket-loader.css +1 -1
  81. package/dist/planner/to-basket-loader/to-basket-loader.min.js +2 -2
  82. package/dist/planner-entry/planner-entry.css +1 -0
  83. package/dist/planner-entry/planner-entry.min.js +1 -0
  84. package/dist/preferences/preferences.min.js +1 -1
  85. package/dist/price/price.min.js +1 -1
  86. package/dist/recipe-card/recipe-card.min.js +1 -1
  87. package/dist/recipe-card-cta/recipe-card-cta.min.js +1 -1
  88. package/dist/recipe-details/recipe-details.min.js +1 -1
  89. package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
  90. package/dist/replace-item/replace-item-card/replace-item-card.min.js +1 -1
  91. package/dist/replace-item/replace-item.min.js +1 -1
  92. package/dist/replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js +1 -1
  93. package/dist/replace-item-planner/replace-item-planner.min.js +1 -1
  94. package/dist/select/select.min.js +1 -1
  95. package/dist/slider-tabs/slider-tabs.min.js +1 -1
  96. package/dist/store-indicator/store-indicator.min.js +1 -1
  97. package/dist/store-locator-drawer/store-locator-drawer.min.js +1 -1
  98. package/package.json +1 -1
  99. package/dist/assets/delay-D39fpUTn.js +0 -1
  100. package/dist/assets/empty-kpxVz-0O.js +0 -1
  101. package/dist/assets/http-CtqmFT_i.js +0 -1
  102. package/dist/assets/mapOneOrManyArgs-grjqJfJT.js +0 -1
  103. package/dist/assets/merge-DbnsJEG8.js +0 -1
  104. package/dist/assets/mergeAll-B07hn2cK.js +0 -1
@@ -1 +1 @@
1
- import{N as P,B as m}from"../assets/no-shadow-element-QlLhHglK.js";import{V as b}from"../assets/viewport-listener-CWzfnuTn.js";import{t as f}from"../assets/custom-element-BhZVzxrc.js";import{w as I,m as n}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as v}from"../assets/skipWhile-i7Cmb462.js";import{t as l}from"../assets/take-DpcsPTvZ.js";import{f as h}from"../assets/filter-5Dmf5Y50.js";import"../assets/debounceTime-D-8QwBTO.js";import"../assets/async-CmPLa8Kr.js";import"../assets/OperatorSubscriber-DTLDfxTG.js";import"../assets/empty-kpxVz-0O.js";class p{constructor(){this.priceMemorized=new Map,this.displayedPrices=new Set,this.cleanupInterval=null,this.MAX_MEMO_SIZE=500,this.CLEANUP_INTERVAL=600*1e3,this.handlePageUnload=()=>{this.destroy()},this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return p.instance||(p.instance=new p),p.instance}getMemorizedPrice(e,r){const s=`${e}-${r}`;return this.priceMemorized.get(s)}memorizedPrice(e,r,s){const c=`${e}-${r}`;this.priceMemorized.size>=this.MAX_MEMO_SIZE&&this.cleanOldPrices(),this.priceMemorized.set(c,{price:s,guests:r})}isPriceDisplayed(e,r){const s=`${e}-${r}`;return this.displayedPrices.has(s)}markPriceAsDisplayed(e,r){const s=`${e}-${r}`;this.displayedPrices.add(s)}cleanOldPrices(){this.priceMemorized.size>this.MAX_MEMO_SIZE*.8&&Array.from(this.priceMemorized.entries()).slice(0,Math.floor(this.priceMemorized.size*.3)).forEach(([s])=>{this.priceMemorized.delete(s),this.displayedPrices.delete(s)})}clearAllPrices(){this.priceMemorized.clear(),this.displayedPrices.clear()}destroy(){window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.priceMemorized.clear(),this.displayedPrices.clear(),p.instance=null}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldPrices()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var g=Object.getOwnPropertyDescriptor,y=(i,e,r,s)=>{for(var c=s>1?void 0:s?g(e,r):e,t=i.length-1,a;t>=0;t--)(a=i[t])&&(c=a(c)||c);return c};let o=class extends P{constructor(){super(...arguments),this.recipePricing=null,this.formattedPrice="",this.recipeId="",this.pricePerServe="",this.recipePricingValue=null,this.serves=0,this.posId="",this.extStoreId="",this.rendered=new m(!1),this.priceViewportObserver=null,this.priceFetched=!1,this.planner=!1,this.lastDisplayedRecipeId="",this.lastPlannerPrice=0,this.plannerPriceSubscription=null,this.lastAppliedPrice="",this.priceDisplayed=!1,this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.classList.add("re-rendering"),this.getInitialStatus(),this.listenInView(),I().then(()=>{this.setupSubscriptions()}).catch(i=>{console.warn("Failed to initialize SDK subscriptions:",i)}),requestAnimationFrame(()=>{this.classList.remove("re-rendering")})}disconnectedCallback(){var i;super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),(i=this.priceViewportObserver)==null||i.disconnect()}setupSubscriptions(){const i=n;this.subscriptions.push(this.rendered.pipe(v(e=>!e),l(1)).subscribe(()=>{const e=i.basket.recipePricesInBasket$().subscribe(r=>{if(!r)return;const s=r.find(c=>c.id===this.recipeId);r.length>0&&s&&parseFloat(s.price)>0&&(this.serves=i.basket.guestsForRecipe(s.id),this.recipePricingValue={id:s.id,price:parseFloat(s.price),guests:this.serves},this.recalculatePrice(parseFloat(s.price),this.serves))});this.subscriptions.push(e)}),i.recipes.recipePriceUpdated().subscribe(e=>{e.recipeId===this.recipeId&&!e.inBasket&&this.recipePricingValue&&(this.recipePricingValue.price=e.remaining,this.recalculatePrice(e.remaining,this.serves))}),this.setupDisplayedRecipeSubscription(),this.setupGuestUpdatesSubscription(),this.setupMenuPriceSubscription())}setupDisplayedRecipeSubscription(){return n.recipes.displayedRecipe$.pipe(h(()=>this.planner&&!!this.recipeId)).subscribe(e=>{var r;((r=e==null?void 0:e.recipe)==null?void 0:r.id)===this.recipeId?(this.lastDisplayedRecipeId=this.recipeId,this.trackPlannerRecipePrice(),this.updateGuestCountFromMenu()):!(e!=null&&e.recipe)&&this.lastDisplayedRecipeId===this.recipeId&&(this.updatePriceFromCapturedPlannerPrice(),this.lastDisplayedRecipeId="",this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null))})}setupGuestUpdatesSubscription(){return n.recipes.guestsUpdated().pipe(h(()=>!!this.recipeId)).subscribe(({guests:e,recipeId:r})=>{r===this.recipeId&&(this.serves=e,this.recipePricingValue&&this.recipePricingValue.price!==null&&this.recalculatePrice(this.recipePricingValue.price,this.serves))})}setupMenuPriceSubscription(){return n.planner.menuPrice$.pipe(h(()=>this.planner&&!!this.recipeId)).subscribe(()=>{if(this.lastPlannerPrice>0&&this.serves>0){const e=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(e.toFixed(2))}})}fetchPrice(){const i=p.getInstance(),e=i.getMemorizedPrice(this.recipeId,this.serves);if(e){requestAnimationFrame(()=>{this.applyCurrencyDisplay(e.price),i.markPriceAsDisplayed(this.recipeId,this.serves)});return}this.fetchAndUpdatePrice()}render(){this.recipePricing=this.querySelector(".mealz-recipe-pricing"),this.recipePricing&&(this.recipeId&&this.pricePerServe&&p.getInstance().isPriceDisplayed(this.recipeId,this.serves)&&requestAnimationFrame(()=>{this.applyCurrencyDisplay(this.pricePerServe)}),this.rendered.next(!0),this.getInitialStatus())}getInitialStatus(){const i=this.attributes.getNamedItem("starting-data"),e=i==null?void 0:i.value;if(!e)return;const r=JSON.parse(e),{recipeId:s,extStoreId:c,posId:t,pricePerServe:a,serves:d,planner:u}=r;this.extStoreId=c||"",this.posId=t||"",this.recipeId=s,this.pricePerServe=(a==null?void 0:a.toString())??"",this.serves=d,this.planner=u||!1,this.recipePricingValue={id:this.recipeId,price:null,guests:this.serves},this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)}applyCurrencyDisplay(i){if(this.lastAppliedPrice===i)return;const e=parseFloat(i);isNaN(e)||(this.lastAppliedPrice=i,this.formattedPrice=e.toLocaleString("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2}),this.recipePricing||(this.recipePricing=this.querySelector(".mealz-recipe-pricing")),this.updateDOM())}showPrice(){var r,s;if(this.priceDisplayed)return;const i=(r=this.recipePricing)==null?void 0:r.querySelector(".mealz-recipe-pricing__loading"),e=(s=this.recipePricing)==null?void 0:s.querySelector(".mealz-recipe-pricing__wrapper");i==null||i.classList.replace("active","hidden"),e==null||e.classList.replace("hidden","active"),this.priceDisplayed=!0}updateDOM(){var e;const i=(e=this.recipePricing)==null?void 0:e.querySelector(".mealz-recipe-pricing__wrapper__price");i&&(i.innerHTML=this.formattedPrice+" €",this.showPrice())}recalculatePrice(i,e){const r=(i/e).toString();this.applyCurrencyDisplay(r)}trackPlannerRecipePrice(){const i=n;this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),this.plannerPriceSubscription=i.planner.plannerRecipePrice$.subscribe(e=>{e>0&&(this.lastPlannerPrice=e)})}updateGuestCountFromMenu(){if(!this.planner||!this.recipeId)return;n.planner.getGuestsForRecipe(this.recipeId).pipe(l(1)).subscribe(e=>{e&&e>0&&(this.serves=e)})}updatePriceFromCapturedPlannerPrice(){if(!this.planner||!this.recipeId)return;n.planner.isRecipeInMenu$(this.recipeId).pipe(l(1)).subscribe(e=>{if(e&&this.lastPlannerPrice>0){if(this.serves>0){const r=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(r.toFixed(2))}}else this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)})}listenInView(){this.priceViewportObserver=new b(this,()=>{var i;!this.priceFetched&&((i=this.recipePricingValue)==null?void 0:i.price)===null&&this.fetchPrice()})}fetchAndUpdatePrice(){const i=this.posId||this.extStoreId,e=!!this.extStoreId;if(!i||!this.recipeId||!this.serves)return;const c=n.recipes.fetchPricing(this.recipeId,i,this.serves,e).subscribe({next:t=>{t&&t["price-per-serve"]&&(this.pricePerServe=t["price-per-serve"].toString(),this.recipePricingValue={id:this.recipeId,price:t.price,guests:this.serves},this.recalculatePrice(t.price,this.serves),this.priceFetched=!0)},error:t=>{console.error("Failed to fetch recipe pricing:",t)}});this.subscriptions.push(c)}};o=y([f("mealz-recipe-pricing")],o);
1
+ import{N as P,B as m}from"../assets/no-shadow-element-D4NOg0uW.js";import{V as b}from"../assets/viewport-listener-BRwa66-G.js";import{t as f}from"../assets/custom-element-BhZVzxrc.js";import{w as I,m as n}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as v}from"../assets/skipWhile-B_4e7jSH.js";import{t as l}from"../assets/take-ujVMxFwY.js";import{f as h}from"../assets/filter-BjN-BbQD.js";import"../assets/debounceTime-cu8WlLF0.js";import"../assets/async-guWcMFmJ.js";import"../assets/OperatorSubscriber-B37s2U6v.js";import"../assets/empty-DhPhHznc.js";class p{constructor(){this.priceMemorized=new Map,this.displayedPrices=new Set,this.cleanupInterval=null,this.MAX_MEMO_SIZE=500,this.CLEANUP_INTERVAL=600*1e3,this.handlePageUnload=()=>{this.destroy()},this.startAutoCleanup(),this.setupPageUnloadListener()}static getInstance(){return p.instance||(p.instance=new p),p.instance}getMemorizedPrice(e,r){const s=`${e}-${r}`;return this.priceMemorized.get(s)}memorizedPrice(e,r,s){const c=`${e}-${r}`;this.priceMemorized.size>=this.MAX_MEMO_SIZE&&this.cleanOldPrices(),this.priceMemorized.set(c,{price:s,guests:r})}isPriceDisplayed(e,r){const s=`${e}-${r}`;return this.displayedPrices.has(s)}markPriceAsDisplayed(e,r){const s=`${e}-${r}`;this.displayedPrices.add(s)}cleanOldPrices(){this.priceMemorized.size>this.MAX_MEMO_SIZE*.8&&Array.from(this.priceMemorized.entries()).slice(0,Math.floor(this.priceMemorized.size*.3)).forEach(([s])=>{this.priceMemorized.delete(s),this.displayedPrices.delete(s)})}clearAllPrices(){this.priceMemorized.clear(),this.displayedPrices.clear()}destroy(){window.removeEventListener("beforeunload",this.handlePageUnload),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.priceMemorized.clear(),this.displayedPrices.clear(),p.instance=null}startAutoCleanup(){this.cleanupInterval=window.setInterval(()=>{this.cleanOldPrices()},this.CLEANUP_INTERVAL)}setupPageUnloadListener(){window.addEventListener("beforeunload",this.handlePageUnload)}}var g=Object.getOwnPropertyDescriptor,y=(i,e,r,s)=>{for(var c=s>1?void 0:s?g(e,r):e,t=i.length-1,a;t>=0;t--)(a=i[t])&&(c=a(c)||c);return c};let o=class extends P{constructor(){super(...arguments),this.recipePricing=null,this.formattedPrice="",this.recipeId="",this.pricePerServe="",this.recipePricingValue=null,this.serves=0,this.posId="",this.extStoreId="",this.rendered=new m(!1),this.priceViewportObserver=null,this.priceFetched=!1,this.planner=!1,this.lastDisplayedRecipeId="",this.lastPlannerPrice=0,this.plannerPriceSubscription=null,this.lastAppliedPrice="",this.priceDisplayed=!1,this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.classList.add("re-rendering"),this.getInitialStatus(),this.listenInView(),I().then(()=>{this.setupSubscriptions()}).catch(i=>{console.warn("Failed to initialize SDK subscriptions:",i)}),requestAnimationFrame(()=>{this.classList.remove("re-rendering")})}disconnectedCallback(){var i;super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),(i=this.priceViewportObserver)==null||i.disconnect()}setupSubscriptions(){const i=n;this.subscriptions.push(this.rendered.pipe(v(e=>!e),l(1)).subscribe(()=>{const e=i.basket.recipePricesInBasket$().subscribe(r=>{if(!r)return;const s=r.find(c=>c.id===this.recipeId);r.length>0&&s&&parseFloat(s.price)>0&&(this.serves=i.basket.guestsForRecipe(s.id),this.recipePricingValue={id:s.id,price:parseFloat(s.price),guests:this.serves},this.recalculatePrice(parseFloat(s.price),this.serves))});this.subscriptions.push(e)}),i.recipes.recipePriceUpdated().subscribe(e=>{e.recipeId===this.recipeId&&!e.inBasket&&this.recipePricingValue&&(this.recipePricingValue.price=e.remaining,this.recalculatePrice(e.remaining,this.serves))}),this.setupDisplayedRecipeSubscription(),this.setupGuestUpdatesSubscription(),this.setupMenuPriceSubscription())}setupDisplayedRecipeSubscription(){return n.recipes.displayedRecipe$.pipe(h(()=>this.planner&&!!this.recipeId)).subscribe(e=>{var r;((r=e==null?void 0:e.recipe)==null?void 0:r.id)===this.recipeId?(this.lastDisplayedRecipeId=this.recipeId,this.trackPlannerRecipePrice(),this.updateGuestCountFromMenu()):!(e!=null&&e.recipe)&&this.lastDisplayedRecipeId===this.recipeId&&(this.updatePriceFromCapturedPlannerPrice(),this.lastDisplayedRecipeId="",this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null))})}setupGuestUpdatesSubscription(){return n.recipes.guestsUpdated().pipe(h(()=>!!this.recipeId)).subscribe(({guests:e,recipeId:r})=>{r===this.recipeId&&(this.serves=e,this.recipePricingValue&&this.recipePricingValue.price!==null&&this.recalculatePrice(this.recipePricingValue.price,this.serves))})}setupMenuPriceSubscription(){return n.planner.menuPrice$.pipe(h(()=>this.planner&&!!this.recipeId)).subscribe(()=>{if(this.lastPlannerPrice>0&&this.serves>0){const e=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(e.toFixed(2))}})}fetchPrice(){const i=p.getInstance(),e=i.getMemorizedPrice(this.recipeId,this.serves);if(e){requestAnimationFrame(()=>{this.applyCurrencyDisplay(e.price),i.markPriceAsDisplayed(this.recipeId,this.serves)});return}this.fetchAndUpdatePrice()}render(){this.recipePricing=this.querySelector(".mealz-recipe-pricing"),this.recipePricing&&(this.recipeId&&this.pricePerServe&&p.getInstance().isPriceDisplayed(this.recipeId,this.serves)&&requestAnimationFrame(()=>{this.applyCurrencyDisplay(this.pricePerServe)}),this.rendered.next(!0),this.getInitialStatus())}getInitialStatus(){const i=this.attributes.getNamedItem("starting-data"),e=i==null?void 0:i.value;if(!e)return;const r=JSON.parse(e),{recipeId:s,extStoreId:c,posId:t,pricePerServe:a,serves:d,planner:u}=r;this.extStoreId=c||"",this.posId=t||"",this.recipeId=s,this.pricePerServe=(a==null?void 0:a.toString())??"",this.serves=d,this.planner=u||!1,this.recipePricingValue={id:this.recipeId,price:null,guests:this.serves},this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)}applyCurrencyDisplay(i){if(this.lastAppliedPrice===i)return;const e=parseFloat(i);isNaN(e)||(this.lastAppliedPrice=i,this.formattedPrice=e.toLocaleString("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2}),this.recipePricing||(this.recipePricing=this.querySelector(".mealz-recipe-pricing")),this.updateDOM())}showPrice(){var r,s;if(this.priceDisplayed)return;const i=(r=this.recipePricing)==null?void 0:r.querySelector(".mealz-recipe-pricing__loading"),e=(s=this.recipePricing)==null?void 0:s.querySelector(".mealz-recipe-pricing__wrapper");i==null||i.classList.replace("active","hidden"),e==null||e.classList.replace("hidden","active"),this.priceDisplayed=!0}updateDOM(){var e;const i=(e=this.recipePricing)==null?void 0:e.querySelector(".mealz-recipe-pricing__wrapper__price");i&&(i.innerHTML=this.formattedPrice+" €",this.showPrice())}recalculatePrice(i,e){const r=(i/e).toString();this.applyCurrencyDisplay(r)}trackPlannerRecipePrice(){const i=n;this.plannerPriceSubscription&&(this.plannerPriceSubscription.unsubscribe(),this.plannerPriceSubscription=null),this.plannerPriceSubscription=i.planner.plannerRecipePrice$.subscribe(e=>{e>0&&(this.lastPlannerPrice=e)})}updateGuestCountFromMenu(){if(!this.planner||!this.recipeId)return;n.planner.getGuestsForRecipe(this.recipeId).pipe(l(1)).subscribe(e=>{e&&e>0&&(this.serves=e)})}updatePriceFromCapturedPlannerPrice(){if(!this.planner||!this.recipeId)return;n.planner.isRecipeInMenu$(this.recipeId).pipe(l(1)).subscribe(e=>{if(e&&this.lastPlannerPrice>0){if(this.serves>0){const r=this.lastPlannerPrice/this.serves;this.applyCurrencyDisplay(r.toFixed(2))}}else this.pricePerServe&&this.applyCurrencyDisplay(this.pricePerServe)})}listenInView(){this.priceViewportObserver=new b(this,()=>{var i;!this.priceFetched&&((i=this.recipePricingValue)==null?void 0:i.price)===null&&this.fetchPrice()})}fetchAndUpdatePrice(){const i=this.posId||this.extStoreId,e=!!this.extStoreId;if(!i||!this.recipeId||!this.serves)return;const c=n.recipes.fetchPricing(this.recipeId,i,this.serves,e).subscribe({next:t=>{t&&t["price-per-serve"]&&(this.pricePerServe=t["price-per-serve"].toString(),this.recipePricingValue={id:this.recipeId,price:t.price,guests:this.serves},this.recalculatePrice(t.price,this.serves),this.priceFetched=!0)},error:t=>{console.error("Failed to fetch recipe pricing:",t)}});this.subscriptions.push(c)}};o=y([f("mealz-recipe-pricing")],o);
@@ -1,4 +1,4 @@
1
- import"../../assets/promotion-badge-3XLbShnW.js";import{N as n,k as s}from"../../assets/no-shadow-element-QlLhHglK.js";import{t as h}from"../../assets/custom-element-BhZVzxrc.js";import{n as p}from"../../assets/property-ewXDvYQv.js";import{g as u,a as b}from"../../assets/price-utils-BRFZa-3D.js";import{m as o}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/price-C5yP2Ah6.js";var z=Object.defineProperty,_=Object.getOwnPropertyDescriptor,l=(e,i,r,a)=>{for(var t=a>1?void 0:a?_(i,r):i,c=e.length-1,d;c>=0;c--)(d=e[c])&&(t=(a?d(i,r,t):d(t))||t);return a&&t&&z(i,r,t),t};let m=class extends n{constructor(){super(),this.noSupplier=o.supplier.isNoSupplier(),this.subscriptions=[],this.styleURL=new URL("./replace-item/replace-item-card/replace-item-card.css",this.getBaseURL()),this.subscriptions.push(o.replaceItem.replaceItemLoading$.subscribe(e=>{this.replaceItemLoading=e,this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}onSelectItem(e){const i={detail:{item:e},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("selectItem",i))}render(){var e,i,r,a,t,c;return s`
1
+ import"../../assets/promotion-badge-TYkTBrOQ.js";import{N as n,k as s}from"../../assets/no-shadow-element-D4NOg0uW.js";import{t as h}from"../../assets/custom-element-BhZVzxrc.js";import{n as p}from"../../assets/property-BXNy7Yd-.js";import{g as u,a as b}from"../../assets/price-utils-BRFZa-3D.js";import{m as o}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/price-DdIbni0N.js";var z=Object.defineProperty,_=Object.getOwnPropertyDescriptor,l=(e,i,r,a)=>{for(var t=a>1?void 0:a?_(i,r):i,c=e.length-1,d;c>=0;c--)(d=e[c])&&(t=(a?d(i,r,t):d(t))||t);return a&&t&&z(i,r,t),t};let m=class extends n{constructor(){super(),this.noSupplier=o.supplier.isNoSupplier(),this.subscriptions=[],this.styleURL=new URL("./replace-item/replace-item-card/replace-item-card.css",this.getBaseURL()),this.subscriptions.push(o.replaceItem.replaceItemLoading$.subscribe(e=>{this.replaceItemLoading=e,this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}onSelectItem(e){const i={detail:{item:e},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("selectItem",i))}render(){var e,i,r,a,t,c;return s`
2
2
  <div
3
3
  class="
4
4
  mealz-replace-item-card
@@ -1,4 +1,4 @@
1
- import"./replace-item-card/replace-item-card.min.js";import{N as h,n as u,D as o,k as i}from"../assets/no-shadow-element-QlLhHglK.js";import{t as g}from"../assets/custom-element-BhZVzxrc.js";import{c as _}from"../assets/capitalize-DUAqYmp4.js";import{m as s}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as b}from"../assets/merge-DbnsJEG8.js";import{m as n}from"../assets/map-hUep_Pe9.js";import{d as z}from"../assets/debounceTime-D-8QwBTO.js";import{f as v}from"../assets/filter-5Dmf5Y50.js";import{d as S}from"../assets/distinctUntilChanged-BpEwGP-B.js";import{s as $}from"../assets/switchMap-Dt8kq-AX.js";import"../assets/promotion-badge-3XLbShnW.js";import"../assets/property-ewXDvYQv.js";import"../assets/price-C5yP2Ah6.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/mergeAll-B07hn2cK.js";import"../assets/mergeMap-DK1Hk0t3.js";import"../assets/innerFrom-D6KOflHk.js";import"../assets/OperatorSubscriber-DTLDfxTG.js";import"../assets/executeSchedule-Bcv6kCZW.js";import"../assets/empty-kpxVz-0O.js";import"../assets/from-DdsjDX8p.js";import"../assets/async-CmPLa8Kr.js";var I=Object.getOwnPropertyDescriptor,f=(e,t,c,a)=>{for(var r=a>1?void 0:a?I(t,c):t,l=e.length-1,m;l>=0;l--)(m=e[l])&&(r=m(r)||r);return r};let p=class extends h{constructor(){super(),this.addProductMode=!1,this.fromRecipeDetails=!1,this.isLoading=!1,this.subscriptions=[],this.searchString="",this.itemsWithPricesList=[],this.searchSubject=new u,this.styleURL=new URL("./replace-item/replace-item.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(this.setupSearchObservable(),s.replaceItem.basketEntryToReplace$.subscribe(e=>{this.handleToReplace(e)}),b(s.recipes.displayedRecipe$.pipe(n(e=>{var t;this.currentRecipeId=(t=e==null?void 0:e.recipe)==null?void 0:t.id,this.fromRecipeDetails=!!this.currentRecipeId})),s.replaceItem.replaceProductFromPreviewOpen$.pipe(n(e=>{this.basketEntry=e})),s.replaceItem.additionModalOpen$.pipe(n(e=>{this.addProductMode=e})),s.replaceItem.itemsWithPricesList$.pipe(n(e=>{this.itemsWithPricesList=e})),s.replaceItem.fetchingItemLoading$.pipe(n(e=>{this.isLoading=e}))).subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}handleToReplace(e){if(this.searchString="",!e){this.basketEntry=void 0,this.ingredient=void 0,this.ignoreSelected=!1;return}this.basketEntry=e.basketEntry,this.ingredient=e.ingredient,this.ignoreSelected=e.ignoreSelected||!1,this.requestUpdate()}onClose(){s.replaceItem.replaceItemLoading$.next(void 0),s.replaceItem.basketEntryToReplace$.next(void 0),s.productAddition.close()}onSearchInputChange(e){this.searchString=e.target.value,this.searchSubject.next(this.searchString)}setupSearchObservable(){return this.searchSubject.pipe(z(200),v(e=>e.length>=3),S(),$(e=>s.replaceItem.searchItem(e))).subscribe()}onSelectItem(e){var a;const t=(a=this.basketEntry)==null?void 0:a.id,c=this.fromRecipeDetails?`/recipes/${this.currentRecipeId}/shopping`:"/basket/products";s.replaceItem.onSelectItem(e.detail.item,this.searchString,()=>{this.onClose(),s.productAddition.productAdded$.next(t)},{originPath:`${c}/item-selector`,props:{}})}renderIssues(){var e,t;return i`
1
+ import"./replace-item-card/replace-item-card.min.js";import{N as h,n as u,D as o,k as i}from"../assets/no-shadow-element-D4NOg0uW.js";import{t as g}from"../assets/custom-element-BhZVzxrc.js";import{c as _}from"../assets/capitalize-DUAqYmp4.js";import{m as s}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as b}from"../assets/merge-Cw-bwf6Z.js";import{m as n}from"../assets/map-D6X2syNu.js";import{d as z}from"../assets/debounceTime-cu8WlLF0.js";import{f as v}from"../assets/filter-BjN-BbQD.js";import{d as S}from"../assets/distinctUntilChanged-DmoT2we5.js";import{s as $}from"../assets/switchMap-BYsewftM.js";import"../assets/promotion-badge-TYkTBrOQ.js";import"../assets/property-BXNy7Yd-.js";import"../assets/price-DdIbni0N.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/mergeAll-9jcORGP2.js";import"../assets/mergeMap-CX64J-ac.js";import"../assets/innerFrom-D8hyVDmo.js";import"../assets/OperatorSubscriber-B37s2U6v.js";import"../assets/executeSchedule-Dqc6shOu.js";import"../assets/empty-DhPhHznc.js";import"../assets/from-CEPL7XsE.js";import"../assets/async-guWcMFmJ.js";var I=Object.getOwnPropertyDescriptor,f=(e,t,c,a)=>{for(var r=a>1?void 0:a?I(t,c):t,l=e.length-1,m;l>=0;l--)(m=e[l])&&(r=m(r)||r);return r};let p=class extends h{constructor(){super(),this.addProductMode=!1,this.fromRecipeDetails=!1,this.isLoading=!1,this.subscriptions=[],this.searchString="",this.itemsWithPricesList=[],this.searchSubject=new u,this.styleURL=new URL("./replace-item/replace-item.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(this.setupSearchObservable(),s.replaceItem.basketEntryToReplace$.subscribe(e=>{this.handleToReplace(e)}),b(s.recipes.displayedRecipe$.pipe(n(e=>{var t;this.currentRecipeId=(t=e==null?void 0:e.recipe)==null?void 0:t.id,this.fromRecipeDetails=!!this.currentRecipeId})),s.replaceItem.replaceProductFromPreviewOpen$.pipe(n(e=>{this.basketEntry=e})),s.replaceItem.additionModalOpen$.pipe(n(e=>{this.addProductMode=e})),s.replaceItem.itemsWithPricesList$.pipe(n(e=>{this.itemsWithPricesList=e})),s.replaceItem.fetchingItemLoading$.pipe(n(e=>{this.isLoading=e}))).subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}handleToReplace(e){if(this.searchString="",!e){this.basketEntry=void 0,this.ingredient=void 0,this.ignoreSelected=!1;return}this.basketEntry=e.basketEntry,this.ingredient=e.ingredient,this.ignoreSelected=e.ignoreSelected||!1,this.requestUpdate()}onClose(){s.replaceItem.replaceItemLoading$.next(void 0),s.replaceItem.basketEntryToReplace$.next(void 0),s.productAddition.close()}onSearchInputChange(e){this.searchString=e.target.value,this.searchSubject.next(this.searchString)}setupSearchObservable(){return this.searchSubject.pipe(z(200),v(e=>e.length>=3),S(),$(e=>s.replaceItem.searchItem(e))).subscribe()}onSelectItem(e){var a;const t=(a=this.basketEntry)==null?void 0:a.id,c=this.fromRecipeDetails?`/recipes/${this.currentRecipeId}/shopping`:"/basket/products";s.replaceItem.onSelectItem(e.detail.item,this.searchString,()=>{this.onClose(),s.productAddition.productAdded$.next(t)},{originPath:`${c}/item-selector`,props:{}})}renderIssues(){var e,t;return i`
2
2
  <!-- NO SUBSTITUTION PRODUCT -->
3
3
  ${!this.isLoading&&this.itemsWithPricesList.length===1&&!this.searchString?i`
4
4
  <div class="mealz-replace-item__error">
@@ -1,4 +1,4 @@
1
- import"../../assets/promotion-badge-3XLbShnW.js";import{N as d,k as t}from"../../assets/no-shadow-element-QlLhHglK.js";import{t as o}from"../../assets/custom-element-BhZVzxrc.js";import{n}from"../../assets/property-ewXDvYQv.js";import{g as h,a as u}from"../../assets/price-utils-BRFZa-3D.js";import{m as z}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/price-C5yP2Ah6.js";var P=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(a,r,l,s)=>{for(var e=s>1?void 0:s?_(r,l):r,c=a.length-1,m;c>=0;c--)(m=a[c])&&(e=(s?m(r,l,e):m(e))||e);return s&&e&&P(r,l,e),e};let i=class extends d{constructor(){super(),this.noSupplier=z.supplier.isNoSupplier(),this.styleURL=new URL("./replace-item-planner/replace-item-card-planner/replace-item-card-planner.css",this.getBaseURL())}onSelectItem(){this.itemWithPrice.status="ticked";const a={detail:{itemWithPrice:this.itemWithPrice},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("selectItem",a)),this.requestUpdate()}render(){return t`
1
+ import"../../assets/promotion-badge-TYkTBrOQ.js";import{N as d,k as t}from"../../assets/no-shadow-element-D4NOg0uW.js";import{t as o}from"../../assets/custom-element-BhZVzxrc.js";import{n}from"../../assets/property-BXNy7Yd-.js";import{g as h,a as u}from"../../assets/price-utils-BRFZa-3D.js";import{m as z}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/price-DdIbni0N.js";var P=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(a,r,l,s)=>{for(var e=s>1?void 0:s?_(r,l):r,c=a.length-1,m;c>=0;c--)(m=a[c])&&(e=(s?m(r,l,e):m(e))||e);return s&&e&&P(r,l,e),e};let i=class extends d{constructor(){super(),this.noSupplier=z.supplier.isNoSupplier(),this.styleURL=new URL("./replace-item-planner/replace-item-card-planner/replace-item-card-planner.css",this.getBaseURL())}onSelectItem(){this.itemWithPrice.status="ticked";const a={detail:{itemWithPrice:this.itemWithPrice},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("selectItem",a)),this.requestUpdate()}render(){return t`
2
2
  <div class=" mealz-replace-item-card-planner
3
3
  ${this.itemWithPrice.status==="ticked"?"selected":""}"
4
4
  >
@@ -1,4 +1,4 @@
1
- import"./replace-item-card-planner/replace-item-card-planner.min.js";import{N as h,n as d,D as o,k as a}from"../assets/no-shadow-element-QlLhHglK.js";import{c as u}from"../assets/capitalize-DUAqYmp4.js";import{t as g}from"../assets/custom-element-BhZVzxrc.js";import{m as i}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as _}from"../assets/merge-DbnsJEG8.js";import{m}from"../assets/map-hUep_Pe9.js";import{d as b}from"../assets/debounceTime-D-8QwBTO.js";import{f as z}from"../assets/filter-5Dmf5Y50.js";import{d as v}from"../assets/distinctUntilChanged-BpEwGP-B.js";import{s as S}from"../assets/switchMap-Dt8kq-AX.js";import"../assets/promotion-badge-3XLbShnW.js";import"../assets/property-ewXDvYQv.js";import"../assets/price-C5yP2Ah6.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/mergeAll-B07hn2cK.js";import"../assets/mergeMap-DK1Hk0t3.js";import"../assets/innerFrom-D6KOflHk.js";import"../assets/OperatorSubscriber-DTLDfxTG.js";import"../assets/executeSchedule-Bcv6kCZW.js";import"../assets/empty-kpxVz-0O.js";import"../assets/from-DdsjDX8p.js";import"../assets/async-CmPLa8Kr.js";var f=Object.getOwnPropertyDescriptor,$=(e,t,s,n)=>{for(var r=n>1?void 0:n?f(t,s):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(r=c(r)||r);return r};let p=class extends h{constructor(){super(),this.isLoading=!1,this.subscriptions=[],this.searchString="",this.itemsWithPricesList=[],this.analyticsPath="/meals-planner/current",this.searchSubject=new d,this.styleURL=new URL("./replace-item-planner/replace-item-planner.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(this.setupSearchObservable(),i.planner.itemToReplace$.subscribe(e=>{this.handleToReplace(e)}),_(i.recipes.displayedRecipe$.pipe(m(e=>{var t;this.currentRecipeId=(t=e==null?void 0:e.recipe)==null?void 0:t.id})),i.planner.itemsWithPricesList$.pipe(m(e=>{this.itemsWithPricesList=e})),i.planner.fetchingItemLoading$.pipe(m(e=>{this.isLoading=e}))).subscribe(()=>{this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}handleToReplace(e){if(this.searchString="",!e){this.item=void 0,this.ingredient=void 0;return}this.item=e.item,this.ingredient=e.ingredient,this.requestUpdate()}onClose(){i.planner.itemToReplace$.next(void 0)}onSearchInputChange(e){this.searchString=e.target.value,this.searchSubject.next(this.searchString)}setupSearchObservable(){return this.searchSubject.pipe(b(200),z(e=>e.length>=3),v(),S(e=>i.planner.searchItem(e,this.ingredient,this.item))).subscribe()}onSelectItem(e){this.replacedItemEvent(e.detail.itemWithPrice),i.planner.replaceProduct(e.detail.itemWithPrice),this.item=e.detail.itemWithPrice.item,this.onClose()}formatNumber(e){const t=i.user.getLanguage()||"fr";return new Intl.NumberFormat(t,{minimumFractionDigits:1,maximumFractionDigits:2}).format(e)}renderIssues(){var e,t;return a`
1
+ import"./replace-item-card-planner/replace-item-card-planner.min.js";import{N as h,n as d,D as o,k as a}from"../assets/no-shadow-element-D4NOg0uW.js";import{c as u}from"../assets/capitalize-DUAqYmp4.js";import{t as g}from"../assets/custom-element-BhZVzxrc.js";import{m as i}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as _}from"../assets/merge-Cw-bwf6Z.js";import{m}from"../assets/map-D6X2syNu.js";import{d as b}from"../assets/debounceTime-cu8WlLF0.js";import{f as z}from"../assets/filter-BjN-BbQD.js";import{d as v}from"../assets/distinctUntilChanged-DmoT2we5.js";import{s as S}from"../assets/switchMap-BYsewftM.js";import"../assets/promotion-badge-TYkTBrOQ.js";import"../assets/property-BXNy7Yd-.js";import"../assets/price-DdIbni0N.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/mergeAll-9jcORGP2.js";import"../assets/mergeMap-CX64J-ac.js";import"../assets/innerFrom-D8hyVDmo.js";import"../assets/OperatorSubscriber-B37s2U6v.js";import"../assets/executeSchedule-Dqc6shOu.js";import"../assets/empty-DhPhHznc.js";import"../assets/from-CEPL7XsE.js";import"../assets/async-guWcMFmJ.js";var f=Object.getOwnPropertyDescriptor,$=(e,t,s,n)=>{for(var r=n>1?void 0:n?f(t,s):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(r=c(r)||r);return r};let p=class extends h{constructor(){super(),this.isLoading=!1,this.subscriptions=[],this.searchString="",this.itemsWithPricesList=[],this.analyticsPath="/meals-planner/current",this.searchSubject=new d,this.styleURL=new URL("./replace-item-planner/replace-item-planner.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(this.setupSearchObservable(),i.planner.itemToReplace$.subscribe(e=>{this.handleToReplace(e)}),_(i.recipes.displayedRecipe$.pipe(m(e=>{var t;this.currentRecipeId=(t=e==null?void 0:e.recipe)==null?void 0:t.id})),i.planner.itemsWithPricesList$.pipe(m(e=>{this.itemsWithPricesList=e})),i.planner.fetchingItemLoading$.pipe(m(e=>{this.isLoading=e}))).subscribe(()=>{this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}handleToReplace(e){if(this.searchString="",!e){this.item=void 0,this.ingredient=void 0;return}this.item=e.item,this.ingredient=e.ingredient,this.requestUpdate()}onClose(){i.planner.itemToReplace$.next(void 0)}onSearchInputChange(e){this.searchString=e.target.value,this.searchSubject.next(this.searchString)}setupSearchObservable(){return this.searchSubject.pipe(b(200),z(e=>e.length>=3),v(),S(e=>i.planner.searchItem(e,this.ingredient,this.item))).subscribe()}onSelectItem(e){this.replacedItemEvent(e.detail.itemWithPrice),i.planner.replaceProduct(e.detail.itemWithPrice),this.item=e.detail.itemWithPrice.item,this.onClose()}formatNumber(e){const t=i.user.getLanguage()||"fr";return new Intl.NumberFormat(t,{minimumFractionDigits:1,maximumFractionDigits:2}).format(e)}renderIssues(){var e,t;return a`
2
2
  <!-- NO SUBSTITUTION PRODUCT -->
3
3
  ${!this.isLoading&&this.itemsWithPricesList.length===1&&!this.searchString?a`
4
4
  <div class="mealz-replace-item-planner__error">
@@ -1,4 +1,4 @@
1
- import{N as d,k as n}from"../assets/no-shadow-element-QlLhHglK.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as c}from"../assets/property-ewXDvYQv.js";import{r as u}from"../assets/state-CB7P_Crl.js";import"../assets/mealz-sdk-E_fNZM-c.js";var _=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,i,t,o)=>{for(var l=o>1?void 0:o?m(i,t):i,p=e.length-1,r;p>=0;p--)(r=e[p])&&(l=(o?r(i,t,l):r(l))||l);return o&&l&&_(i,t,l),l};let s=class extends d{constructor(){super(),this.options=[],this.value="",this.placeholder="",this.disabled=!1,this._open=!1,this._onWindowClick=e=>{e.composedPath().includes(this)||this._open&&(this._open=!1,this.requestUpdate())},this.styleURL=new URL("./select/select.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this._attachOutsideClick()}disconnectedCallback(){this._detachOutsideClick(),super.disconnectedCallback()}render(){const e=this.options.find(t=>t.id===this.value),i=(e==null?void 0:e.label)||this.placeholder||"";return n`
1
+ import{N as d,k as n}from"../assets/no-shadow-element-D4NOg0uW.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as c}from"../assets/property-BXNy7Yd-.js";import{r as u}from"../assets/state-b8IyfZUU.js";import"../assets/mealz-sdk-E_fNZM-c.js";var _=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,i,t,o)=>{for(var l=o>1?void 0:o?m(i,t):i,p=e.length-1,r;p>=0;p--)(r=e[p])&&(l=(o?r(i,t,l):r(l))||l);return o&&l&&_(i,t,l),l};let s=class extends d{constructor(){super(),this.options=[],this.value="",this.placeholder="",this.disabled=!1,this._open=!1,this._onWindowClick=e=>{e.composedPath().includes(this)||this._open&&(this._open=!1,this.requestUpdate())},this.styleURL=new URL("./select/select.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this._attachOutsideClick()}disconnectedCallback(){this._detachOutsideClick(),super.disconnectedCallback()}render(){const e=this.options.find(t=>t.id===this.value),i=(e==null?void 0:e.label)||this.placeholder||"";return n`
2
2
  <div class="mealz-select">
3
3
  <button
4
4
  type="button"
@@ -1,4 +1,4 @@
1
- import"../assets/store-locator-CpKpyxUa.js";import{N as o,k as c}from"../assets/no-shadow-element-QlLhHglK.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as b}from"../assets/property-ewXDvYQv.js";import"../select/select.min.js";import"../assets/state-CB7P_Crl.js";import"../assets/query-BApjzB0v.js";import"../assets/mealz-sdk-E_fNZM-c.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(e,t,i,l)=>{for(var s=l>1?void 0:l?m(t,i):t,r=e.length-1,d;r>=0;r--)(d=e[r])&&(s=(l?d(t,i,s):d(s))||s);return l&&s&&p(t,i,s),s};let a=class extends o{constructor(){super(),this._selectedTabIndex=0,this.styleURL=new URL("./slider-tabs/slider-tabs.css",this.getBaseURL())}get selectedTabIndex(){return this._selectedTabIndex}set selectedTabIndex(e){this._selectedTabIndex!==e&&(this._selectedTabIndex=e,this.sliderElement&&this.updateSlider())}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}firstUpdated(){this.sliderElement=this.querySelector(".mealz-slider-tab__background"),this.updateSlider()}render(){return c`
1
+ import"../assets/store-locator-CQ_XQBby.js";import{N as o,k as c}from"../assets/no-shadow-element-D4NOg0uW.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as b}from"../assets/property-BXNy7Yd-.js";import"../select/select.min.js";import"../assets/state-b8IyfZUU.js";import"../assets/query-BApjzB0v.js";import"../assets/mealz-sdk-E_fNZM-c.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(e,t,i,l)=>{for(var s=l>1?void 0:l?m(t,i):t,r=e.length-1,d;r>=0;r--)(d=e[r])&&(s=(l?d(t,i,s):d(s))||s);return l&&s&&p(t,i,s),s};let a=class extends o{constructor(){super(),this._selectedTabIndex=0,this.styleURL=new URL("./slider-tabs/slider-tabs.css",this.getBaseURL())}get selectedTabIndex(){return this._selectedTabIndex}set selectedTabIndex(e){this._selectedTabIndex!==e&&(this._selectedTabIndex=e,this.sliderElement&&this.updateSlider())}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}firstUpdated(){this.sliderElement=this.querySelector(".mealz-slider-tab__background"),this.updateSlider()}render(){return c`
2
2
  <div class="mealz-slider-tabs">
3
3
  ${this.tabs.map((e,t)=>c`
4
4
  <button
@@ -1,4 +1,4 @@
1
- import"../assets/store-locator-CpKpyxUa.js";import{N as p,D as m,k as u}from"../assets/no-shadow-element-QlLhHglK.js";import{t as d}from"../assets/custom-element-BhZVzxrc.js";import{n as h}from"../assets/property-ewXDvYQv.js";import{m as l}from"../assets/mealz-sdk-E_fNZM-c.js";import"../select/select.min.js";import"../assets/state-CB7P_Crl.js";import"../assets/query-BApjzB0v.js";var b=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,i,r)=>{for(var t=r>1?void 0:r?w(s,i):s,o=e.length-1,n;o>=0;o--)(n=e[o])&&(t=(r?n(s,i,t):n(t))||t);return r&&t&&b(s,i,t),t};let a=class extends p{constructor(){super(),this.analyticsPath="",this.subscriptions=[],this.styleURL=new URL("./store-indicator/store-indicator.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.setCurrentPosLabel()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return this.currentPosLabel?u`
1
+ import"../assets/store-locator-CQ_XQBby.js";import{N as p,D as m,k as u}from"../assets/no-shadow-element-D4NOg0uW.js";import{t as d}from"../assets/custom-element-BhZVzxrc.js";import{n as h}from"../assets/property-BXNy7Yd-.js";import{m as l}from"../assets/mealz-sdk-E_fNZM-c.js";import"../select/select.min.js";import"../assets/state-b8IyfZUU.js";import"../assets/query-BApjzB0v.js";var b=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,i,r)=>{for(var t=r>1?void 0:r?w(s,i):s,o=e.length-1,n;o>=0;o--)(n=e[o])&&(t=(r?n(s,i,t):n(t))||t);return r&&t&&b(s,i,t),t};let a=class extends p{constructor(){super(),this.analyticsPath="",this.subscriptions=[],this.styleURL=new URL("./store-indicator/store-indicator.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.setCurrentPosLabel()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return this.currentPosLabel?u`
2
2
  <div class="mealz-store-indicator">
3
3
  <span class="mealz-store-indicator__pos-label mealz-ds-text weight-xl">
4
4
  ${this.currentPosLabel}
@@ -1,4 +1,4 @@
1
- import{N as c,k as r}from"../assets/no-shadow-element-QlLhHglK.js";import{t as m}from"../assets/custom-element-BhZVzxrc.js";import{r as u}from"../assets/state-CB7P_Crl.js";import{m as o}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as g}from"../assets/skipWhile-i7Cmb462.js";import{s as b}from"../assets/switchMap-Dt8kq-AX.js";import{m as v}from"../assets/map-hUep_Pe9.js";import"../assets/property-ewXDvYQv.js";import"../assets/OperatorSubscriber-DTLDfxTG.js";import"../assets/innerFrom-D6KOflHk.js";var z=Object.defineProperty,S=Object.getOwnPropertyDescriptor,h=(e,s,n,i)=>{for(var t=i>1?void 0:i?S(s,n):s,a=e.length-1,l;a>=0;a--)(l=e[a])&&(t=(i?l(s,n,t):l(t))||t);return i&&t&&z(s,n,t),t};let d=class extends c{constructor(){super(),this.step=1,this.modalConfirmed=!1,this.steps=[{img:"https://storage.googleapis.com/assets.miam.tech/generic/images/8.7/noSupplierOnboardingStep1.png",title:"Les recettes sont commandables en ligne !",content:r`<span class="mealz-no-supplier-onboarding__bold">Commandez</span>
1
+ import{N as c,k as r}from"../assets/no-shadow-element-D4NOg0uW.js";import{t as m}from"../assets/custom-element-BhZVzxrc.js";import{r as u}from"../assets/state-b8IyfZUU.js";import{m as o}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as g}from"../assets/skipWhile-B_4e7jSH.js";import{s as b}from"../assets/switchMap-BYsewftM.js";import{m as v}from"../assets/map-D6X2syNu.js";import"../assets/property-BXNy7Yd-.js";import"../assets/OperatorSubscriber-B37s2U6v.js";import"../assets/innerFrom-D8hyVDmo.js";var z=Object.defineProperty,S=Object.getOwnPropertyDescriptor,h=(e,s,n,i)=>{for(var t=i>1?void 0:i?S(s,n):s,a=e.length-1,l;a>=0;a--)(l=e[a])&&(t=(i?l(s,n,t):l(t))||t);return i&&t&&z(s,n,t),t};let d=class extends c{constructor(){super(),this.step=1,this.modalConfirmed=!1,this.steps=[{img:"https://storage.googleapis.com/assets.miam.tech/generic/images/8.7/noSupplierOnboardingStep1.png",title:"Les recettes sont commandables en ligne !",content:r`<span class="mealz-no-supplier-onboarding__bold">Commandez</span>
2
2
  dès à présent les ingrédients de vos recettes en cliquant sur le bouton
3
3
  <span class="mealz-no-supplier-onboarding__bold">“Mes courses”</span>`},{img:"https://storage.googleapis.com/assets.miam.tech/generic/images/8.7/noSupplierOnboardingStep2.png",title:"Choisissez votre drive",content:"Sélectionnez un magasin parmi les enseignes participantes et disponibles proches de vous"},{img:"https://storage.googleapis.com/assets.miam.tech/generic/images/8.7/noSupplierOnboardingStep3.png",title:"Une recette, des produits",content:"Ajoutez les produits de votre choix dans votre panier et ajustez les quantités."},{img:"https://storage.googleapis.com/assets.miam.tech/generic/images/8.7/noSupplierOnboardingStep4.png",title:"Commande en 1 clic",content:"Accédez à votre panier et passez votre commande dans le magasin sélectionné."}],this.analyticsPath="/onboarding",this.styleURL=new URL("./no-supplier-onboarding/no-supplier-onboarding.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.pageview(),this.listenToModalCloseEvent()}render(){const{img:e,title:s,content:n}=this.steps[this.step-1];return r`
4
4
  <div class="mealz-no-supplier-onboarding">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mealz-components",
3
3
  "type": "module",
4
- "version": "2.1.2",
4
+ "version": "2.2.0",
5
5
  "main": "./dist/mealz-components.js",
6
6
  "module": "./dist/mealz-components.js",
7
7
  "scripts": {
@@ -1 +0,0 @@
1
- import{a as i}from"./async-CmPLa8Kr.js";import{t as m}from"./take-DpcsPTvZ.js";import{m as a}from"./map-hUep_Pe9.js";import{m as e}from"./mergeMap-DK1Hk0t3.js";import{i as f}from"./innerFrom-D6KOflHk.js";import{t as p}from"./timer-C5HGcf9-.js";function u(r){return a(function(){return r})}function s(r,t){return e(function(n,o){return f(r(n,o)).pipe(m(1),u(n))})}function l(r,t){t===void 0&&(t=i);var n=p(r,t);return s(function(){return n})}export{l as d};
@@ -1 +0,0 @@
1
- import{O as r}from"./no-shadow-element-QlLhHglK.js";var t=new r(function(e){return e.complete()});export{t as E};
@@ -1 +0,0 @@
1
- import{m as s}from"./mealz-sdk-E_fNZM-c.js";function i(t){const e={"language-id":s.user.getLanguage(),"supplier-token":s.supplier.getToken(),"session-id":t},a=localStorage.getItem("_miam/userId");return a?e.authorization=`user_id ${a}`:e["authless-id"]=localStorage.getItem("_miam/authlessId"),e}export{i as b};
@@ -1 +0,0 @@
1
- import{a as n,b as p}from"./no-shadow-element-QlLhHglK.js";import{m as o}from"./map-hUep_Pe9.js";var t=Array.isArray;function i(a,r){return t(r)?a.apply(void 0,n([],p(r))):a(r)}function y(a){return o(function(r){return i(a,r)})}export{y as m};
@@ -1 +0,0 @@
1
- import{m as n}from"./mergeAll-B07hn2cK.js";import{i as t}from"./innerFrom-D6KOflHk.js";import{E as s}from"./empty-kpxVz-0O.js";import{p,a as f,f as u}from"./from-DdsjDX8p.js";function h(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var o=p(r),a=f(r,1/0),m=r;return m.length?m.length===1?t(m[0]):n(a)(u(m,o)):s}export{h as m};
@@ -1 +0,0 @@
1
- import{m}from"./mergeMap-DK1Hk0t3.js";import{t}from"./no-shadow-element-QlLhHglK.js";function o(i){return i===void 0&&(i=1/0),m(t,i)}export{o as m};