mealz-components 2.6.1 → 2.6.2

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.
@@ -0,0 +1,19 @@
1
+ import{N as p,D as l,k as h}from"./no-shadow-element-D62BBu0I.js";import{n as i}from"./property-CoRN-Ln2.js";var u=Object.defineProperty,n=(a,t,e,c)=>{for(var o=void 0,r=a.length-1,d;r>=0;r--)(d=a[r])&&(o=d(t,e,o)||o);return o&&u(t,e,o),o};class s extends p{constructor(){super(),this.titleSlot=l,this.contentSlot=l,this.noStyling=!1,this.isCollapsed=!0,this.hasInitializedSlots=!1,this.styleURL=new URL("./accordion/accordion.css",this.getBaseURL())}connectedCallback(){if(super.connectedCallback(),this.hasInitializedSlots)return;const t=this.querySelector('[slot="title"]'),e=this.querySelector('[slot="content"]'),c=!!(t||e);t&&(t.removeAttribute("slot"),this.titleSlot=t),e&&(e.removeAttribute("slot"),this.contentSlot=e),c&&(this.innerHTML="",this.hasInitializedSlots=!0)}disconnectedCallback(){super.disconnectedCallback()}toggleAccordion(){this.isCollapsed=!this.isCollapsed,this.dispatchEvent(new CustomEvent("isCollapsedChange",{detail:{isCollapsed:this.isCollapsed},bubbles:!0,composed:!0})),this.requestUpdate()}updated(){this.classList.toggle("opened",!this.isCollapsed)}renderSlotContent(t){return t===l?l:typeof t=="string"?h`${t}`:t}render(){return h`
2
+ <button
3
+ class="mealz-accordion__header${this.noStyling?"-no-styling":""}"
4
+ @click=${()=>this.toggleAccordion()}
5
+ aria-expanded=${!this.isCollapsed}
6
+ >
7
+ ${this.renderSlotContent(this.titleSlot)}
8
+ <img
9
+ class="mealz-accordion__icon"
10
+ src=${this.iconUrl??"https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down.svg"}
11
+ alt="open and close icon"
12
+ />
13
+ </button>
14
+ <div class="mealz-accordion__collapsable-container${this.noStyling?"-no-styling":""}">
15
+ <div class="mealz-accordion__collapsable-content">
16
+ ${this.renderSlotContent(this.contentSlot)}
17
+ </div>
18
+ </div>
19
+ `}}n([i({attribute:!1})],s.prototype,"titleSlot");n([i({attribute:!1})],s.prototype,"contentSlot");n([i({type:String})],s.prototype,"iconUrl");n([i({type:Boolean})],s.prototype,"noStyling");n([i({type:Boolean})],s.prototype,"isCollapsed");customElements.get("mealz-accordion")||customElements.define("mealz-accordion",s);
@@ -1,4 +1,4 @@
1
- import{i as d,O as h,N as f,k as l}from"../assets/no-shadow-element-D62BBu0I.js";import{m as a,w as m}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as b}from"../assets/skip-Bup0JB81.js";import{t as S}from"../assets/take-CpvJwza7.js";import"../assets/filter-q99GWcpD.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/empty-qrpgDBbc.js";function u(i){return!!i&&(i instanceof h||d(i.lift)&&d(i.subscribe))}class T extends f{constructor(){super(),this.supplierName=null,this.displayFirstStep=!1,this.displaySecondStep=!1,this.subscriptions=[],this.close=()=>{this.displayFirstStep=!1,this.displaySecondStep=!1,this.requestUpdate()},this.openFirstStep=()=>{this.displayFirstStep=!0,this.displaySecondStep=!1,this.requestUpdate()},this.goToSecondStep=()=>{var s,e;this.subscriptions.push((e=(s=a)==null?void 0:s.basket)==null?void 0:e.refreshCurrentBasket().pipe(b(1),S(1)).subscribe(t=>{var n;((n=t==null?void 0:t.attributes)==null?void 0:n.status)==="transferring"&&(this.displayFirstStep=!1,this.displaySecondStep=!0,this.requestUpdate())}))},this.cancelTransfer=()=>{var e;const s=(e=a)==null?void 0:e.basketTransfer.abortTransfer();if(u(s)){this.subscriptions.push(s.subscribe(()=>this.close()));return}this.close()},this.continueTransfer=()=>{var s,e,t,r;this.displayFirstStep=!0,this.displaySecondStep=!1,this.requestUpdate(),typeof((e=(s=a)==null?void 0:s.basket)==null?void 0:e.transfer)=="function"&&a.basketTransfer.transfer(),typeof((r=(t=a)==null?void 0:t.basketTransfer)==null?void 0:r.navigateToTransferUrl)=="function"&&a.basketTransfer.navigateToTransferUrl()},this.styleURL=new URL("./basket-transfer-modal/basket-transfer-modal.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),m().then(()=>{this.listenToPos(),this.listenToTransferState()}).catch(s=>console.error("[basket-transfer-modal] Mealz SDK unavailable",s))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(s=>s.unsubscribe())}render(){return!this.displayFirstStep&&!this.displaySecondStep?l``:l`
1
+ import{O as h,i as d,N as f,k as l}from"../assets/no-shadow-element-D62BBu0I.js";import{m as a,w as m}from"../assets/mealz-sdk-E_fNZM-c.js";import{s as b}from"../assets/skip-Bup0JB81.js";import{t as S}from"../assets/take-CpvJwza7.js";import"../assets/filter-q99GWcpD.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/empty-qrpgDBbc.js";function u(i){return!!i&&(i instanceof h||d(i.lift)&&d(i.subscribe))}class T extends f{constructor(){super(),this.supplierName=null,this.displayFirstStep=!1,this.displaySecondStep=!1,this.subscriptions=[],this.close=()=>{this.displayFirstStep=!1,this.displaySecondStep=!1,this.requestUpdate()},this.openFirstStep=()=>{this.displayFirstStep=!0,this.displaySecondStep=!1,this.requestUpdate()},this.goToSecondStep=()=>{var s,e;this.subscriptions.push((e=(s=a)==null?void 0:s.basket)==null?void 0:e.refreshCurrentBasket().pipe(b(1),S(1)).subscribe(t=>{var n;((n=t==null?void 0:t.attributes)==null?void 0:n.status)==="transferring"&&(this.displayFirstStep=!1,this.displaySecondStep=!0,this.requestUpdate())}))},this.cancelTransfer=()=>{var e;const s=(e=a)==null?void 0:e.basketTransfer.abortTransfer();if(u(s)){this.subscriptions.push(s.subscribe(()=>this.close()));return}this.close()},this.continueTransfer=()=>{var s,e,t,r;this.displayFirstStep=!0,this.displaySecondStep=!1,this.requestUpdate(),typeof((e=(s=a)==null?void 0:s.basket)==null?void 0:e.transfer)=="function"&&a.basketTransfer.transfer(),typeof((r=(t=a)==null?void 0:t.basketTransfer)==null?void 0:r.navigateToTransferUrl)=="function"&&a.basketTransfer.navigateToTransferUrl()},this.styleURL=new URL("./basket-transfer-modal/basket-transfer-modal.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),m().then(()=>{this.listenToPos(),this.listenToTransferState()}).catch(s=>console.error("[basket-transfer-modal] Mealz SDK unavailable",s))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(s=>s.unsubscribe())}render(){return!this.displayFirstStep&&!this.displaySecondStep?l``:l`
2
2
  <mealz-modal
3
3
  .titleSlot=${l`<span class="mealz-ds-text weight-xxl">Transfert du panier</span>`}
4
4
  .contentSlot=${this.displaySecondStep?this.renderTransferModalConfirm():this.renderTransferModalInitial()}
@@ -1 +1 @@
1
- import"../basket-preview/basket-preview.min.js";import"../../drawer-view-swapper/drawer-view-swapper.min.js";import{N as e}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as r}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/query-BApjzB0v.js";import"../../slider-tabs/slider-tabs.min.js";import"../../counter/counter.min.js";import"../../assets/debounceTime-Cf_7YmIn.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../price/price.min.js";import"../../assets/price-D6RVRYHJ.js";import"../../assets/singleton-COF3iBbF.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../assets/delay-DHNms76g.js";import"../../assets/take-CpvJwza7.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/map-DT-7dkaR.js";import"../../assets/mergeMap-D2yctTHQ.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/timer-3Kpx74mt.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/switchMap-BAdE9Uzw.js";import"../../drawer/drawer.min.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-Beza3ws3.js";import"../../assets/filter-q99GWcpD.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-DsRHfwo4.js";import"../../assets/merge-DzIA6T0M.js";import"../../assets/mergeAll-DpEYIxY3.js";import"../../assets/args-DAL2bHut.js";import"../../assets/from-D8c5akO7.js";import"../../assets/product-card-wIoU7Z_5.js";import"../../assets/promotion-badge-CDaL7Tqv.js";import"../../assets/guestObserver-C5qvv1Ll.js";import"../../assets/accordion-Unx2E22K.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../planner/planner-onboarding/planner-onboarding.min.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/responsive-C7Qf71r3.js";import"../../assets/tap-BN_fPb40.js";import"../../assets/combineLatest-Capvy1jI.js";import"../../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../../planner/planner-catalog/planner-catalog.min.js";import"../catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-kXqVrZ5h.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../assets/of-DtJFltSl.js";import"../../supplier-selector/supplier-selector.min.js";import"../../preferences/preferences.min.js";class m extends e{constructor(){super(...arguments),this.analyticsPath="",this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.subscriptions.push(mealz.basket.recipeCount().subscribe(t=>{this.recipesCount=t,this.updateDOM()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(t=>t.unsubscribe())}render(){var i;if(this.button=this.querySelector(".mealz-my-meals-button"),!this.button)return;const t=(i=this.attributes["starting-data"])==null?void 0:i.value;if(t){const{path:o}=JSON.parse(t);this.analyticsPath=o,this.removeAttribute("starting-data")}this.button.addEventListener("click",o=>{o.stopPropagation(),this.toggleBasketPreview()})}toggleBasketPreview(){this.sendBasketDisplayEvent(),r.basket.basketPreviewState$.next({isOpen:!0})}updateDOM(){var i;if(!this.button)return;this.recipesCount?this.button.classList.remove("hidden"):this.button.classList.add("hidden");const t=(i=this.button.querySelector(".mealz-my-meals-button__text"))==null?void 0:i.firstElementChild;t&&(t.innerHTML=`${this.recipesCount||0}`)}sendBasketDisplayEvent(){r.analytics.sendEvent("basket.display",this.analyticsPath,{})}}customElements.get("mealz-my-meals-button")||customElements.define("mealz-my-meals-button",m);
1
+ import"../basket-preview/basket-preview.min.js";import"../../drawer-view-swapper/drawer-view-swapper.min.js";import{N as e}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as r}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/query-BApjzB0v.js";import"../../slider-tabs/slider-tabs.min.js";import"../../counter/counter.min.js";import"../../assets/debounceTime-Cf_7YmIn.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../price/price.min.js";import"../../assets/price-D6RVRYHJ.js";import"../../assets/singleton-COF3iBbF.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../assets/delay-DHNms76g.js";import"../../assets/take-CpvJwza7.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/map-DT-7dkaR.js";import"../../assets/mergeMap-D2yctTHQ.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/timer-3Kpx74mt.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/switchMap-BAdE9Uzw.js";import"../../drawer/drawer.min.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-Beza3ws3.js";import"../../assets/filter-q99GWcpD.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-DsRHfwo4.js";import"../../assets/merge-DzIA6T0M.js";import"../../assets/mergeAll-DpEYIxY3.js";import"../../assets/args-DAL2bHut.js";import"../../assets/from-D8c5akO7.js";import"../../assets/product-card-wIoU7Z_5.js";import"../../assets/promotion-badge-CDaL7Tqv.js";import"../../assets/guestObserver-C5qvv1Ll.js";import"../../assets/accordion-BGFgJnk1.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../planner/planner-onboarding/planner-onboarding.min.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/responsive-C7Qf71r3.js";import"../../planner/helpers/planner-onboarding-storage.min.js";import"../../assets/tap-BN_fPb40.js";import"../../assets/combineLatest-Capvy1jI.js";import"../../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../../planner/planner-catalog/planner-catalog.min.js";import"../catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-kXqVrZ5h.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../assets/of-DtJFltSl.js";import"../../supplier-selector/supplier-selector.min.js";import"../../preferences/preferences.min.js";class m extends e{constructor(){super(...arguments),this.analyticsPath="",this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.subscriptions.push(mealz.basket.recipeCount().subscribe(t=>{this.recipesCount=t,this.updateDOM()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(t=>t.unsubscribe())}render(){var i;if(this.button=this.querySelector(".mealz-my-meals-button"),!this.button)return;const t=(i=this.attributes["starting-data"])==null?void 0:i.value;if(t){const{path:o}=JSON.parse(t);this.analyticsPath=o,this.removeAttribute("starting-data")}this.button.addEventListener("click",o=>{o.stopPropagation(),this.toggleBasketPreview()})}toggleBasketPreview(){this.sendBasketDisplayEvent(),r.basket.basketPreviewState$.next({isOpen:!0})}updateDOM(){var i;if(!this.button)return;this.recipesCount?this.button.classList.remove("hidden"):this.button.classList.add("hidden");const t=(i=this.button.querySelector(".mealz-my-meals-button__text"))==null?void 0:i.firstElementChild;t&&(t.innerHTML=`${this.recipesCount||0}`)}sendBasketDisplayEvent(){r.analytics.sendEvent("basket.display",this.analyticsPath,{})}}customElements.get("mealz-my-meals-button")||customElements.define("mealz-my-meals-button",m);
@@ -1,4 +1,4 @@
1
- import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-drawer.min.js";import{N as h,D as d,k as r,B as c}from"../assets/no-shadow-element-D62BBu0I.js";import{n as y}from"../assets/property-CoRN-Ln2.js";import{m as t,w as g,i as S}from"../assets/mealz-sdk-E_fNZM-c.js";import"../recipe-details/recipe-details.min.js";import"../store-locator/store-locator.min.js";import"../planner/planner-catalog/planner-catalog.min.js";import"../replace-item/replace-item.min.js";import"../replace-item-planner/replace-item-planner.min.js";import"../history-drawer/history-drawer.min.js";import"../supplier-selector/supplier-selector.min.js";import{o as k,l as P}from"../catalog/basket-preview/basket-preview.min.js";import"../preferences/preferences.min.js";import{m as b}from"../assets/merge-DzIA6T0M.js";import{m as p}from"../assets/map-DT-7dkaR.js";import"../assets/unsafe-html-DWUMaK1p.js";import"../assets/skipWhile-Beza3ws3.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/switchMap-BAdE9Uzw.js";import"../assets/innerFrom-DePszgj9.js";import"../assets/filter-q99GWcpD.js";import"../recipe-pricing/recipe-pricing.min.js";import"../assets/viewport-listener-DsRHfwo4.js";import"../assets/debounceTime-Cf_7YmIn.js";import"../assets/async-C5Kj_SqM.js";import"../assets/take-CpvJwza7.js";import"../assets/empty-qrpgDBbc.js";import"../assets/price-D6RVRYHJ.js";import"../assets/singleton-COF3iBbF.js";import"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import"../assets/product-card-wIoU7Z_5.js";import"../price/price.min.js";import"../assets/promotion-badge-CDaL7Tqv.js";import"../assets/guestObserver-C5qvv1Ll.js";import"../assets/delay-DHNms76g.js";import"../assets/mergeMap-D2yctTHQ.js";import"../assets/executeSchedule-CEDvgTzM.js";import"../assets/timer-3Kpx74mt.js";import"../assets/isScheduler-CqHuyMwD.js";import"../assets/isDate-BwHtzZM4.js";import"../assets/accordion-Unx2E22K.js";import"../store-indicator/store-indicator.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/query-BApjzB0v.js";import"../last-order-badge/last-order-badge.min.js";import"../order-again/order-again.min.js";import"../like-button/like-button.min.js";import"../last-order-modal/last-order-modal.min.js";import"../planner/planner-onboarding/planner-onboarding.min.js";import"../onboarding/onboarding.min.js";import"../onboarding/events.min.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../assets/responsive-C7Qf71r3.js";import"../assets/tap-BN_fPb40.js";import"../assets/combineLatest-Capvy1jI.js";import"../assets/from-D8c5akO7.js";import"../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../assets/args-DAL2bHut.js";import"../catalog/catalog-load-more.min.js";import"../assets/http-Bepz6wA4.js";import"../replace-item/replace-item-card/replace-item-card.min.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/distinctUntilChanged-kXqVrZ5h.js";import"../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../assets/of-DtJFltSl.js";import"../slider-tabs/slider-tabs.min.js";import"../modal/modal.min.js";import"../assets/mergeAll-DpEYIxY3.js";var z=Object.defineProperty,R=(l,e,i,a)=>{for(var s=void 0,o=l.length-1,n;o>=0;o--)(n=l[o])&&(s=n(e,i,s)||s);return s&&z(e,i,s),s};class f extends h{constructor(){super(),this.styleURL=new URL("./recipe-details/sponsor-block/sponsor-block.css",this.getBaseURL())}render(){var w,v,$;if(!this.sponsorBlock)return d;const{pictureUrl:e,content:i,backgroundColor:a="#FFFFFF",fontSize:s=16,fontColor:o="#000000"}=this.sponsorBlock,n=($=(v=(w=this.sponsorBlock.relationships)==null?void 0:w["sponsor-block-type"])==null?void 0:v.data)==null?void 0:$.name;if(!n)return r``;const m=n.toLowerCase(),u=`background-color: ${a}; font-size: ${s}px; color: ${o};`;switch(n){case"TEXT":case"SMALL_TEXT":case"TITLE":case"SMALL_TITLE":return r`
1
+ import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-drawer.min.js";import{N as h,D as d,k as r,B as c}from"../assets/no-shadow-element-D62BBu0I.js";import{n as y}from"../assets/property-CoRN-Ln2.js";import{m as t,w as g,i as S}from"../assets/mealz-sdk-E_fNZM-c.js";import"../recipe-details/recipe-details.min.js";import"../store-locator/store-locator.min.js";import"../planner/planner-catalog/planner-catalog.min.js";import"../replace-item/replace-item.min.js";import"../replace-item-planner/replace-item-planner.min.js";import"../history-drawer/history-drawer.min.js";import"../supplier-selector/supplier-selector.min.js";import{o as k,l as P}from"../catalog/basket-preview/basket-preview.min.js";import"../preferences/preferences.min.js";import{m as b}from"../assets/merge-DzIA6T0M.js";import{m as p}from"../assets/map-DT-7dkaR.js";import"../assets/unsafe-html-DWUMaK1p.js";import"../assets/skipWhile-Beza3ws3.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/switchMap-BAdE9Uzw.js";import"../assets/innerFrom-DePszgj9.js";import"../assets/filter-q99GWcpD.js";import"../recipe-pricing/recipe-pricing.min.js";import"../assets/viewport-listener-DsRHfwo4.js";import"../assets/debounceTime-Cf_7YmIn.js";import"../assets/async-C5Kj_SqM.js";import"../assets/take-CpvJwza7.js";import"../assets/empty-qrpgDBbc.js";import"../assets/price-D6RVRYHJ.js";import"../assets/singleton-COF3iBbF.js";import"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import"../assets/product-card-wIoU7Z_5.js";import"../price/price.min.js";import"../assets/promotion-badge-CDaL7Tqv.js";import"../assets/guestObserver-C5qvv1Ll.js";import"../assets/delay-DHNms76g.js";import"../assets/mergeMap-D2yctTHQ.js";import"../assets/executeSchedule-CEDvgTzM.js";import"../assets/timer-3Kpx74mt.js";import"../assets/isScheduler-CqHuyMwD.js";import"../assets/isDate-BwHtzZM4.js";import"../assets/accordion-BGFgJnk1.js";import"../store-indicator/store-indicator.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/query-BApjzB0v.js";import"../last-order-badge/last-order-badge.min.js";import"../order-again/order-again.min.js";import"../like-button/like-button.min.js";import"../last-order-modal/last-order-modal.min.js";import"../planner/planner-onboarding/planner-onboarding.min.js";import"../onboarding/onboarding.min.js";import"../onboarding/events.min.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../assets/responsive-C7Qf71r3.js";import"../planner/helpers/planner-onboarding-storage.min.js";import"../assets/tap-BN_fPb40.js";import"../assets/combineLatest-Capvy1jI.js";import"../assets/from-D8c5akO7.js";import"../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../assets/args-DAL2bHut.js";import"../catalog/catalog-load-more.min.js";import"../assets/http-Bepz6wA4.js";import"../replace-item/replace-item-card/replace-item-card.min.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/distinctUntilChanged-kXqVrZ5h.js";import"../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../assets/of-DtJFltSl.js";import"../slider-tabs/slider-tabs.min.js";import"../modal/modal.min.js";import"../assets/mergeAll-DpEYIxY3.js";var z=Object.defineProperty,R=(l,e,i,a)=>{for(var s=void 0,o=l.length-1,n;o>=0;o--)(n=l[o])&&(s=n(e,i,s)||s);return s&&z(e,i,s),s};class f extends h{constructor(){super(),this.styleURL=new URL("./recipe-details/sponsor-block/sponsor-block.css",this.getBaseURL())}render(){var w,v,$;if(!this.sponsorBlock)return d;const{pictureUrl:e,content:i,backgroundColor:a="#FFFFFF",fontSize:s=16,fontColor:o="#000000"}=this.sponsorBlock,n=($=(v=(w=this.sponsorBlock.relationships)==null?void 0:w["sponsor-block-type"])==null?void 0:v.data)==null?void 0:$.name;if(!n)return r``;const m=n.toLowerCase(),u=`background-color: ${a}; font-size: ${s}px; color: ${o};`;switch(n){case"TEXT":case"SMALL_TEXT":case"TITLE":case"SMALL_TITLE":return r`
2
2
  <div class="sponsor-text-blocks sponsor-${m}-block" style="background-color: ${a};">
3
3
  <span class="sponsor-${m}-block__text" style="font-size: ${n.includes("TITLE")?32:16}px; color: ${o};">
4
4
  ${i}
@@ -1,4 +1,4 @@
1
- import{N as b,k as p}from"../assets/no-shadow-element-D62BBu0I.js";import{n as c}from"../assets/property-CoRN-Ln2.js";import{r as d}from"../assets/state-DDIoBQp5.js";import{e as m}from"../assets/query-BApjzB0v.js";import{O as E,c as y,b as S}from"./events.min.js";import"../assets/mealz-sdk-E_fNZM-c.js";var w=Object.defineProperty,a=(u,t,e,o)=>{for(var s=void 0,i=u.length-1,n;i>=0;i--)(n=u[i])&&(s=n(t,e,s)||s);return s&&w(t,e,s),s};class l extends b{constructor(){super(),this.isTourActive=!1,this.stepIndex=0,this.popoverTitle="",this.popoverDescription="",this.steps=[],this.showProgress=!0,this.bottomMargin=110,this.configurations={},this.type="guide",this.highlightedElement=null,this.isThrottling=!1,this.originalBodyOverflow=null,this.originalDrawerOverflow=null,this.drawerContainer=null,this.drawerScrollTimeout=null,this.cachedRootElement=null,this.cachedNodesWithStyles=[],this.focusableSelector='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',this.boundThrottledStageUpdate=this.throttledStageUpdate.bind(this),this.boundHandleDocumentClick=this.handleDocumentClick.bind(this),this.boundHandleKeydown=this.handleKeydown.bind(this),this.boundOnDrawerScroll=this.onDrawerScroll.bind(this),this.boundHandleWindowScroll=this.handleWindowScroll.bind(this),this.scrollDisableTransitionTimeout=null,this.styleURL=new URL("./onboarding/onboarding.css",this.getBaseURL())}get currentStep(){return this.steps[this.stepIndex]}disconnectedCallback(){super.disconnectedCallback(),this.removeHighlight(),this.disableHoverBlock(),this.bindGlobalEvents(!1)}startOnboardingTour(){const t=this.getConfig(this.type);t&&(this.steps=t.steps||[],this.showProgress=t.showProgress??!0),!(!this.steps||this.steps.length===0)&&(this.stepIndex=0,this.applyCurrentStep(),this.isTourActive=!0,this.bindGlobalEvents(!0),this.focusPopoverAsync())}endOnboardingTour(){var t;this.removeHighlight(),this.disableHoverBlock(),this.isTourActive=!1,this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""}),this.bindGlobalEvents(!1),(t=this.triggerButton)==null||t.focus(),this.dispatchEvent(new CustomEvent(E))}shouldShowProgress(){return this.showProgress}getPopoverStyle(){var e;const t=(e=this.currentStep)==null?void 0:e.popover;return(t==null?void 0:t.fixedPosition)==="top"?`top: ${t.fixedOffset??0}px !important; bottom: initial !important;`:(t==null?void 0:t.fixedPosition)==="bottom"?`top: initial !important; bottom: ${t.fixedOffset??this.bottomMargin}px !important;`:`bottom: ${this.bottomMargin}px !important;`}render(){return this.isTourActive?p`
1
+ import{N as b,k as d}from"../assets/no-shadow-element-D62BBu0I.js";import{n as u}from"../assets/property-CoRN-Ln2.js";import{r as m}from"../assets/state-DDIoBQp5.js";import{e as g}from"../assets/query-BApjzB0v.js";import{O as S,c as E,b as y}from"./events.min.js";import"../assets/mealz-sdk-E_fNZM-c.js";var w=Object.defineProperty,a=(f,t,e,o)=>{for(var s=void 0,i=f.length-1,n;i>=0;i--)(n=f[i])&&(s=n(t,e,s)||s);return s&&w(t,e,s),s},p;const l=(p=class extends b{constructor(){super(),this.isTourActive=!1,this.stepIndex=0,this.popoverTitle="",this.popoverDescription="",this.steps=[],this.showProgress=!0,this.bottomMargin=110,this.configurations={},this.type="guide",this.highlightedElement=null,this.isThrottling=!1,this.originalBodyOverflow=null,this.originalDrawerOverflow=null,this.drawerContainer=null,this.drawerScrollTimeout=null,this.cachedRootElement=null,this.lastStageTargetTopPx=null,this.cachedNodesWithStyles=[],this.focusableSelector='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',this.boundThrottledStageUpdate=this.throttledStageUpdate.bind(this),this.boundHandleDocumentClick=this.handleDocumentClick.bind(this),this.boundHandleKeydown=this.handleKeydown.bind(this),this.boundOnDrawerScroll=this.onDrawerScroll.bind(this),this.boundHandleWindowScroll=this.handleWindowScroll.bind(this),this.scrollDisableTransitionTimeout=null,this.styleURL=new URL("./onboarding/onboarding.css",this.getBaseURL())}get currentStep(){return this.steps[this.stepIndex]}disconnectedCallback(){super.disconnectedCallback(),this.removeHighlight(),this.disableHoverBlock(),this.bindGlobalEvents(!1)}getStepSeenStorageKey(t){return`${p.STEP_SEEN_KEY_PREFIX}${t}`}hasSeenStep(t){try{return localStorage.getItem(this.getStepSeenStorageKey(t))==="true"}catch{return!1}}markStepAsSeen(t){try{localStorage.setItem(this.getStepSeenStorageKey(t),"true")}catch{}}filterAlreadySeenSteps(t){return(t||[]).filter(e=>!e.stepId||!this.hasSeenStep(e.stepId))}startOnboardingTour(){const t=this.getConfig(this.type);return t&&(this.steps=this.filterAlreadySeenSteps(t.steps||[]),this.showProgress=t.showProgress??this.steps.length>1),!this.steps||this.steps.length===0?!1:(this.stepIndex=0,this.applyCurrentStep(),this.isTourActive=!0,this.bindGlobalEvents(!0),this.focusPopoverAsync(),!0)}endOnboardingTour(){var t;this.removeHighlight(),this.disableHoverBlock(),this.isTourActive=!1,this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""}),this.bindGlobalEvents(!1),(t=this.triggerButton)==null||t.focus(),this.dispatchEvent(new CustomEvent(S))}shouldShowProgress(){return this.showProgress}getPopoverStyle(){var e;const t=(e=this.currentStep)==null?void 0:e.popover;return(t==null?void 0:t.fixedPosition)==="top"?`top: ${t.fixedOffset??0}px !important; bottom: initial !important;`:(t==null?void 0:t.fixedPosition)==="bottom"?`top: initial !important; bottom: ${t.fixedOffset??this.bottomMargin}px !important;`:`bottom: ${this.bottomMargin}px !important;`}render(){return this.isTourActive?d`
2
2
  <div class="mealz-onboarding-overlay" aria-hidden="true"></div>
3
3
  <div class="mealz-onboarding-stage" aria-hidden="true" @click=${()=>this.goToNextStep()}></div>
4
4
  <div class="mealz-onboarding-popover ${this.bottomMargin===0?"mealz-onboarding-popover__no-bottom-radius":""}"
@@ -20,7 +20,7 @@ import{N as b,k as p}from"../assets/no-shadow-element-D62BBu0I.js";import{n as c
20
20
  ${this.popoverDescriptionTemplate()}
21
21
  </div>
22
22
  <div class="mealz-onboarding-popover__footer ${this.shouldShowProgress()?"":"mealz-onboarding-popover__footer-centered"}">
23
- ${this.shouldShowProgress()?p`
23
+ ${this.shouldShowProgress()?d`
24
24
  <div class="mealz-onboarding-popover__progress"
25
25
  style="--value:${this.stepIndex+1}; --total:${this.steps.length}">
26
26
  <div class="mealz-onboarding-popover__progress-inner">
@@ -31,11 +31,11 @@ import{N as b,k as p}from"../assets/no-shadow-element-D62BBu0I.js";import{n as c
31
31
  ${this.popoverNextButtonTemplate()}
32
32
  </div>
33
33
  </div>
34
- `:null}popoverTitleTemplate(){return this.popoverTitle?p`<span class="mealz-ds-text weight-xxl size-m">${this.popoverTitle}</span>`:null}popoverDescriptionTemplate(){return this.popoverDescription?p`<div class="mealz-ds-text size-m" .innerHTML=${this.popoverDescription}></div>`:null}popoverNextButtonTemplate(){return p`
34
+ `:null}popoverTitleTemplate(){return this.popoverTitle?d`<span class="mealz-ds-text weight-xxl size-m">${this.popoverTitle}</span>`:null}popoverDescriptionTemplate(){return this.popoverDescription?d`<div class="mealz-ds-text size-m" .innerHTML=${this.popoverDescription}></div>`:null}popoverNextButtonTemplate(){return d`
35
35
  <button class="mealz-onboarding-popover__footer-button mealz-ds-button primary"
36
36
  @click=${()=>this.goToNextStep()}>
37
37
  <span class="mealz-ds-text size-m">
38
38
  ${this.isFinalStep()?"J'ai compris":"Suivant"}
39
39
  </span>
40
40
  </button>
41
- `}isFinalStep(){return this.stepIndex>=this.steps.length-1}goToNextStep(){if(this.isFinalStep())return this.dispatchEvent(new CustomEvent(y)),this.endOnboardingTour();this.disableHoverBlock(),this.stepIndex+=1,this.applyCurrentStep(),this.dispatchEvent(new CustomEvent(S,{detail:{stepIndex:this.stepIndex}}))}applyCurrentStep(){var o;if(this.removeHighlight(),!this.currentStep)return;const t=this.getCurrentElement();t&&(this.highlightedElement=t,t.classList.add("mealz-onboarding-highlight"),this.scrollToTargetElement(t),requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition()}));const e=((o=this.currentStep)==null?void 0:o.popover)||{};this.popoverTitle=e.title||"",this.popoverDescription=e.description||"",this.enableHoverBlock(),this.focusPopoverAsync()}scrollToTargetElement(t){var e,o;if((e=this.currentStep)!=null&&e.forceScrollIntoView||!this.isElementFullyVisible(t)&&t.tagName.toLowerCase()!=="div"){const s=window.matchMedia("(max-width: 768px)").matches;t.scrollIntoView({behavior:"smooth",block:"center",inline:s?"nearest":"center",...(o=this.currentStep)==null?void 0:o.scrollIntoViewOptionsOverride})}}getCurrentElement(){var e;const t=(e=this.currentStep)==null?void 0:e.element;try{if(typeof t=="string"){const o=document.querySelector(t);if(o&&this.isElementFullyVisible(o))return o;const s=Array.from(document.querySelectorAll(t));return s.length===0?null:s.find(n=>this.isElementFullyVisible(n))||s[0]||null}return t||null}catch(o){return console.warn("Failed to get element for onboarding:",o),null}}isElementFullyVisible(t){if(!(t instanceof HTMLElement))return!1;const e=t.getBoundingClientRect();return e.top>=0&&e.bottom<=window.innerHeight}resetStageElement(){this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""})}updateStagePosition(){if(!this.stageElement)return;const t=this.highlightedElement;if(!t){this.resetStageElement();return}const e=10,o=t.getBoundingClientRect(),s={top:0,left:0,right:window.innerWidth,bottom:window.innerHeight},i={top:Math.max(o.top,s.top),bottom:Math.min(o.bottom,s.bottom),left:Math.max(o.left,s.left),right:Math.min(o.right,s.right)};if(this.applyClippingElements(t,i),i.top>=i.bottom||i.left>=i.right){this.resetStageElement();return}const n=window.matchMedia("(max-width: 768px)").matches;let r=i.left-e,h=i.right-i.left+e*2;n&&r<0&&h>=window.innerWidth&&(r=8,h=Math.max(0,window.innerWidth-16)),Object.assign(this.stageElement.style,{position:"fixed",top:`${i.top-e}px`,left:`${r}px`,width:`${h}px`,height:`${i.bottom-i.top+e*2}px`})}applyClippingElements(t,e){[".mealz-planner-current-menu__footer"].forEach(s=>{var r,h;const i=document.querySelector(s);if(!i||!((r=i.parentElement)!=null&&r.contains(t))||(h=t.parentElement)!=null&&h.contains(i)||i.contains(t)||t.contains(i))return;const n=i.getBoundingClientRect();n.top<e.bottom&&n.bottom>e.top&&(e.bottom=Math.min(e.bottom,n.top))})}setStageTransitionEnabled(t){this.stageElement&&(this.stageElement.style.transition=t?"":"none")}handleWindowScroll(){this.isTourActive&&(this.setStageTransitionEnabled(!1),this.updateStagePosition(),this.updatePopoverPosition(),this.scrollDisableTransitionTimeout&&clearTimeout(this.scrollDisableTransitionTimeout),this.scrollDisableTransitionTimeout=window.setTimeout(()=>{this.setStageTransitionEnabled(!0),this.scrollDisableTransitionTimeout=null},120))}throttledStageUpdate(){this.isThrottling||(this.isThrottling=!0,requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition(),this.isThrottling=!1}))}updatePopoverPosition(){var h,g,f,v;if(!this.popoverElement||!((g=(h=this.currentStep)==null?void 0:h.popover)!=null&&g.overElement)||(v=(f=this.currentStep)==null?void 0:f.popover)!=null&&v.fixedPosition)return;let t=null;const e=this.currentStep.popover.overElement;if(typeof e=="string"?t=document.querySelector(e):e instanceof HTMLElement&&(t=e),!t)return;const o=t.getBoundingClientRect(),s=this.currentStep.popover.spacerTop??0,i=this.currentStep.popover.spacerLeft??0,n=this.currentStep.popover.spacerRight??0,r=this.currentStep.popover.spacerBottom??0;this.popoverElement.style.top=`${o.top}px`,this.popoverElement.style.left=`${o.left}px`,this.popoverElement.style.right="initial",this.popoverElement.style.bottom="initial",this.popoverElement.style.transform="initial",n&&(this.popoverElement.style.left="initial",this.popoverElement.style.right=`${o.right+n}px`),r&&(this.popoverElement.style.top="initial",this.popoverElement.style.bottom=`${o.bottom+r}px`),s&&(this.popoverElement.style.top=`${o.top+s}px`),i&&(this.popoverElement.style.left=`${o.left+i}px`)}onDrawerScroll(){this.setStageTransitionEnabled(!1),this.updateStagePosition(),this.updatePopoverPosition(),this.drawerScrollTimeout&&clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=window.setTimeout(()=>{this.setStageTransitionEnabled(!0),this.drawerScrollTimeout=null},120)}handleKeydown(t){this.isTourActive&&(t.key==="Escape"&&this.endOnboardingTour(),t.key==="Tab"&&this.popoverElement&&this.trapFocusWithinPopover(t))}handleDocumentClick(t){!this.isTourActive||t.target.closest(".mealz-onboarding-popover")||(t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),this.goToNextStep())}getDrawerContainer(){return this.drawerContainer||(this.drawerContainer=document.querySelector(".mealz-drawer__content-container")),this.drawerContainer}enableHoverBlock(){this.getCurrentElement()&&this.toggleHoverBlock("none","default")}disableHoverBlock(){if(this.getCurrentElement()){this.toggleHoverBlock("auto","");return}this.cachedNodesWithStyles.length&&this.cachedNodesWithStyles.forEach(({element:e,pointerEvents:o,cursor:s})=>{e.style.pointerEvents=o,e.style.cursor=s}),this.cachedRootElement=null,this.cachedNodesWithStyles=[]}toggleHoverBlock(t,e){const o=this.getCurrentElement();if(!o)return;const s=t==="auto"&&e==="";if(s&&this.cachedNodesWithStyles.length===0){const i=Array.from(o.querySelectorAll("*"));[o,...i].forEach(r=>{r.style.pointerEvents==="none"&&(r.style.pointerEvents=""),r.style.cursor==="default"&&(r.style.cursor="")}),this.cachedRootElement=null,this.cachedNodesWithStyles=[];return}if(this.cachedRootElement!==o||this.cachedNodesWithStyles.length===0){this.cachedRootElement=o;const i=Array.from(o.querySelectorAll("*")),n=[o,...i];this.cachedNodesWithStyles=n.map(r=>({element:r,pointerEvents:r.style.pointerEvents||"",cursor:r.style.cursor||""}))}if(s){this.cachedNodesWithStyles.forEach(({element:i,pointerEvents:n,cursor:r})=>{i.style.pointerEvents=n,i.style.cursor=r}),this.cachedRootElement=null,this.cachedNodesWithStyles=[];return}this.cachedNodesWithStyles.forEach(({element:i})=>{i.style.pointerEvents=t,i.style.cursor=e})}removeHighlight(){this.highlightedElement&&(this.highlightedElement.classList.remove("mealz-onboarding-highlight"),this.highlightedElement=null)}getConfig(t){var e,o;return((e=this.configurations)==null?void 0:e[t])||((o=this.configurations)==null?void 0:o.guide)}hasSeenOnboarding(t){const e=this.getConfig(t);if(!(e!=null&&e.localStorageKey))return!1;try{return localStorage.getItem(e.localStorageKey)==="true"}catch{return!1}}bindGlobalEvents(t){var e,o;t?(window.addEventListener("scroll",this.boundHandleWindowScroll,{capture:!0,passive:!0}),window.addEventListener("resize",this.boundThrottledStageUpdate,!0),document.addEventListener("click",this.boundHandleDocumentClick,!0),document.addEventListener("keydown",this.boundHandleKeydown,!0),this.drawerContainer=this.getDrawerContainer(),(e=this.drawerContainer)==null||e.addEventListener("scroll",this.boundOnDrawerScroll,{passive:!0})):(window.removeEventListener("scroll",this.boundHandleWindowScroll,{capture:!0}),window.removeEventListener("resize",this.boundThrottledStageUpdate,!0),document.removeEventListener("click",this.boundHandleDocumentClick,!0),document.removeEventListener("keydown",this.boundHandleKeydown,!0),this.drawerContainer=this.getDrawerContainer(),(o=this.drawerContainer)==null||o.removeEventListener("scroll",this.boundOnDrawerScroll)),t||(this.drawerContainer=null,this.drawerScrollTimeout&&(clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=null))}focusPopoverAsync(){this.updateComplete.then(()=>{if(!this.popoverElement)return;const t=this.popoverElement.querySelector(".mealz-onboarding-popover__footer button");if(t){t.focus({preventScroll:!0});return}})}trapFocusWithinPopover(t){if(!this.popoverElement)return;const e=this.popoverElement.querySelectorAll(this.focusableSelector),o=e[0],s=e[e.length-1],i=document.activeElement;if(!(!!i&&this.popoverElement.contains(i))){t.preventDefault(),(o||this.popoverElement).focus();return}if(t.shiftKey&&i===o){t.preventDefault(),(s||this.popoverElement).focus();return}!t.shiftKey&&i===s&&(t.preventDefault(),(o||this.popoverElement).focus())}}a([d()],l.prototype,"isTourActive");a([d()],l.prototype,"stepIndex");a([d()],l.prototype,"popoverTitle");a([d()],l.prototype,"popoverDescription");a([m(".mealz-onboarding-stage")],l.prototype,"stageElement");a([m(".mealz-onboarding-popover")],l.prototype,"popoverElement");a([m('button[aria-label="Start onboarding"]')],l.prototype,"triggerButton");a([c({type:Array})],l.prototype,"steps");a([c({type:Boolean})],l.prototype,"showProgress");a([c({type:Number})],l.prototype,"bottomMargin");a([c({attribute:!1})],l.prototype,"configurations");a([c({type:String})],l.prototype,"type");customElements.get("mealz-onboarding")||customElements.define("mealz-onboarding",l);export{l as M};
41
+ `}isFinalStep(){return this.stepIndex>=this.steps.length-1}goToNextStep(){if(this.isFinalStep())return this.dispatchEvent(new CustomEvent(E)),this.endOnboardingTour();this.disableHoverBlock(),this.stepIndex+=1,this.applyCurrentStep(),this.dispatchEvent(new CustomEvent(y,{detail:{stepIndex:this.stepIndex}}))}applyCurrentStep(){var o;if(this.removeHighlight(),!this.currentStep)return;this.currentStep.stepId&&this.markStepAsSeen(this.currentStep.stepId);const t=this.getCurrentElement();t&&(this.highlightedElement=t,t.classList.add("mealz-onboarding-highlight"),this.scrollToTargetElement(t),requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition()}));const e=((o=this.currentStep)==null?void 0:o.popover)||{};this.popoverTitle=e.title||"",this.popoverDescription=e.description||"",this.enableHoverBlock(),this.focusPopoverAsync()}scrollToTargetElement(t){var e,o;if((e=this.currentStep)!=null&&e.forceScrollIntoView||!this.isElementFullyVisible(t)&&t.tagName.toLowerCase()!=="div"){const s=window.matchMedia("(max-width: 768px)").matches;t.scrollIntoView({behavior:"smooth",block:"center",inline:s?"nearest":"center",...(o=this.currentStep)==null?void 0:o.scrollIntoViewOptionsOverride})}}getCurrentElement(){var e;const t=(e=this.currentStep)==null?void 0:e.element;try{if(typeof t=="string"){const o=document.querySelector(t);if(o&&this.isElementFullyVisible(o))return o;const s=Array.from(document.querySelectorAll(t));return s.length===0?null:s.find(n=>this.isElementFullyVisible(n))||s[0]||null}return t||null}catch(o){return console.warn("Failed to get element for onboarding:",o),null}}isElementFullyVisible(t){if(!(t instanceof HTMLElement))return!1;const e=t.getBoundingClientRect();return e.top>=0&&e.bottom<=window.innerHeight}resetStageElement(){this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""}),this.lastStageTargetTopPx=null}updateStagePosition(){if(!this.stageElement)return;const t=this.highlightedElement;if(!t){this.resetStageElement();return}const e=10,o=t.getBoundingClientRect(),s={top:0,left:0,right:window.innerWidth,bottom:window.innerHeight},i={top:Math.max(o.top,s.top),bottom:Math.min(o.bottom,s.bottom),left:Math.max(o.left,s.left),right:Math.min(o.right,s.right)};if(this.applyClippingElements(t,i),i.top>=i.bottom||i.left>=i.right){this.resetStageElement();return}const n=window.matchMedia("(max-width: 768px)").matches;let r=i.left-e,h=i.right-i.left+e*2;n&&r<0&&h>=window.innerWidth&&(r=8,h=Math.max(0,window.innerWidth-16));const c=i.top-e;this.lastStageTargetTopPx=c,Object.assign(this.stageElement.style,{position:"fixed",top:`${c}px`,left:`${r}px`,width:`${h}px`,height:`${i.bottom-i.top+e*2}px`})}applyClippingElements(t,e){[".mealz-planner-current-menu__footer"].forEach(s=>{var r,h;const i=document.querySelector(s);if(!i||!((r=i.parentElement)!=null&&r.contains(t))||(h=t.parentElement)!=null&&h.contains(i)||i.contains(t)||t.contains(i))return;const n=i.getBoundingClientRect();n.top<e.bottom&&n.bottom>e.top&&(e.bottom=Math.min(e.bottom,n.top))})}setStageTransitionEnabled(t){this.stageElement&&(this.stageElement.style.transition=t?"":"none")}handleWindowScroll(){this.isTourActive&&(this.setStageTransitionEnabled(!1),this.updateStagePosition(),this.updatePopoverPosition(),this.scrollDisableTransitionTimeout&&clearTimeout(this.scrollDisableTransitionTimeout),this.scrollDisableTransitionTimeout=window.setTimeout(()=>{this.setStageTransitionEnabled(!0),this.scrollDisableTransitionTimeout=null},120))}throttledStageUpdate(){this.isThrottling||(this.isThrottling=!0,requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition(),this.isThrottling=!1}))}updatePopoverPosition(){var c;if(!this.popoverElement)return;const t=(c=this.currentStep)==null?void 0:c.popover;if(!t||t.fixedPosition)return;if(typeof t.spacerAboveStage=="number"){if(typeof this.lastStageTargetTopPx!="number")return;const v=window.innerHeight-this.lastStageTargetTopPx+t.spacerAboveStage;this.popoverElement.style.bottom=`${v}px`;return}let e=null;const o=t.overElement;if(!o||(typeof o=="string"?e=document.querySelector(o):o instanceof HTMLElement&&(e=o),!e))return;const s=e.getBoundingClientRect(),i=t.spacerTop??0,n=t.spacerLeft??0,r=t.spacerRight??0,h=t.spacerBottom??0;this.popoverElement.style.top=`${s.top}px`,this.popoverElement.style.left=`${s.left}px`,this.popoverElement.style.right="initial",this.popoverElement.style.bottom="initial",this.popoverElement.style.transform="initial",r&&(this.popoverElement.style.left="initial",this.popoverElement.style.right=`${s.right+r}px`),h&&(this.popoverElement.style.top="initial",this.popoverElement.style.bottom=`${s.bottom+h}px`),i&&(this.popoverElement.style.top=`${s.top+i}px`),n&&(this.popoverElement.style.left=`${s.left+n}px`)}onDrawerScroll(){this.setStageTransitionEnabled(!1),this.updateStagePosition(),this.updatePopoverPosition(),this.drawerScrollTimeout&&clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=window.setTimeout(()=>{this.setStageTransitionEnabled(!0),this.drawerScrollTimeout=null},120)}handleKeydown(t){this.isTourActive&&(t.key==="Escape"&&this.endOnboardingTour(),t.key==="Tab"&&this.popoverElement&&this.trapFocusWithinPopover(t))}handleDocumentClick(t){!this.isTourActive||t.target.closest(".mealz-onboarding-popover")||(t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),this.goToNextStep())}getDrawerContainer(){return this.drawerContainer||(this.drawerContainer=document.querySelector(".mealz-drawer__content-container")),this.drawerContainer}enableHoverBlock(){this.getCurrentElement()&&this.toggleHoverBlock("none","default")}disableHoverBlock(){if(this.getCurrentElement()){this.toggleHoverBlock("auto","");return}this.cachedNodesWithStyles.length&&this.cachedNodesWithStyles.forEach(({element:e,pointerEvents:o,cursor:s})=>{e.style.pointerEvents=o,e.style.cursor=s}),this.cachedRootElement=null,this.cachedNodesWithStyles=[]}toggleHoverBlock(t,e){const o=this.getCurrentElement();if(!o)return;const s=t==="auto"&&e==="";if(s&&this.cachedNodesWithStyles.length===0){const i=Array.from(o.querySelectorAll("*"));[o,...i].forEach(r=>{r.style.pointerEvents==="none"&&(r.style.pointerEvents=""),r.style.cursor==="default"&&(r.style.cursor="")}),this.cachedRootElement=null,this.cachedNodesWithStyles=[];return}if(this.cachedRootElement!==o||this.cachedNodesWithStyles.length===0){this.cachedRootElement=o;const i=Array.from(o.querySelectorAll("*")),n=[o,...i];this.cachedNodesWithStyles=n.map(r=>({element:r,pointerEvents:r.style.pointerEvents||"",cursor:r.style.cursor||""}))}if(s){this.cachedNodesWithStyles.forEach(({element:i,pointerEvents:n,cursor:r})=>{i.style.pointerEvents=n,i.style.cursor=r}),this.cachedRootElement=null,this.cachedNodesWithStyles=[];return}this.cachedNodesWithStyles.forEach(({element:i})=>{i.style.pointerEvents=t,i.style.cursor=e})}removeHighlight(){this.highlightedElement&&(this.highlightedElement.classList.remove("mealz-onboarding-highlight"),this.highlightedElement=null)}getConfig(t){var e,o;return((e=this.configurations)==null?void 0:e[t])||((o=this.configurations)==null?void 0:o.guide)}hasSeenOnboarding(t){const e=this.getConfig(t);if(!(e!=null&&e.localStorageKey))return!1;try{return localStorage.getItem(e.localStorageKey)==="true"}catch{return!1}}bindGlobalEvents(t){var e,o;t?(window.addEventListener("scroll",this.boundHandleWindowScroll,{capture:!0,passive:!0}),window.addEventListener("resize",this.boundThrottledStageUpdate,!0),document.addEventListener("click",this.boundHandleDocumentClick,!0),document.addEventListener("keydown",this.boundHandleKeydown,!0),this.drawerContainer=this.getDrawerContainer(),(e=this.drawerContainer)==null||e.addEventListener("scroll",this.boundOnDrawerScroll,{passive:!0})):(window.removeEventListener("scroll",this.boundHandleWindowScroll,{capture:!0}),window.removeEventListener("resize",this.boundThrottledStageUpdate,!0),document.removeEventListener("click",this.boundHandleDocumentClick,!0),document.removeEventListener("keydown",this.boundHandleKeydown,!0),this.drawerContainer=this.getDrawerContainer(),(o=this.drawerContainer)==null||o.removeEventListener("scroll",this.boundOnDrawerScroll)),t||(this.drawerContainer=null,this.drawerScrollTimeout&&(clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=null))}focusPopoverAsync(){this.updateComplete.then(()=>{if(!this.popoverElement)return;const t=this.popoverElement.querySelector(".mealz-onboarding-popover__footer button");if(t){t.focus({preventScroll:!0});return}})}trapFocusWithinPopover(t){if(!this.popoverElement)return;const e=this.popoverElement.querySelectorAll(this.focusableSelector),o=e[0],s=e[e.length-1],i=document.activeElement;if(!(!!i&&this.popoverElement.contains(i))){t.preventDefault(),(o||this.popoverElement).focus();return}if(t.shiftKey&&i===o){t.preventDefault(),(s||this.popoverElement).focus();return}!t.shiftKey&&i===s&&(t.preventDefault(),(o||this.popoverElement).focus())}},p.STEP_SEEN_KEY_PREFIX="_miam/onboardingStepSeen/",p);a([m()],l.prototype,"isTourActive");a([m()],l.prototype,"stepIndex");a([m()],l.prototype,"popoverTitle");a([m()],l.prototype,"popoverDescription");a([g(".mealz-onboarding-stage")],l.prototype,"stageElement");a([g(".mealz-onboarding-popover")],l.prototype,"popoverElement");a([g('button[aria-label="Start onboarding"]')],l.prototype,"triggerButton");a([u({type:Array})],l.prototype,"steps");a([u({type:Boolean})],l.prototype,"showProgress");a([u({type:Number})],l.prototype,"bottomMargin");a([u({attribute:!1})],l.prototype,"configurations");a([u({type:String})],l.prototype,"type");let T=l;customElements.get("mealz-onboarding")||customElements.define("mealz-onboarding",T);export{T as M};
@@ -1 +1 @@
1
- import{M as r}from"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{a as d}from"../../onboarding/events.min.js";import{g as l}from"./get-planner-onboarding-modal-config.min.js";import"../../assets/no-shadow-element-D62BBu0I.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/property-CoRN-Ln2.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";function v(t="dashboard"){const n=l();document.body.contains(n)||document.body.appendChild(n),requestAnimationFrame(()=>{const o=n.querySelector("mealz-planner-onboarding-modal");o instanceof r&&(o.isConnected&&o.requestUpdate(),o.onModalDisplayed&&o.onModalDisplayed(),o.onQuestionMarkClick&&o.onQuestionMarkClick(t),n.addEventListener(d,a=>{var e;const i=(e=a.detail)==null?void 0:e.origin;(i==="overlay"||i==="x")&&typeof o.closeModalViaX=="function"&&(a.preventDefault(),o.closeModalViaX())}),o.addEventListener("onboardingConfirmed",()=>{n.close()}))})}export{v as o};
1
+ import{M as t}from"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{a as d}from"../../onboarding/events.min.js";import{g as l}from"./get-planner-onboarding-modal-config.min.js";import{a as s}from"./planner-onboarding-storage.min.js";import"../../assets/no-shadow-element-D62BBu0I.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/property-CoRN-Ln2.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";function D(r="dashboard"){if(s())return;const n=l();document.body.contains(n)||document.body.appendChild(n),requestAnimationFrame(()=>{const o=n.querySelector("mealz-planner-onboarding-modal");o instanceof t&&(o.isConnected&&o.requestUpdate(),o.onModalDisplayed&&o.onModalDisplayed(),o.onQuestionMarkClick&&o.onQuestionMarkClick(r),n.addEventListener(d,a=>{var e;const i=(e=a.detail)==null?void 0:e.origin;(i==="overlay"||i==="x")&&typeof o.closeModalViaX=="function"&&(a.preventDefault(),o.closeModalViaX())}),o.addEventListener("onboardingConfirmed",()=>{n.close()}))})}export{D as o};
@@ -0,0 +1 @@
1
+ const n="_miam/plannerOnboardingsDisabled",e=["_miam/customMenuOnboarding","_miam/suggestionOnboarding","_miam/currentMenuOnboarding","_miam/menuToBasketOnboarding","_miam/recipeDetailsOnboarding","_miam/guideOnboarding"];function r(){try{return localStorage.getItem(n)==="true"}catch{return!1}}function t(){try{localStorage.setItem(n,"true")}catch{}}function o(){try{for(const a of e)localStorage.setItem(a,"true")}catch{}}export{r as a,t as d,o as m};
@@ -1 +1 @@
1
- mealz-planner-current-menu{display:block}.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F);display:flex;flex-direction:column;min-height:100dvh}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 24px;box-sizing:border-box}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex;align-items:center;gap:8px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-catalog-toolbar__loader,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-catalog-toolbar__loader{position:relative;top:-10px;right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences .hidden,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;flex:1 1 auto;min-height:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0;position:relative}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:12px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-left:4px}.mealz-planner-current-menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row;justify-content:stretch;align-items:center;position:sticky;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f;z-index:10}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-fixed{position:fixed}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1035px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:410px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 410px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px 0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,218px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:218px;height:272px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{padding:8px 16px;gap:8px;border-bottom:1px solid var(--mealz-ds-color-border-default, var(--border-default, #d9e0e3))}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:row;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__content{min-height:460px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer{box-shadow:0 -2px 8px #0318201f;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;gap:12px}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-quick-menu-visible{border-radius:32px 32px 0 0}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:none;width:100%;flex-direction:column-reverse;align-items:stretch}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:block;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
1
+ mealz-planner-current-menu{display:block}.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F);display:flex;flex-direction:column;min-height:calc(100dvh - 140px)}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 24px;box-sizing:border-box}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex;align-items:center;gap:8px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button .mealz-catalog-toolbar__loader,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button .mealz-catalog-toolbar__loader{position:relative;top:-10px;right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:0}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences .hidden,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;flex:1 1 auto;min-height:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0;position:relative}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:12px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-left:4px}.mealz-planner-current-menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row;justify-content:stretch;align-items:center;position:sticky;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f;z-index:10}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-fixed{position:fixed}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;flex:1}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1035px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:410px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 410px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px 0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,218px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:218px;height:272px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header{padding:8px 16px;gap:8px;border-bottom:1px solid var(--mealz-ds-color-border-default, var(--border-default, #d9e0e3))}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__mobile-recipe-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:row;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-onboarding-button,.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__mobile-preferences-button{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__onboarding-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences{display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none!important}.mealz-planner-current-menu .mealz-planner-current-menu__content{min-height:460px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer{box-shadow:0 -2px 8px #0318201f;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;gap:12px}.mealz-planner-current-menu .mealz-planner-current-menu__footer.is-quick-menu-visible{border-radius:32px 32px 0 0}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-primary{display:none;width:100%;flex-direction:column-reverse;align-items:stretch}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-quick-menu{display:block;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
@@ -1 +1 @@
1
- import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{o as M}from"../helpers/open-onboarding-modal.min.js";import{M as E}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as w}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as I}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{M as L}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O as T}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as k}from"../../assets/state-DDIoBQp5.js";import{m as o}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as O,a as q}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-D6RVRYHJ.js";import{g as v,f as x}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-CpvJwza7.js";import{s as m}from"../../assets/switchMap-BAdE9Uzw.js";import{f as F}from"../../assets/from-D8c5akO7.js";import{m as p}from"../../assets/map-DT-7dkaR.js";import{f as h}from"../../assets/filter-q99GWcpD.js";import{c as V}from"../../assets/combineLatest-Capvy1jI.js";import{f}from"../../assets/firstValueFrom-Bcbk1SUg.js";import"../../drawer/drawer.min.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-Beza3ws3.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-DsRHfwo4.js";import"../../assets/debounceTime-Cf_7YmIn.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/merge-DzIA6T0M.js";import"../../assets/mergeAll-DpEYIxY3.js";import"../../assets/mergeMap-D2yctTHQ.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-wIoU7Z_5.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-CDaL7Tqv.js";import"../../assets/guestObserver-C5qvv1Ll.js";import"../../assets/delay-DHNms76g.js";import"../../assets/timer-3Kpx74mt.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-Unx2E22K.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/query-BApjzB0v.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../assets/tap-BN_fPb40.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-kXqVrZ5h.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../assets/of-DtJFltSl.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";function $({root:c,footer:e,fixedClass:t="is-fixed"}){let r;const i=()=>{r=void 0;const s=c.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,u=s.top<d-a&&s.bottom>d;e.classList.toggle(t,u),u?(e.style.left=`${s.left}px`,e.style.width=`${s.width}px`,c.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",c.style.paddingBottom="")},n=()=>{r===void 0&&(r=window.requestAnimationFrame(i))};return window.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",n,{passive:!0}),n(),()=>{window.removeEventListener("scroll",n),window.removeEventListener("resize",n),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",c.style.paddingBottom=""}}var D=Object.defineProperty,S=(c,e,t,r)=>{for(var i=void 0,n=c.length-1,s;n>=0;n--)(s=c[n])&&(i=s(e,t,i)||i);return i&&D(e,t,i),i};const C="view",R="menu",B="recipe";class g extends P{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new z(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=A.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.addEventListener("budgetUpdated",e=>{const t=e.detail;(t==null?void 0:t.budgetLimit)===void 0||t.budgetLimit===null||this.updateBudget(t.budgetLimit)}),this.isMobile=O(this,"","(max-width: 1023px)"),this.isCustomMenu=localStorage.getItem("_miam/isCustomMenu")==="true",this.mobileView=this.getInitialMobileViewFromUrlOrDefault(),this.handleResize(),this.removeResponsiveListener=q(this,e=>{e!==this.isMobile&&(this.isMobile=e),this.handleResize()},"","(max-width: 1023px)"),o.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(o.preferences.preferencesCount().subscribe(e=>this.updatePreferencesCount(e)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return $({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")?this.handlePrefilledRecipesFromEntry():this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const i=Date.now(),n=()=>{const s=this.nbrRecipeInMenu,a=Date.now()-i;if(s>0||a>=1e3){e();return}globalThis.setTimeout(n,50)};requestAnimationFrame(()=>{n()})})}showWelcomeModal(){const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new I;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",i=>{const n=i.detail??{};this.startPlannerOnboarding(n.isCustomMenu??this.isCustomMenu,!1)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true"),this.startPlannerOnboarding(!1,!0)}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const i=r.currentView$.subscribe(n=>{n!==void 0&&(document.body.contains(e)&&e.remove(),i.unsubscribe())})})}startPlannerOnboarding(e,t){this.scrollIntoView({behavior:"smooth",block:"center"});const r=new w;r.isCustomMenu=e,document.body.appendChild(r),t?(r.type=this.isMobile?"guide-mobile":"guide",r.launchOnboardingTour()):(this.isMobile?r.type=e?"custom-mobile":"suggestion-mobile":r.type=e?"custom":"suggestion",r.startTour())}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>M("current")),this.addClickListener("onboardingButtonMobile",()=>M("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e,t){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu"),(t==null?void 0:t.updateUrl)!==!1&&this.updateUrlMobileView(e)}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:i,footerPrimary:n,footerQuickMenu:s,footer:a}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",i&&(i.style.display=e?"flex":"none"),n&&(n.style.display=e?"flex":"none"),s&&(s.style.display=e?"none":"block"),a&&a.classList.toggle("is-quick-menu-visible",!e))}showSuggestions(){this.setMobileView("recipe")}getInitialMobileViewFromUrlOrDefault(){const e=this.getUrlMobileView();return e||(this.isCustomMenu?"recipe":"menu")}getUrlMobileView(){if(typeof window>"u")return null;try{const t=new URLSearchParams(window.location.search).get(C);return t?t===R?"menu":t===B?"recipe":null:null}catch{return null}}updateUrlMobileView(e){var t;if(!(typeof window>"u")&&(t=window.history)!=null&&t.replaceState)try{const r=new URL(window.location.href);r.searchParams.set(C,e==="menu"?R:B),window.history.replaceState(window.history.state,"",r.toString())}catch{console.error("Failed to update URL mobile view")}}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:i,footer:n}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),i&&(i.style.display="none"),n&&n.classList.remove("is-quick-menu-visible")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const i=r.querySelector("p");i&&(i.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new E;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=v()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=o.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>o.planner.createMenu()),l(1),m(r=>{const i=r==null?void 0:r.id;return i?F(x(!0)).pipe(m(n=>o.planner.updateMenu(i,{attributes:{guests:e,title:n}}).pipe(l(1),p(()=>{})))):new T(n=>{n.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){o.hook.hookCallback().pipe(l(1)).subscribe(e=>{e&&(this.storeId?(this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone()):console.log("register menu"))})}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(h(r=>r===!0),l(1)),t=o.planner.menuToBasket(this.basket.id).pipe(l(1),p(()=>o.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const n=r.querySelector("img");n&&n.src&&e.push(n.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:i}=this.elements;!t||!r||!i||(t.classList.toggle("disabled",!e),r.classList.toggle("hidden",!e),i.classList.toggle("hidden",e))}openCatalogModal(){const e=new _;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const i=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(i&&i.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,i){var b,y;const n=(y=(b=o.recipes)==null?void 0:b.productsPlannerByCategory$)==null?void 0:y.value,s=(n==null?void 0:n.toPickProducts)||[],a=r||this.getRecipeSource(),d=i||this.getJourney(),u=!!o.pos.currentPos().value;return this.recipeSources.set(e,a),o.planner.addRecipeToMenu(e,t,u,s).pipe(l(1),p(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.loaderToBasketComplete$.value&&this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return o.planner.removeRecipeFromMenu(e).pipe(l(1),p(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var i;if(localStorage.getItem("_miam/menuToBasketOnboarding")==="true")return;this.isMobile&&this.setMobileView("menu");const t=document.querySelector("mealz-drawer-view-swapper");((i=t==null?void 0:t.currentView$)==null?void 0:i.value)!==void 0?this.subscriptions.push(t.currentView$.pipe(h(n=>n===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){this.updateComplete.then(()=>{const e=new w;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const i=r.recipeId;i&&e.push(i)}),e}pageview(){o.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){o.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";o.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){o.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=o.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var d;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),i=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),n=this.querySelector(".mealz-planner-budget-gauge__budget"),s=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),i&&i.classList.toggle("hidden",e<=0),n&&n.classList.toggle("only-total",e<=0),s&&s.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(d=a.elements)!=null&&d.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new L;r.displayPlannerCurrentMenuModal();const i=e||(()=>this.replaceMenuWithPrefilledRecipes()),n=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",i),r.addEventListener("keepMenu",n)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const i=r.recipeId;i&&t.push(i)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await f(o.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||v()||4,t=this.loaderToBasketElement?f(this.loaderToBasketComplete$.pipe(h(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const i of this.prefilledRecipeIds)try{await f(this.addRecipe(i,e).pipe(l(1)))}catch(n){console.error("Error adding prefilled recipe to menu:",n)}})(),t]);const r=document.querySelector(".mealz-planner-current-menu");r&&(r.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}}S([k()],g.prototype,"isMobile");S([k()],g.prototype,"mobileView");customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",g);
1
+ import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{o as v}from"../helpers/open-onboarding-modal.min.js";import{M as B}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as b}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as E}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{a as p}from"../helpers/planner-onboarding-storage.min.js";import{M as I}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as S}from"../../assets/state-DDIoBQp5.js";import{m as s}from"../../assets/mealz-sdk-E_fNZM-c.js";import{i as L,a as T}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-D6RVRYHJ.js";import{g as R,f as q}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-CpvJwza7.js";import{s as m}from"../../assets/switchMap-BAdE9Uzw.js";import{f as F}from"../../assets/from-D8c5akO7.js";import{m as h}from"../../assets/map-DT-7dkaR.js";import{f as g}from"../../assets/filter-q99GWcpD.js";import{o as x}from"../../assets/of-DtJFltSl.js";import{c as V}from"../../assets/combineLatest-Capvy1jI.js";import{f as M}from"../../assets/firstValueFrom-Bcbk1SUg.js";import"../../drawer/drawer.min.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-Beza3ws3.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-DsRHfwo4.js";import"../../assets/debounceTime-Cf_7YmIn.js";import"../../assets/async-C5Kj_SqM.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/merge-DzIA6T0M.js";import"../../assets/mergeAll-DpEYIxY3.js";import"../../assets/mergeMap-D2yctTHQ.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-wIoU7Z_5.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-CDaL7Tqv.js";import"../../assets/guestObserver-C5qvv1Ll.js";import"../../assets/delay-DHNms76g.js";import"../../assets/timer-3Kpx74mt.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-BGFgJnk1.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/query-BApjzB0v.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../assets/tap-BN_fPb40.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-CHGhEDCk.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Bepz6wA4.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-kXqVrZ5h.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";function $({root:u,footer:e,fixedClass:t="is-fixed"}){let r;const n=()=>{r=void 0;const o=u.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,f=o.top<d-a&&o.bottom>d;e.classList.toggle(t,f),f?(e.style.left=`${o.left}px`,e.style.width=`${o.width}px`,u.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",u.style.paddingBottom="")},i=()=>{r===void 0&&(r=window.requestAnimationFrame(n))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),i(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",u.style.paddingBottom=""}}var U=Object.defineProperty,k=(u,e,t,r)=>{for(var n=void 0,i=u.length-1,o;i>=0;i--)(o=u[i])&&(n=o(e,t,n)||n);return n&&U(e,t,n),n},c;const y=(c=class extends P{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new z(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=A.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isApplyingPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}skipCurrentMenuMobileOnboardingOnce(){try{sessionStorage.setItem(c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,"true")}catch{}}consumeSkipCurrentMenuMobileOnboardingOnce(){try{const e=c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,t=sessionStorage.getItem(e)==="true";return t&&sessionStorage.removeItem(e),t}catch{return!1}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.checkCachedFinalizeMenuUrl(),this.addEventListener("budgetUpdated",t=>{const r=t.detail;(r==null?void 0:r.budgetLimit)===void 0||r.budgetLimit===null||this.updateBudget(r.budgetLimit)}),this.isMobile=L(this,"","(max-width: 1023px)");const e=localStorage.getItem("_miam/isCustomMenu");e===null?(localStorage.setItem("_miam/isCustomMenu","true"),this.isCustomMenu=!0):this.isCustomMenu=e==="true",this.mobileView="recipe",this.handleResize(),this.removeResponsiveListener=T(this,t=>{t!==this.isMobile&&(this.isMobile=t),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(t=>this.updatePreferencesCount(t)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return $({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);if(Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")){this.handlePrefilledRecipesFromEntry();return}this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const n=Date.now(),i=()=>{const o=this.nbrRecipeInMenu,a=Date.now()-n;if(o>0||a>=1e3){e();return}globalThis.setTimeout(i,50)};requestAnimationFrame(()=>{i()})})}showWelcomeModal(){if(p())return;const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new E;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};p()||this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true")}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const n=r.currentView$.subscribe(i=>{i!==void 0&&(document.body.contains(e)&&e.remove(),n.unsubscribe())})})}startPlannerOnboarding(e){if(p())return;this.scrollIntoView({behavior:"smooth",block:"center"});const t=new b;t.isCustomMenu=e,document.body.appendChild(t),this.isMobile?t.type=e?"custom-mobile":"suggestion-mobile":t.type=e?"custom":"suggestion",t.startTour()}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>v("current")),this.addClickListener("onboardingButtonMobile",()=>v("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu")}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o,footer:a}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",n&&(n.style.display=e?"flex":"none"),i&&(i.style.display=e?"flex":"none"),o&&(o.style.display=e?"none":"block"),a&&a.classList.toggle("is-quick-menu-visible",!e),e&&this.shouldStartCurrentMenuMobileOnboarding()&&this.launchCurrentMenuMobileOnboarding())}shouldStartCurrentMenuMobileOnboarding(){return!this.isMobile||p()||!this.querySelector(".mealz-planner-current-menu__menu")||this.consumeSkipCurrentMenuMobileOnboardingOnce()?!1:localStorage.getItem("_miam/currentMenuOnboarding")!=="true"}launchCurrentMenuMobileOnboarding(){localStorage.setItem("_miam/currentMenuOnboarding","true"),this.updateComplete.then(()=>{const e=new b;e.type="current-menu-mobile",document.body.appendChild(e),e.launchOnboardingTour()})}showSuggestions(){this.setMobileView("recipe")}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n,footer:i}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),n&&(n.style.display="none"),i&&i.classList.remove("is-quick-menu-visible")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const n=r.querySelector("p");n&&(n.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new B;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=R()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>s.planner.createMenu()),l(1),m(r=>{const n=r==null?void 0:r.id;return n?F(q(!0)).pipe(m(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),h(()=>{})))):new O(i=>{i.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){localStorage.setItem("_miam/cachedFinalizeMenuUrl",window.location.href),this.subscriptions.push(this.hasUserAndHasPos().pipe(m(()=>s.hook.hookCallback()),g(e=>e)).subscribe(()=>{this.storeId&&(localStorage.removeItem("_miam/cachedFinalizeMenuUrl"),this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone())}))}hasUserAndHasPos(){try{return s.user.isAuthenticated().pipe(m(e=>s.pos.currentPos().pipe(h(t=>[e,t!==void 0]))))}catch(e){return console.error("Error while checking user and pos:",e),x([!1,!1])}}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(g(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),h(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=r.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:n}=this.elements;this.storeId&&(!t||!r||!n)||!this.storeId&&!t||(t==null||t.classList.toggle("disabled",!e),r==null||r.classList.toggle("hidden",!e),n==null||n.classList.toggle("hidden",e))}openCatalogModal(){const e=new _;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const n=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(n&&n.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,n){var C,w;const i=(w=(C=s.recipes)==null?void 0:C.productsPlannerByCategory$)==null?void 0:w.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),d=n||this.getJourney(),f=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,f,o).pipe(l(1),h(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),h(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var i,o;if(this.isApplyingPrefilledRecipes||p()||(this.loaderToBasketElement||document.querySelector("mealz-to-basket-loader"))&&((i=this.loaderToBasketComplete$)==null?void 0:i.value)!==!0||localStorage.getItem("_miam/menuToBasketOnboarding")==="true"||this.nbrRecipeInMenu!==1)return;this.isMobile&&(this.skipCurrentMenuMobileOnboardingOnce(),this.setMobileView("menu"));const r=document.querySelector("mealz-drawer-view-swapper");((o=r==null?void 0:r.currentView$)==null?void 0:o.value)!==void 0?this.subscriptions.push(r.currentView$.pipe(g(a=>a===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){p()||this.updateComplete.then(()=>{const e=new b;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const n=r.recipeId;n&&e.push(n)}),e}pageview(){s.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){s.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";s.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){s.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){s.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=s.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var d;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),n=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),i=this.querySelector(".mealz-planner-budget-gauge__budget"),o=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),n&&n.classList.toggle("hidden",e<=0),i&&i.classList.toggle("only-total",e<=0),o&&o.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(d=a.elements)!=null&&d.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new I;r.displayPlannerCurrentMenuModal();const n=e||(()=>this.replaceMenuWithPrefilledRecipes()),i=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",n),r.addEventListener("keepMenu",i)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const n=r.recipeId;n&&t.push(n)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await M(s.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||R()||4;this.isApplyingPrefilledRecipes=!0;try{const r=this.loaderToBasketElement?M(this.loaderToBasketComplete$.pipe(g(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await M(this.addRecipe(n,e).pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),r])}finally{this.isApplyingPrefilledRecipes=!1}const t=document.querySelector(".mealz-planner-current-menu");t&&(t.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}checkCachedFinalizeMenuUrl(){localStorage.getItem("_miam/cachedFinalizeMenuUrl")&&this.handleMenu()}},c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY="_miam/skipCurrentMenuMobileOnboardingOnce",c);k([S()],y.prototype,"isMobile");k([S()],y.prototype,"mobileView");let D=y;customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",D);
@@ -1 +1 @@
1
- import"../planner-form/planner-form.min.js";import{M as m}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as i}from"../../assets/mealz-sdk-E_fNZM-c.js";import{g as M,f as g}from"../helpers/menu-title.min.js";import{t as r}from"../../assets/take-CpvJwza7.js";import{o as l}from"../../assets/of-DtJFltSl.js";import{f}from"../../assets/from-D8c5akO7.js";import{s as d}from"../../assets/switchMap-BAdE9Uzw.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";class C extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.storeId="",this.recipeIds=[],this.hasCustomRecipes=!1,this.currentMenuPageUrl="",this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1,this.menuTitle="",this.shouldUpdateMenuTitleOnRedirect=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initStartingData(),this.initSelectors(),this.addEventListeners(),this.syncGuestsFromStorage(),this.listenToPlannerGuestsChanges()}disconnectedCallback(){this.plannerGuestsChangeHandler&&document.removeEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler),super.disconnectedCallback()}initStartingData(){const e=this.getAttribute("starting-data");if(e){try{const{isCustomMenu:t,guestsPreference:n,storeId:s,hasCustomRecipes:a,menuId:o,recipesId:u,currentMenuPageUrl:h,recipeImgs:c}=JSON.parse(e);this.isCustomMenu=!!t,this.storeId=s??this.storeId,this.hasCustomRecipes=!!a,this.menuId=o??this.menuId,this.currentMenuPageUrl=h??this.currentMenuPageUrl,this.recipeImgs=c||[],this.recipeIds=Array.isArray(u)?u:[],typeof n=="number"&&(this.guests=n)}catch(t){console.error("Failed to parse starting-data:",t)}this.removeAttribute("starting-data"),this.initMenuTitle(),this.syncGuestsFromStorage()}}initMenuTitle(){i.planner.fetchMenuTitle().pipe(r(1)).subscribe(e=>{this.menuTitle=e||""})}syncGuestsFromStorage(){const e=M();typeof e=="number"&&(this.guests=e)}listenToPlannerGuestsChanges(){this.plannerGuestsChangeHandler=e=>{var n;const t=e;(n=t.detail)!=null&&n.guests&&(this.guests=t.detail.guests)},document.addEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler)}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.handleMenuOptionClick())}handleMenuOptionClick(){const e=this.isCustomMenu?"custom":"from-featured";this.sendModeSelectEvent(e),this.isFromPlannerEntry(),localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),this.proceedAfterHookAndOptionalModal()}sendModeSelectEvent(e){i.analytics.sendEvent("planner.mode.select",this.analyticsPath,{mode:e,guests:this.guests},"meals-planner-home")}isFromPlannerEntry(){return!!document.querySelector("mealz-planner-entry")}proceedAfterHookAndOptionalModal(){if(this.isFromPlannerEntry()){localStorage.setItem("_mealz/planner/from-entry","true"),!this.isCustomMenu&&this.recipeIds.length>0&&(this.hasCustomRecipes||(this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="")),this.redirectToMenu();return}else localStorage.removeItem("_mealz/planner/from-entry");!this.isCustomMenu||this.recipeIds.length===0?this.displayPlannerForm():this.redirectToMenu()}displayPlannerForm(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");let t=document.querySelector("mealz-planner-form");t||(t=document.createElement("mealz-planner-form"),t.guests=this.guests,t.isCustomMenu=this.isCustomMenu,t.hideBudget=!this.isCustomMenu||!this.storeId,t.currentMenuModal=!this.isCustomMenu&&this.hasCustomRecipes,t.menuId=this.menuId,t.addEventListener("displayDashboard",()=>this.displayDashboard()),t.addEventListener("generateMenu",()=>{this.redirectToMenu()}),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}updateMenuTitle(){return this.menuTitle.length>0?l(null):f(g(this.isCustomMenu)).pipe(d(e=>(this.menuTitle=e,i.planner.updateMenu(this.menuId,{attributes:{title:e}}))))}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0;const e=this.shouldUpdateMenuTitleOnRedirect&&!this.isCustomMenu;this.shouldUpdateMenuTitleOnRedirect=!1,(e?this.updateMenuTitle():l(null)).pipe(r(1)).subscribe({next:()=>{this.sendRedirectToMenuEvent();const n=this.getCurrentMenuUrlWithInitialView();n&&n!==globalThis.location.href&&(globalThis.location.href=n)},error:n=>{console.error("Error updating menu title:",n),this.sendRedirectToMenuEvent();const s=this.getCurrentMenuUrlWithInitialView();s&&s!==globalThis.location.href&&(globalThis.location.href=s)}})}sendRedirectToMenuEvent(){const e=this.getCurrentMenuUrlWithInitialView(),t=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:e}});this.dispatchEvent(t)}getCurrentMenuUrlWithInitialView(){const e=this.currentMenuPageUrl;if(!e)return e;const t=this.isCustomMenu?"recipe":"menu",n=this.isFromPlannerEntry()&&!this.isCustomMenu&&this.recipeIds.length>0;try{const s=new URL(e,globalThis.location.origin);return s.searchParams.set("view",t),n&&s.searchParams.set("fromFeatured","true"),s.toString()}catch{const s=e.includes("?")?"&":"?",a=`view=${encodeURIComponent(t)}`;return`${e}${s}${a}${n?"&fromFeatured=true":""}`}}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new m;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=i.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(r(1)).subscribe(()=>{globalThis.location.reload()})}replaceMenu(){this.resetMenuEvent(),i.planner.deleteMenu(this.menuId).pipe(r(1),d(()=>i.planner.createMenu()),r(1)).subscribe(e=>{this.menuId=e.id,this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="",this.proceedAfterHookAndOptionalModal()})}keepMenu(){this.redirectToMenu()}resetMenuEvent(){i.analytics.sendEvent("planner.reset",this.analyticsPath,{})}}customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",C);
1
+ import"../planner-form/planner-form.min.js";import{M as m}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as s}from"../../assets/mealz-sdk-E_fNZM-c.js";import{g as M,f as g}from"../helpers/menu-title.min.js";import{t as r}from"../../assets/take-CpvJwza7.js";import{o}from"../../assets/of-DtJFltSl.js";import{f}from"../../assets/from-D8c5akO7.js";import{s as l}from"../../assets/switchMap-BAdE9Uzw.js";import"../../assets/property-CoRN-Ln2.js";import"../../assets/empty-qrpgDBbc.js";import"../../assets/OperatorSubscriber-DfCnFunn.js";import"../../assets/innerFrom-DePszgj9.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";import"../../onboarding/events.min.js";import"../../assets/args-DAL2bHut.js";import"../../assets/isScheduler-CqHuyMwD.js";class C extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.storeId="",this.recipeIds=[],this.hasCustomRecipes=!1,this.currentMenuPageUrl="",this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1,this.menuTitle="",this.shouldUpdateMenuTitleOnRedirect=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initStartingData(),this.initSelectors(),this.addEventListeners(),this.syncGuestsFromStorage(),this.listenToPlannerGuestsChanges()}disconnectedCallback(){this.plannerGuestsChangeHandler&&document.removeEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler),super.disconnectedCallback()}initStartingData(){const e=this.getAttribute("starting-data");if(e){try{const{isCustomMenu:t,guestsPreference:n,storeId:i,hasCustomRecipes:u,menuId:d,recipesId:a,currentMenuPageUrl:h,recipeImgs:c}=JSON.parse(e);this.isCustomMenu=!!t,this.storeId=i??this.storeId,this.hasCustomRecipes=!!u,this.menuId=d??this.menuId,this.currentMenuPageUrl=h??this.currentMenuPageUrl,this.recipeImgs=c||[],this.recipeIds=Array.isArray(a)?a:[],typeof n=="number"&&(this.guests=n)}catch(t){console.error("Failed to parse starting-data:",t)}this.removeAttribute("starting-data"),this.initMenuTitle(),this.syncGuestsFromStorage()}}initMenuTitle(){s.planner.fetchMenuTitle().pipe(r(1)).subscribe(e=>{this.menuTitle=e||""})}syncGuestsFromStorage(){const e=M();typeof e=="number"&&(this.guests=e)}listenToPlannerGuestsChanges(){this.plannerGuestsChangeHandler=e=>{var n;const t=e;(n=t.detail)!=null&&n.guests&&(this.guests=t.detail.guests)},document.addEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler)}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.handleMenuOptionClick())}handleMenuOptionClick(){const e=this.isCustomMenu?"custom":"from-featured";this.sendModeSelectEvent(e),this.isFromPlannerEntry(),localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),this.proceedAfterHookAndOptionalModal()}sendModeSelectEvent(e){s.analytics.sendEvent("planner.mode.select",this.analyticsPath,{mode:e,guests:this.guests},"meals-planner-home")}isFromPlannerEntry(){return!!document.querySelector("mealz-planner-entry")}proceedAfterHookAndOptionalModal(){if(this.isFromPlannerEntry()){localStorage.setItem("_mealz/planner/from-entry","true"),!this.isCustomMenu&&this.recipeIds.length>0&&(this.hasCustomRecipes||(this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="")),this.redirectToMenu();return}else localStorage.removeItem("_mealz/planner/from-entry");!this.isCustomMenu||this.recipeIds.length===0?this.displayPlannerForm():this.redirectToMenu()}displayPlannerForm(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");let t=document.querySelector("mealz-planner-form");t||(t=document.createElement("mealz-planner-form"),t.guests=this.guests,t.isCustomMenu=this.isCustomMenu,t.hideBudget=!this.isCustomMenu||!this.storeId,t.currentMenuModal=!this.isCustomMenu&&this.hasCustomRecipes,t.menuId=this.menuId,t.addEventListener("displayDashboard",()=>this.displayDashboard()),t.addEventListener("generateMenu",()=>{this.redirectToMenu()}),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}updateMenuTitle(){return this.menuTitle.length>0?o(null):f(g(this.isCustomMenu)).pipe(l(e=>(this.menuTitle=e,s.planner.updateMenu(this.menuId,{attributes:{title:e}}))))}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0;const e=this.shouldUpdateMenuTitleOnRedirect&&!this.isCustomMenu;this.shouldUpdateMenuTitleOnRedirect=!1,(e?this.updateMenuTitle():o(null)).pipe(r(1)).subscribe({next:()=>{this.sendRedirectToMenuEvent();const n=this.getCurrentMenuUrlWithInitialView();n&&n!==globalThis.location.href&&(globalThis.location.href=n)},error:n=>{console.error("Error updating menu title:",n),this.sendRedirectToMenuEvent();const i=this.getCurrentMenuUrlWithInitialView();i&&i!==globalThis.location.href&&(globalThis.location.href=i)}})}sendRedirectToMenuEvent(){const e=this.getCurrentMenuUrlWithInitialView(),t=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:e}});this.dispatchEvent(t)}getCurrentMenuUrlWithInitialView(){const e=this.currentMenuPageUrl;if(!e)return e;const t=this.isFromPlannerEntry()&&!this.isCustomMenu&&this.recipeIds.length>0;try{const n=new URL(e,globalThis.location.origin);return t&&n.searchParams.set("fromFeatured","true"),n.toString()}catch{if(!t)return e;const n=e.includes("?")?"&":"?";return`${e}${n}fromFeatured=true`}}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new m;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=s.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(r(1)).subscribe(()=>{globalThis.location.reload()})}replaceMenu(){this.resetMenuEvent(),s.planner.deleteMenu(this.menuId).pipe(r(1),l(()=>s.planner.createMenu()),r(1)).subscribe(e=>{this.menuId=e.id,this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="",this.proceedAfterHookAndOptionalModal()})}keepMenu(){this.redirectToMenu()}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}}customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",C);
@@ -1 +1 @@
1
- import{n as d}from"../../assets/property-CoRN-Ln2.js";import{r as g}from"../../assets/state-DDIoBQp5.js";import{M as b}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-D62BBu0I.js";import{O as v,b as f,c as y}from"../../onboarding/events.min.js";import{t as C,a as z,b as l,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as _,a as T}from"../../assets/responsive-C7Qf71r3.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-E_fNZM-c.js";var S=Object.defineProperty,u=(a,e,t,s)=>{for(var o=void 0,i=a.length-1,n;i>=0;i--)(n=a[i])&&(o=n(e,t,o)||o);return o&&S(e,t,o),o};const c=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",m={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. '}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Toutes les recettes que vous sélectionnerez et l’accès au catalogue de recettes seront visibles ici.",fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},guide:{type:"guide",steps:[{element:".mealz-planner-current-menu__onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1},"guide-mobile":{type:"guide-mobile",steps:[{element:".mealz-planner-current-menu__mobile-onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:c,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:c,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top",fixedOffset:0}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1,bottomMargin:36}};class r extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){super.connectedCallback(),this.isMobile=_(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new b,this.onboardingComponent.configurations=m,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,s;(e=this.onboardingComponent)==null||e.addEventListener(v,()=>{var o;C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((o=this.onboardingComponent)!=null&&o.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(f,o=>{var p;const n=((p=o.detail)==null?void 0:p.stepIndex)??0;z(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=n+1,l(this.mapTypeForAnalytics(this.type),this.currentStep)}),(s=this.onboardingComponent)==null||s.addEventListener(y,()=>{O(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&m[`${this.type}-mobile`]?`${this.type}-mobile`:this.type;this.onboardingComponent.type=e;const t=this.onboardingComponent.getConfig(e);this.onboardingComponent.steps=t.steps,this.onboardingComponent.showProgress=t.showProgress??!0;let s=t.bottomMargin??110;s===0&&!this.isMobile&&(s=24),this.onboardingComponent.bottomMargin=s}openGuideOnboarding(){this.type=this.isMobile?"guide-mobile":"guide",this.currentStep=1,this.isTourActive=!1,setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),l(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"guide":case"guide-mobile":return"guide";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"guide":return"guide";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}}u([d({type:Boolean})],r.prototype,"isCustomMenu");u([d({type:String})],r.prototype,"type");u([g()],r.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",r);export{r as M};
1
+ import{n as g}from"../../assets/property-CoRN-Ln2.js";import{r as b}from"../../assets/state-DDIoBQp5.js";import{M as v}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-D62BBu0I.js";import{O as f,b as z,c as y}from"../../onboarding/events.min.js";import{t as C,a as _,b as c,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as S,a as T}from"../../assets/responsive-C7Qf71r3.js";import{a as r}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-E_fNZM-c.js";var A=Object.defineProperty,l=(p,e,t,n)=>{for(var o=void 0,s=p.length-1,i;s>=0;s--)(i=p[s])&&(o=i(e,t,o)||o);return o&&A(e,t,o),o};const d=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",a={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici.",fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:340,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",spacerAboveStage:36}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},"current-menu-mobile":{type:"current-menu-mobile",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}}],localStorageKey:"_miam/currentMenuOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}},{element:".mealz-planner-current-menu__footer-button",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top"}}],localStorageKey:"_miam/menuToBasketOnboarding",bottomMargin:36}};class u extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){if(super.connectedCallback(),r()){this.remove();return}this.isMobile=S(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new v,this.onboardingComponent.configurations=a,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,n;(e=this.onboardingComponent)==null||e.addEventListener(f,()=>{C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(z,o=>{var m;const i=((m=o.detail)==null?void 0:m.stepIndex)??0;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,c(this.mapTypeForAnalytics(this.type),this.currentStep)}),(n=this.onboardingComponent)==null||n.addEventListener(y,()=>{O(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&a[`${this.type}-mobile`]?`${this.type}-mobile`:this.type,t=a[e]?e:this.isMobile&&a["custom-mobile"]?"custom-mobile":"custom";this.onboardingComponent.type=t;const n=this.onboardingComponent.getConfig(t);this.onboardingComponent.steps=n.steps,this.onboardingComponent.showProgress=n.showProgress??!0;let o=n.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}startTour(){if(r()){this.remove();return}this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){if(r()){this.remove();return}this.onboardingComponent&&(this.updateOnboardingConfig(),c(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){if(r()){this.remove();return}this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"current-menu-mobile":return"menu-navigation";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}}l([g({type:Boolean})],u.prototype,"isCustomMenu");l([g({type:String})],u.prototype,"type");l([b()],u.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",u);export{u as M};
@@ -1,4 +1,4 @@
1
- import{N as m,k as e}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as p}from"../../assets/state-DDIoBQp5.js";import{d as g,e as c,f as b,g as u,h,i as v}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/property-CoRN-Ln2.js";var z=Object.defineProperty,d=(a,t,n,r)=>{for(var s=void 0,o=a.length-1,l;o>=0;o--)(l=a[o])&&(s=l(t,n,s)||s);return s&&z(t,n,s),s};class i extends m{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.analyticsPath="/meals-planner/onboarding",this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0-mobile.jpg",title:"Choisissez votre type de menu",content:e`Découvrez notre <b>sélection du moment</b> pour gagner du temps ou créez une <b>sélection personnalisée</b> adaptée à vos goûts et à votre budget.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1-mobile.jpg",title:"Inspirez-vous avec nos suggestions",content:e`Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2-mobile.jpg",title:"Retrouvez votre menu",content:e`Toutes les recettes que vous sélectionnerez et l\'accès au catalogue de recettes seront visibles ici.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3-mobile.jpg",title:"Une recette vous plaît ?",content:e`
1
+ import{N as m,k as e}from"../../assets/no-shadow-element-D62BBu0I.js";import{r as p}from"../../assets/state-DDIoBQp5.js";import{d as g,e as c,f as b,g as u,h,i as v}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/property-CoRN-Ln2.js";var z=Object.defineProperty,d=(a,t,n,r)=>{for(var s=void 0,o=a.length-1,l;o>=0;o--)(l=a[o])&&(s=l(t,n,s)||s);return s&&z(t,n,s),s};class i extends m{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.analyticsPath="/meals-planner/onboarding",this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0-mobile.jpg",title:"Choisissez votre type de menu",content:e`Découvrez notre <b>sélection du moment</b> pour gagner du temps ou créez une <b>sélection personnalisée</b> adaptée à vos goûts et à votre budget.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1-mobile.jpg",title:"Envie de compléter votre menu ?",content:e`Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2-mobile.jpg",title:"Retrouvez votre menu",content:e`Toutes les recettes que vous sélectionnerez et l\'accès au catalogue de recettes seront visibles ici.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3-mobile.jpg",title:"Une recette vous plaît ?",content:e`
2
2
  Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.
3
3
  `},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4-mobile.jpg",title:"Une recette ne vous plaît pas ?",content:e`
4
4
  Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.
@@ -1,10 +1,10 @@
1
- import{N as r,k as l}from"../../assets/no-shadow-element-D62BBu0I.js";import{M as m}from"../../modal/modal.min.js";import{n as d}from"../../assets/property-CoRN-Ln2.js";import{M as p}from"../../onboarding/events.min.js";import{b as u,j as c,k as h}from"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/unsafe-html-DWUMaK1p.js";var v=Object.defineProperty,M=(t,e,s,b)=>{for(var n=void 0,o=t.length-1,a;o>=0;o--)(a=t[o])&&(n=a(e,s,n)||n);return n&&v(e,s,n),n};class i extends r{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 m;document.body.appendChild(this);const s=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.disableMobileBottomSheet=!0,e.titleSlot=l`<span>${s}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),u(this.isCustomMenu?"personal":"suggestion","welcome"),e.addEventListener(p,()=>{this.openGuideModal()})}openGuideModal(){c(this.isCustomMenu?"personal":"suggestion");const e=new CustomEvent("onboarding-skipped");this.dispatchEvent(e),this.remove()}startOnboardingTour(){h(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 l`
1
+ import{N as m,k as i}from"../../assets/no-shadow-element-D62BBu0I.js";import{M as d}from"../../modal/modal.min.js";import{n as p}from"../../assets/property-CoRN-Ln2.js";import{M as u}from"../../onboarding/events.min.js";import{b as c,j as h,k as v}from"../../onboarding/analytics/onboarding-analytics.min.js";import{a as r,d as b,m as g}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/unsafe-html-DWUMaK1p.js";var M=Object.defineProperty,f=(t,e,n,z)=>{for(var s=void 0,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=a(e,n,s)||s);return s&&M(e,n,s),s};class l extends m{constructor(){super(),this.isCustomMenu=!1,this.analyticsPath="/meals-planner/onboarding",this.styleURL=new URL("./planner/planner-welcome-modal/planner-welcome-modal.css",this.getBaseURL())}displayPlannerWelcomeModal(){if(r())return;const e=new d;document.body.appendChild(this);const n=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.disableMobileBottomSheet=!0,e.titleSlot=i`<span>${n}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),c(this.isCustomMenu?"personal":"suggestion","welcome"),e.addEventListener(u,()=>{this.skipOnboarding(!1)})}skipOnboarding(e=!1){h(this.isCustomMenu?"personal":"suggestion"),e&&(b(),g());const n=new CustomEvent("onboarding-skipped");this.dispatchEvent(n),this.remove()}startOnboardingTour(){if(r()){this.remove();return}v(this.isCustomMenu?"personal":"suggestion");const e=new CustomEvent("openOnboarding",{detail:{isCustomMenu:this.isCustomMenu}});this.dispatchEvent(e),this.remove()}renderModal(){const e=this.isCustomMenu?"Découvrez comment composer facilement votre menu selon vos envies.":"Découvrez le menu de la semaine que nous avons composé pour vous.";return i`
2
2
  <div class="mealz-planner-welcome-modal__content">
3
3
  <div class="mealz-planner-welcome-modal__description mealz-ds-text size-m">
4
4
  <span>${e}</span>
5
5
  </div>
6
6
  <div class="mealz-planner-welcome-modal__button-container">
7
- <button @click=${()=>this.openGuideModal()}
7
+ <button @click=${()=>this.skipOnboarding(!0)}
8
8
  class="mealz-ds-button ghost mealz-planner-welcome-modal__refuse-button">
9
9
  <span class="mealz-ds-text size-s weight-xl">Passer le guide</span>
10
10
  </button>
@@ -14,4 +14,4 @@ import{N as r,k as l}from"../../assets/no-shadow-element-D62BBu0I.js";import{M a
14
14
  </button>
15
15
  </div>
16
16
  </div>
17
- `}}M([d({type:Boolean})],i.prototype,"isCustomMenu");customElements.get("mealz-planner-welcome-modal")||customElements.define("mealz-planner-welcome-modal",i);export{i as M};
17
+ `}}f([p({type:Boolean})],l.prototype,"isCustomMenu");customElements.get("mealz-planner-welcome-modal")||customElements.define("mealz-planner-welcome-modal",l);export{l as M};
@@ -1 +1 @@
1
- import{N as n}from"../assets/no-shadow-element-D62BBu0I.js";import{o as i}from"../planner/helpers/open-onboarding-modal.min.js";import{m as u}from"../assets/mealz-sdk-E_fNZM-c.js";import"../planner/planner-onboarding-modal/planner-onboarding-modal.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/property-CoRN-Ln2.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../onboarding/events.min.js";import"../planner/helpers/get-planner-onboarding-modal-config.min.js";import"../modal/modal.min.js";import"../assets/unsafe-html-DWUMaK1p.js";class a extends n{constructor(){super(...arguments),this.minGuests=1,this.maxGuests=12,this.currentGuests=4,this.menuId=null,this.subscriptions=[]}get selectors(){return{stepperMinus:".mealz-planner-entry__stepper-button--minus",stepperPlus:".mealz-planner-entry__stepper-button--plus",stepperNumber:".mealz-planner-entry__stepper-number",helpLink:".mealz-planner-entry__help-link"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.initStartingData(),this.initGuests(),this.addEventListeners(),this.updateStepperButtons()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}initStartingData(){const t=this.getAttribute("starting-data");if(t){try{const{menuId:e}=JSON.parse(t);e&&(this.menuId=e)}catch(e){console.error("Failed to parse starting-data:",e);return}this.removeAttribute("starting-data")}}initGuests(){const t=localStorage.getItem("_mealz/planner/guests");if(t){const e=parseInt(t,10);!isNaN(e)&&e>=this.minGuests&&e<=this.maxGuests&&(this.currentGuests=e)}else{const e=this.querySelector(this.selectors.stepperNumber);if(e){const r=e.getAttribute("data-guests");if(r){const s=parseInt(r,10);!isNaN(s)&&s>=this.minGuests&&s<=this.maxGuests&&(this.currentGuests=s)}}if(this.currentGuests===4){const r=localStorage.getItem("_miam/preferences/guests");if(r){const s=parseInt(r,10);!isNaN(s)&&s>=this.minGuests&&s<=this.maxGuests&&(this.currentGuests=s)}}}this.updateGuestsDisplay()}addEventListeners(){this.addClickListener("stepperMinus",()=>this.decrementGuests()),this.addClickListener("stepperPlus",()=>this.incrementGuests()),this.querySelectorAll(this.selectors.helpLink).forEach(e=>{e.addEventListener("click",r=>{r.preventDefault(),this.openOnboarding()})})}decrementGuests(){this.currentGuests>this.minGuests&&(this.currentGuests--,this.updateGuests())}incrementGuests(){this.currentGuests<this.maxGuests&&(this.currentGuests++,this.updateGuests())}updateGuests(){if(localStorage.setItem("_mealz/planner/guests",this.currentGuests.toString()),this.updateGuestsDisplay(),this.updateStepperButtons(),this.menuId){const t={guests:this.currentGuests};this.subscriptions.push(u.planner.updateMenu(this.menuId,{attributes:{...t}}).subscribe())}this.dispatchEvent(new CustomEvent("plannerGuestsChanged",{detail:{guests:this.currentGuests},bubbles:!0,composed:!0}))}updateGuestsDisplay(){const t=this.querySelector(this.selectors.stepperNumber);t&&(t.textContent=this.currentGuests.toString(),t.setAttribute("data-guests",this.currentGuests.toString()))}updateStepperButtons(){const t=this.querySelector(this.selectors.stepperMinus),e=this.querySelector(this.selectors.stepperPlus);t&&(t.disabled=this.currentGuests<=this.minGuests),e&&(e.disabled=this.currentGuests>=this.maxGuests)}openOnboarding(){i("dashboard")}}customElements.get("mealz-planner-entry")||customElements.define("mealz-planner-entry",a);
1
+ import{N as n}from"../assets/no-shadow-element-D62BBu0I.js";import{o as i}from"../planner/helpers/open-onboarding-modal.min.js";import{m as u}from"../assets/mealz-sdk-E_fNZM-c.js";import"../planner/planner-onboarding-modal/planner-onboarding-modal.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/property-CoRN-Ln2.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../onboarding/events.min.js";import"../planner/helpers/get-planner-onboarding-modal-config.min.js";import"../modal/modal.min.js";import"../assets/unsafe-html-DWUMaK1p.js";import"../planner/helpers/planner-onboarding-storage.min.js";class a extends n{constructor(){super(...arguments),this.minGuests=1,this.maxGuests=12,this.currentGuests=4,this.menuId=null,this.subscriptions=[]}get selectors(){return{stepperMinus:".mealz-planner-entry__stepper-button--minus",stepperPlus:".mealz-planner-entry__stepper-button--plus",stepperNumber:".mealz-planner-entry__stepper-number",helpLink:".mealz-planner-entry__help-link"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.initStartingData(),this.initGuests(),this.addEventListeners(),this.updateStepperButtons()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}initStartingData(){const t=this.getAttribute("starting-data");if(t){try{const{menuId:e}=JSON.parse(t);e&&(this.menuId=e)}catch(e){console.error("Failed to parse starting-data:",e);return}this.removeAttribute("starting-data")}}initGuests(){const t=localStorage.getItem("_mealz/planner/guests");if(t){const e=parseInt(t,10);!isNaN(e)&&e>=this.minGuests&&e<=this.maxGuests&&(this.currentGuests=e)}else{const e=this.querySelector(this.selectors.stepperNumber);if(e){const r=e.getAttribute("data-guests");if(r){const s=parseInt(r,10);!isNaN(s)&&s>=this.minGuests&&s<=this.maxGuests&&(this.currentGuests=s)}}if(this.currentGuests===4){const r=localStorage.getItem("_miam/preferences/guests");if(r){const s=parseInt(r,10);!isNaN(s)&&s>=this.minGuests&&s<=this.maxGuests&&(this.currentGuests=s)}}}this.updateGuestsDisplay()}addEventListeners(){this.addClickListener("stepperMinus",()=>this.decrementGuests()),this.addClickListener("stepperPlus",()=>this.incrementGuests()),this.querySelectorAll(this.selectors.helpLink).forEach(e=>{e.addEventListener("click",r=>{r.preventDefault(),this.openOnboarding()})})}decrementGuests(){this.currentGuests>this.minGuests&&(this.currentGuests--,this.updateGuests())}incrementGuests(){this.currentGuests<this.maxGuests&&(this.currentGuests++,this.updateGuests())}updateGuests(){if(localStorage.setItem("_mealz/planner/guests",this.currentGuests.toString()),this.updateGuestsDisplay(),this.updateStepperButtons(),this.menuId){const t={guests:this.currentGuests};this.subscriptions.push(u.planner.updateMenu(this.menuId,{attributes:{...t}}).subscribe())}this.dispatchEvent(new CustomEvent("plannerGuestsChanged",{detail:{guests:this.currentGuests},bubbles:!0,composed:!0}))}updateGuestsDisplay(){const t=this.querySelector(this.selectors.stepperNumber);t&&(t.textContent=this.currentGuests.toString(),t.setAttribute("data-guests",this.currentGuests.toString()))}updateStepperButtons(){const t=this.querySelector(this.selectors.stepperMinus),e=this.querySelector(this.selectors.stepperPlus);t&&(t.disabled=this.currentGuests<=this.minGuests),e&&(e.disabled=this.currentGuests>=this.maxGuests)}openOnboarding(){i("dashboard")}}customElements.get("mealz-planner-entry")||customElements.define("mealz-planner-entry",a);
@@ -1,4 +1,4 @@
1
- import"../assets/accordion-Unx2E22K.js";import{N as f,B as z,a as y,k as a}from"../assets/no-shadow-element-D62BBu0I.js";import{r as p}from"../assets/state-DDIoBQp5.js";import{m as t}from"../assets/mealz-sdk-E_fNZM-c.js";import{d as w}from"../assets/debounceTime-Cf_7YmIn.js";import{d as k}from"../assets/distinctUntilChanged-kXqVrZ5h.js";import{s as T}from"../assets/switchMap-BAdE9Uzw.js";import{n as h}from"../assets/property-CoRN-Ln2.js";import{f as $}from"../assets/filter-q99GWcpD.js";import"../assets/unsafe-html-DWUMaK1p.js";import"../assets/async-C5Kj_SqM.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/innerFrom-DePszgj9.js";var S=Object.defineProperty,_=(l,e,s,c)=>{for(var i=void 0,r=l.length-1,n;r>=0;r--)(n=l[r])&&(i=n(e,s,i)||i);return i&&S(e,s,i),i};class g extends f{constructor(){super(),this.suggestedTags=[],this.notFound=!1,this.searchQuery=new z(""),this.subscription=new y,this.styleURL=new URL("./preferences/preferences-search/preferences-search.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenOnSearchChange()}disconnectedCallback(){super.disconnectedCallback(),this.subscription.unsubscribe()}searchInputUpdate(e){this.searchQuery.next(e.target.value)}listenOnSearchChange(){this.subscription.add(this.searchQuery.pipe(w(250),k(),T(e=>e.length>0?t.tags.autocomplete(e):[])).subscribe(e=>{var s,c;this.suggestedTags=(s=e==null?void 0:e.data)==null?void 0:s.filter(i=>i.attributes["tag-type-id"]==="ingredient_category"||i.attributes["tag-type-id"]==="ingredientsdefinition"),this.notFound=((c=this.suggestedTags)==null?void 0:c.length)===0,this.requestUpdate()}))}addTag(e){t.preferences.newTagFromSearch(e),this.dispatchEvent(new CustomEvent("backAndReload"))}render(){return a`
1
+ import"../assets/accordion-BGFgJnk1.js";import{N as f,B as z,a as y,k as a}from"../assets/no-shadow-element-D62BBu0I.js";import{r as p}from"../assets/state-DDIoBQp5.js";import{m as t}from"../assets/mealz-sdk-E_fNZM-c.js";import{d as w}from"../assets/debounceTime-Cf_7YmIn.js";import{d as k}from"../assets/distinctUntilChanged-kXqVrZ5h.js";import{s as T}from"../assets/switchMap-BAdE9Uzw.js";import{n as h}from"../assets/property-CoRN-Ln2.js";import{f as $}from"../assets/filter-q99GWcpD.js";import"../assets/async-C5Kj_SqM.js";import"../assets/OperatorSubscriber-DfCnFunn.js";import"../assets/innerFrom-DePszgj9.js";var S=Object.defineProperty,_=(l,e,s,c)=>{for(var i=void 0,r=l.length-1,n;r>=0;r--)(n=l[r])&&(i=n(e,s,i)||i);return i&&S(e,s,i),i};class g extends f{constructor(){super(),this.suggestedTags=[],this.notFound=!1,this.searchQuery=new z(""),this.subscription=new y,this.styleURL=new URL("./preferences/preferences-search/preferences-search.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenOnSearchChange()}disconnectedCallback(){super.disconnectedCallback(),this.subscription.unsubscribe()}searchInputUpdate(e){this.searchQuery.next(e.target.value)}listenOnSearchChange(){this.subscription.add(this.searchQuery.pipe(w(250),k(),T(e=>e.length>0?t.tags.autocomplete(e):[])).subscribe(e=>{var s,c;this.suggestedTags=(s=e==null?void 0:e.data)==null?void 0:s.filter(i=>i.attributes["tag-type-id"]==="ingredient_category"||i.attributes["tag-type-id"]==="ingredientsdefinition"),this.notFound=((c=this.suggestedTags)==null?void 0:c.length)===0,this.requestUpdate()}))}addTag(e){t.preferences.newTagFromSearch(e),this.dispatchEvent(new CustomEvent("backAndReload"))}render(){return a`
2
2
  <div class="mealz-preferences-search">
3
3
  <div class="mealz-preferences-search__searchbar-container">
4
4
  <div class="mealz-preferences-search__searchbar mealz-ds-searchbar">
@@ -1,6 +1,6 @@
1
- import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{_ as J,n as O,p as F,b as X,c as Z,q as ee,N as k,D as c,k as i}from"../assets/no-shadow-element-D62BBu0I.js";import{n as h}from"../assets/property-CoRN-Ln2.js";import{P as te}from"../assets/price-D6RVRYHJ.js";import{m as r}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as V}from"../assets/merge-DzIA6T0M.js";import{m as y}from"../assets/map-DT-7dkaR.js";import{t as B}from"../assets/take-CpvJwza7.js";import{c as H}from"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import"../assets/product-card-wIoU7Z_5.js";import"../price/price.min.js";import"../assets/promotion-badge-CDaL7Tqv.js";import{G as j}from"../assets/guestObserver-C5qvv1Ll.js";import"../assets/accordion-Unx2E22K.js";import"../store-indicator/store-indicator.min.js";import"../last-order-badge/last-order-badge.min.js";import"../order-again/order-again.min.js";import"../like-button/like-button.min.js";import{L as se}from"../last-order-modal/last-order-modal.min.js";import{a as ie}from"../assets/unsafe-html-DWUMaK1p.js";import{M as ae}from"../planner/planner-onboarding/planner-onboarding.min.js";import{o as W,c as re}from"../assets/OperatorSubscriber-DfCnFunn.js";import{i as U}from"../assets/innerFrom-DePszgj9.js";import{f as N}from"../assets/filter-q99GWcpD.js";import{t as I}from"../assets/tap-BN_fPb40.js";import{s as q}from"../assets/switchMap-BAdE9Uzw.js";import{c as G}from"../assets/combineLatest-Capvy1jI.js";import{d as ne}from"../assets/async-C5Kj_SqM.js";import"../assets/viewport-listener-DsRHfwo4.js";import"../assets/debounceTime-Cf_7YmIn.js";import"../assets/skipWhile-Beza3ws3.js";import"../assets/singleton-COF3iBbF.js";import"../assets/mergeAll-DpEYIxY3.js";import"../assets/mergeMap-D2yctTHQ.js";import"../assets/executeSchedule-CEDvgTzM.js";import"../assets/empty-qrpgDBbc.js";import"../assets/args-DAL2bHut.js";import"../assets/isScheduler-CqHuyMwD.js";import"../assets/from-D8c5akO7.js";import"../assets/delay-DHNms76g.js";import"../assets/timer-3Kpx74mt.js";import"../assets/isDate-BwHtzZM4.js";import"../store-locator/store-locator.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/query-BApjzB0v.js";import"../onboarding/onboarding.min.js";import"../onboarding/events.min.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../assets/responsive-C7Qf71r3.js";import"../assets/mapOneOrManyArgs-CHGhEDCk.js";var oe=function(o){J(e,o);function e(t,s,a){t===void 0&&(t=1/0),s===void 0&&(s=1/0),a===void 0&&(a=ne);var n=o.call(this)||this;return n._bufferSize=t,n._windowTime=s,n._timestampProvider=a,n._buffer=[],n._infiniteTimeWindow=!0,n._infiniteTimeWindow=s===1/0,n._bufferSize=Math.max(1,t),n._windowTime=Math.max(1,s),n}return e.prototype.next=function(t){var s=this,a=s.isStopped,n=s._buffer,l=s._infiniteTimeWindow,p=s._timestampProvider,d=s._windowTime;a||(n.push(t),!l&&n.push(p.now()+d)),this._trimBuffer(),o.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var s=this._innerSubscribe(t),a=this,n=a._infiniteTimeWindow,l=a._buffer,p=l.slice(),d=0;d<p.length&&!t.closed;d+=n?1:2)t.next(p[d]);return this._checkFinalizedStatuses(t),s},e.prototype._trimBuffer=function(){var t=this,s=t._bufferSize,a=t._timestampProvider,n=t._buffer,l=t._infiniteTimeWindow,p=(l?1:2)*s;if(s<1/0&&p<n.length&&n.splice(0,n.length-p),!l){for(var d=a.now(),g=0,u=1;u<n.length&&n[u]<=d;u+=2)g=u;g&&n.splice(0,g+1)}},e}(O);function le(o){o===void 0&&(o={});var e=o.connector,t=e===void 0?function(){return new O}:e,s=o.resetOnError,a=s===void 0?!0:s,n=o.resetOnComplete,l=n===void 0?!0:n,p=o.resetOnRefCountZero,d=p===void 0?!0:p;return function(g){var u,m,v,b=0,f=!1,_=!1,z=function(){m==null||m.unsubscribe(),m=void 0},$=function(){z(),u=v=void 0,f=_=!1},Y=function(){var S=u;$(),S==null||S.unsubscribe()};return W(function(S,M){b++,!_&&!f&&z();var R=v=v??t();M.add(function(){b--,b===0&&!_&&!f&&(m=A(Y,d))}),R.subscribe(M),!u&&b>0&&(u=new F({next:function(x){return R.next(x)},error:function(x){_=!0,z(),m=A($,a,x),R.error(x)},complete:function(){f=!0,z(),m=A($,l),R.complete()}}),U(S).subscribe(u))})(g)}}function A(o,e){for(var t=[],s=2;s<arguments.length;s++)t[s-2]=arguments[s];if(e===!0){o();return}if(e!==!1){var a=new F({next:function(){a.unsubscribe(),o()}});return U(e.apply(void 0,X([],Z(t)))).subscribe(a)}}function ce(o,e,t){var s,a=!1;return s=o,le({connector:function(){return new oe(s,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function w(o){return W(function(e,t){U(o).subscribe(re(t,function(){return t.complete()},ee)),!t.closed&&e.subscribe(t)})}var de=Object.defineProperty,E=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&de(e,t,a),a};class T extends k{constructor(){super(),this.noPosDisplay=!1,this.noSupplier=!1,this.recipeId="",this.plannerMode=!1,this.guests=0,this.recipe=null,this.analyticsPath="",this.subscriptions=[],this.remainingBasketEntries=[],this.recipePrice={remaining:0,inBasket:0,total:0,totalPerGuest:0},this.priceService=te.getInstance(),this.allIngredientsToBasketLoading=!1,this.ingredientToBasketLoading=!1,this.updateIngredientFromBasketLoading=!1,this.productsLoading=!1,this.inMenu=!1,this.menuUpdateLoading=!1,this.styleURL=new URL("./recipe-details/details-footer/details-footer.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter(),this.analyticsPath=`/recipes/${this.recipeId}/shopping`,this.subscriptions.push(V(r.recipes.remainingBasketEntries$.pipe(y(e=>{this.remainingBasketEntries=e})),r.recipes.recipePrice$.pipe(y(e=>{const t=e.remaining+e.inBasket;this.recipePrice={...e,total:t,totalPerGuest:0}})),r.recipes.allIngredientsToBasketLoading$.pipe(y(e=>{this.allIngredientsToBasketLoading=e})),r.recipes.ingredientToBasketLoading$.pipe(y(e=>{this.ingredientToBasketLoading=e})),r.recipes.updateIngredientFromBasketLoading$.pipe(y(e=>{this.updateIngredientFromBasketLoading=e})),r.recipes.productsLoading$.pipe(y(e=>{this.productsLoading=e})),r.planner.plannerRecipePrice$.pipe(y(e=>{this.recipePrice.totalPerGuest=this.guests>0?e/this.guests:e}))).subscribe(()=>this.requestUpdate())),this.subscribeIsRecipeInMenu()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.isRecipeInMenuSub&&(this.isRecipeInMenuSub.unsubscribe(),this.isRecipeInMenuSub=void 0)}updated(e){super.updated(e),e.has("recipeId")&&this.subscribeIsRecipeInMenu()}subscribeIsRecipeInMenu(){this.recipeId&&(this.isRecipeInMenuSub&&this.isRecipeInMenuSub.unsubscribe(),this.isRecipeInMenuSub=r.planner.isRecipeInMenu$(this.recipeId).pipe(y(e=>{this.inMenu=e})).subscribe(()=>this.requestUpdate()))}closeRecipeDetails(e=!1){r.recipes.displayedRecipe$.next(null),e&&r.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:r.basket.basketPreviewState$.getValue().activeTabIndex})}continueShopping(){this.closeRecipeDetails(),this.sendContinueEvent()}addToMenu(){var a,n;this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion"),t=!!e&&!!e.recipeId&&e.recipeId===this.recipeId,s=document.querySelector("mealz-planner-current-menu");if(!s){const l=(n=(a=r.recipes)==null?void 0:a.productsPlannerByCategory$)==null?void 0:n.value,p=(l==null?void 0:l.toPickProducts)||[];r.planner.addRecipeToMenu(this.recipeId,this.guests,!!r.pos.currentPos().value,p).pipe(B(1)).subscribe(()=>{this.inMenu=!0;const d=document.querySelector("mealz-planner-recipe-list");d==null||d.addRecipeCardToList(this.recipeId),this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()});return}if(t){e.addRecipeFromDetails$(this.guests).subscribe({next:()=>{this.inMenu=!0,this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()},error:()=>{this.menuUpdateLoading=!1,this.requestUpdate()}});return}s.addRecipe(this.recipeId,this.guests).pipe(B(1)).subscribe({next:()=>{this.inMenu=!0,e==null||e.addAndSelectNewSuggestion(this.recipe||void 0),this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()},error:()=>{this.menuUpdateLoading=!1,this.requestUpdate()}})}removeFromMenu(){this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");if(!e){r.planner.removeRecipeFromMenu(this.recipeId).pipe(B(1)).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()});return}e.removeRecipe(this.recipeId).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()})}addAllIngredients(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}}),this.sendAddAllEvent(),this.recipePrice.inBasket===0&&this.sendAddRecipeEvent()}render(){if(this.noPosDisplay&&!this.plannerMode)return c;const e=this.remainingBasketEntries.length>0&&!this.plannerMode,t=this.plannerMode&&this.noPosDisplay,s=this.plannerMode&&!this.inMenu;return i`
1
+ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{_ as J,n as O,p as F,b as X,c as Z,q as ee,N as k,D as d,k as i}from"../assets/no-shadow-element-D62BBu0I.js";import{n as h}from"../assets/property-CoRN-Ln2.js";import{P as te}from"../assets/price-D6RVRYHJ.js";import{m as r}from"../assets/mealz-sdk-E_fNZM-c.js";import{m as V}from"../assets/merge-DzIA6T0M.js";import{m as y}from"../assets/map-DT-7dkaR.js";import{t as B}from"../assets/take-CpvJwza7.js";import{c as H}from"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import"../assets/product-card-wIoU7Z_5.js";import"../price/price.min.js";import"../assets/promotion-badge-CDaL7Tqv.js";import{G as j}from"../assets/guestObserver-C5qvv1Ll.js";import"../assets/accordion-BGFgJnk1.js";import"../store-indicator/store-indicator.min.js";import"../last-order-badge/last-order-badge.min.js";import"../order-again/order-again.min.js";import"../like-button/like-button.min.js";import{L as se}from"../last-order-modal/last-order-modal.min.js";import{a as ie}from"../assets/unsafe-html-DWUMaK1p.js";import{M as ae}from"../planner/planner-onboarding/planner-onboarding.min.js";import{o as W,c as re}from"../assets/OperatorSubscriber-DfCnFunn.js";import{i as L}from"../assets/innerFrom-DePszgj9.js";import{f as N}from"../assets/filter-q99GWcpD.js";import{t as I}from"../assets/tap-BN_fPb40.js";import{s as q}from"../assets/switchMap-BAdE9Uzw.js";import{c as G}from"../assets/combineLatest-Capvy1jI.js";import{d as ne}from"../assets/async-C5Kj_SqM.js";import"../assets/viewport-listener-DsRHfwo4.js";import"../assets/debounceTime-Cf_7YmIn.js";import"../assets/skipWhile-Beza3ws3.js";import"../assets/singleton-COF3iBbF.js";import"../assets/mergeAll-DpEYIxY3.js";import"../assets/mergeMap-D2yctTHQ.js";import"../assets/executeSchedule-CEDvgTzM.js";import"../assets/empty-qrpgDBbc.js";import"../assets/args-DAL2bHut.js";import"../assets/isScheduler-CqHuyMwD.js";import"../assets/from-D8c5akO7.js";import"../assets/delay-DHNms76g.js";import"../assets/timer-3Kpx74mt.js";import"../assets/isDate-BwHtzZM4.js";import"../store-locator/store-locator.min.js";import"../assets/state-DDIoBQp5.js";import"../assets/query-BApjzB0v.js";import"../onboarding/onboarding.min.js";import"../onboarding/events.min.js";import"../onboarding/analytics/onboarding-analytics.min.js";import"../assets/responsive-C7Qf71r3.js";import"../planner/helpers/planner-onboarding-storage.min.js";import"../assets/mapOneOrManyArgs-CHGhEDCk.js";var oe=function(o){J(e,o);function e(t,s,a){t===void 0&&(t=1/0),s===void 0&&(s=1/0),a===void 0&&(a=ne);var n=o.call(this)||this;return n._bufferSize=t,n._windowTime=s,n._timestampProvider=a,n._buffer=[],n._infiniteTimeWindow=!0,n._infiniteTimeWindow=s===1/0,n._bufferSize=Math.max(1,t),n._windowTime=Math.max(1,s),n}return e.prototype.next=function(t){var s=this,a=s.isStopped,n=s._buffer,l=s._infiniteTimeWindow,c=s._timestampProvider,p=s._windowTime;a||(n.push(t),!l&&n.push(c.now()+p)),this._trimBuffer(),o.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var s=this._innerSubscribe(t),a=this,n=a._infiniteTimeWindow,l=a._buffer,c=l.slice(),p=0;p<c.length&&!t.closed;p+=n?1:2)t.next(c[p]);return this._checkFinalizedStatuses(t),s},e.prototype._trimBuffer=function(){var t=this,s=t._bufferSize,a=t._timestampProvider,n=t._buffer,l=t._infiniteTimeWindow,c=(l?1:2)*s;if(s<1/0&&c<n.length&&n.splice(0,n.length-c),!l){for(var p=a.now(),g=0,u=1;u<n.length&&n[u]<=p;u+=2)g=u;g&&n.splice(0,g+1)}},e}(O);function le(o){o===void 0&&(o={});var e=o.connector,t=e===void 0?function(){return new O}:e,s=o.resetOnError,a=s===void 0?!0:s,n=o.resetOnComplete,l=n===void 0?!0:n,c=o.resetOnRefCountZero,p=c===void 0?!0:c;return function(g){var u,m,v,b=0,f=!1,_=!1,z=function(){m==null||m.unsubscribe(),m=void 0},$=function(){z(),u=v=void 0,f=_=!1},Y=function(){var S=u;$(),S==null||S.unsubscribe()};return W(function(S,M){b++,!_&&!f&&z();var C=v=v??t();M.add(function(){b--,b===0&&!_&&!f&&(m=A(Y,p))}),C.subscribe(M),!u&&b>0&&(u=new F({next:function(x){return C.next(x)},error:function(x){_=!0,z(),m=A($,a,x),C.error(x)},complete:function(){f=!0,z(),m=A($,l),C.complete()}}),L(S).subscribe(u))})(g)}}function A(o,e){for(var t=[],s=2;s<arguments.length;s++)t[s-2]=arguments[s];if(e===!0){o();return}if(e!==!1){var a=new F({next:function(){a.unsubscribe(),o()}});return L(e.apply(void 0,X([],Z(t)))).subscribe(a)}}function ce(o,e,t){var s,a=!1;return s=o,le({connector:function(){return new oe(s,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function w(o){return W(function(e,t){L(o).subscribe(re(t,function(){return t.complete()},ee)),!t.closed&&e.subscribe(t)})}var de=Object.defineProperty,P=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&de(e,t,a),a};class T extends k{constructor(){super(),this.noPosDisplay=!1,this.noSupplier=!1,this.recipeId="",this.plannerMode=!1,this.guests=0,this.recipe=null,this.analyticsPath="",this.subscriptions=[],this.remainingBasketEntries=[],this.recipePrice={remaining:0,inBasket:0,total:0,totalPerGuest:0},this.priceService=te.getInstance(),this.allIngredientsToBasketLoading=!1,this.ingredientToBasketLoading=!1,this.updateIngredientFromBasketLoading=!1,this.productsLoading=!1,this.inMenu=!1,this.menuUpdateLoading=!1,this.styleURL=new URL("./recipe-details/details-footer/details-footer.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter(),this.analyticsPath=`/recipes/${this.recipeId}/shopping`,this.subscriptions.push(V(r.recipes.remainingBasketEntries$.pipe(y(e=>{this.remainingBasketEntries=e})),r.recipes.recipePrice$.pipe(y(e=>{const t=e.remaining+e.inBasket;this.recipePrice={...e,total:t,totalPerGuest:0}})),r.recipes.allIngredientsToBasketLoading$.pipe(y(e=>{this.allIngredientsToBasketLoading=e})),r.recipes.ingredientToBasketLoading$.pipe(y(e=>{this.ingredientToBasketLoading=e})),r.recipes.updateIngredientFromBasketLoading$.pipe(y(e=>{this.updateIngredientFromBasketLoading=e})),r.recipes.productsLoading$.pipe(y(e=>{this.productsLoading=e})),r.planner.plannerRecipePrice$.pipe(y(e=>{this.recipePrice.totalPerGuest=this.guests>0?e/this.guests:e}))).subscribe(()=>this.requestUpdate())),this.subscribeIsRecipeInMenu()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.isRecipeInMenuSub&&(this.isRecipeInMenuSub.unsubscribe(),this.isRecipeInMenuSub=void 0)}updated(e){super.updated(e),e.has("recipeId")&&this.subscribeIsRecipeInMenu()}subscribeIsRecipeInMenu(){this.recipeId&&(this.isRecipeInMenuSub&&this.isRecipeInMenuSub.unsubscribe(),this.isRecipeInMenuSub=r.planner.isRecipeInMenu$(this.recipeId).pipe(y(e=>{this.inMenu=e})).subscribe(()=>this.requestUpdate()))}closeRecipeDetails(e=!1){r.recipes.displayedRecipe$.next(null),e&&r.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:r.basket.basketPreviewState$.getValue().activeTabIndex})}continueShopping(){this.closeRecipeDetails(),this.sendContinueEvent()}addToMenu(){var a,n;this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion"),t=!!e&&!!e.recipeId&&e.recipeId===this.recipeId,s=document.querySelector("mealz-planner-current-menu");if(!s){const l=(n=(a=r.recipes)==null?void 0:a.productsPlannerByCategory$)==null?void 0:n.value,c=(l==null?void 0:l.toPickProducts)||[];r.planner.addRecipeToMenu(this.recipeId,this.guests,!!r.pos.currentPos().value,c).pipe(B(1)).subscribe(()=>{this.inMenu=!0;const p=document.querySelector("mealz-planner-recipe-list");p==null||p.addRecipeCardToList(this.recipeId),this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()});return}if(t){e.addRecipeFromDetails$(this.guests).subscribe({next:()=>{this.inMenu=!0,this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()},error:()=>{this.menuUpdateLoading=!1,this.requestUpdate()}});return}s.addRecipe(this.recipeId,this.guests).pipe(B(1)).subscribe({next:()=>{this.inMenu=!0,e==null||e.addAndSelectNewSuggestion(this.recipe||void 0),this.menuUpdateLoading=!1,this.requestUpdate(),this.closeRecipeDetails()},error:()=>{this.menuUpdateLoading=!1,this.requestUpdate()}})}removeFromMenu(){this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");if(!e){r.planner.removeRecipeFromMenu(this.recipeId).pipe(B(1)).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()});return}e.removeRecipe(this.recipeId).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()})}addAllIngredients(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}}),this.sendAddAllEvent(),this.recipePrice.inBasket===0&&this.sendAddRecipeEvent()}render(){if(this.noPosDisplay&&!this.plannerMode)return d;const e=this.remainingBasketEntries.length>0&&!this.plannerMode,t=this.plannerMode&&this.noPosDisplay,s=this.plannerMode&&!this.inMenu;return i`
2
2
  <div class="mealz-recipe-details__footer">
3
- ${this.productsLoading&&!this.plannerMode?c:i`
3
+ ${this.productsLoading&&!this.plannerMode?d:i`
4
4
  <!-- ADD TO BASKET CTA -->
5
5
  ${e||t||s?this.renderAddToBasketButton():i`
6
6
  <div class="mealz-recipe-details__recipe-is-in-basket-cta-container">
@@ -8,7 +8,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
8
8
  </div>
9
9
  `}
10
10
  `}
11
- ${this.noPosDisplay?c:this.renderPrice()}
11
+ ${this.noPosDisplay?d:this.renderPrice()}
12
12
  </div>`}renderAddToBasketButton(){const e=this.remainingBasketEntries.length;return this.allIngredientsToBasketLoading||this.menuUpdateLoading?i`
13
13
  <button class="mealz-recipe-details__add-to-basket-cta mealz-recipe-details__add-to-basket-cta--loading mealz-ds-button primary">
14
14
  <div class="mealz-ds-loader"></div>
@@ -77,8 +77,8 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
77
77
  alt="basket icon"
78
78
  src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"/>
79
79
  </button>
80
- `:c}
81
- `}renderPrice(){if(this.recipePrice.inBasket<=0&&!this.plannerMode)return c;const e=this.ingredientToBasketLoading||this.updateIngredientFromBasketLoading||this.productsLoading,t=this.plannerMode?this.recipePrice.totalPerGuest:this.recipePrice.inBasket;return i`
80
+ `:d}
81
+ `}renderPrice(){if(this.recipePrice.inBasket<=0&&!this.plannerMode)return d;const e=this.ingredientToBasketLoading||this.updateIngredientFromBasketLoading||this.productsLoading,t=this.plannerMode?this.recipePrice.totalPerGuest:this.recipePrice.inBasket;return i`
82
82
  <div class="mealz-recipe-details__price">
83
83
  <div
84
84
  class="mealz-recipe-details__price-label ${this.plannerMode?"":"primary"} mealz-ds-text size-l weight-xxl">
@@ -91,7 +91,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
91
91
  ${this.plannerMode?"par personne":"dans votre panier"}
92
92
  </span>
93
93
  </div>
94
- `}sendAddAllEvent(){r.analytics.sendEvent("entry.add-all",this.analyticsPath,{recipe_id:this.recipeId,entry_count:this.remainingBasketEntries.length})}sendAddRecipeEvent(){r.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:this.recipeId})}sendContinueEvent(){r.analytics.sendEvent("recipe.continue",this.analyticsPath,{recipe_id:this.recipeId})}}E([h({type:Boolean})],T.prototype,"noPosDisplay");E([h({type:Boolean})],T.prototype,"noSupplier");E([h({type:String})],T.prototype,"recipeId");E([h({type:Boolean})],T.prototype,"plannerMode");E([h({type:Number})],T.prototype,"guests");E([h({attribute:!1})],T.prototype,"recipe");customElements.get("mealz-details-footer")||customElements.define("mealz-details-footer",T);class pe extends k{constructor(){super(),this.tags=[],this.displayTags=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-infos/details-infos.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.tags=e.recipe.relationships.tags.data.map(t=>t.attributes.name),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}toggleTags(){this.displayTags=!this.displayTags,this.requestUpdate()}noTimePlaceholder(){return i`<span class="mealz-recipe-details-infos__no-time-placeholder">0 min</span>`}noDataPlaceholder(){return i`<span class="mealz-recipe-details-infos__no-data-placeholder">-</span>`}getRecipeDifficultyIntoClassName(){switch(this.recipe.attributes.difficulty){case 1:return"easy";case 2:return"medium";case 3:return"hard";default:return"no-difficulty-defined"}}getRecipeDifficultyIntoText(){switch(this.recipe.attributes.difficulty){case 1:return i`<span class="mealz-ds-text">Facile</span>`;case 2:return i`<span class="mealz-ds-text">Moyen</span>`;case 3:return i`<span class="mealz-ds-text">Difficile</span>`;default:return c}}renderPreparationTime(){return i`
94
+ `}sendAddAllEvent(){r.analytics.sendEvent("entry.add-all",this.analyticsPath,{recipe_id:this.recipeId,entry_count:this.remainingBasketEntries.length})}sendAddRecipeEvent(){r.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:this.recipeId})}sendContinueEvent(){r.analytics.sendEvent("recipe.continue",this.analyticsPath,{recipe_id:this.recipeId})}}P([h({type:Boolean})],T.prototype,"noPosDisplay");P([h({type:Boolean})],T.prototype,"noSupplier");P([h({type:String})],T.prototype,"recipeId");P([h({type:Boolean})],T.prototype,"plannerMode");P([h({type:Number})],T.prototype,"guests");P([h({attribute:!1})],T.prototype,"recipe");customElements.get("mealz-details-footer")||customElements.define("mealz-details-footer",T);class pe extends k{constructor(){super(),this.tags=[],this.displayTags=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-infos/details-infos.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.tags=e.recipe.relationships.tags.data.map(t=>t.attributes.name),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}toggleTags(){this.displayTags=!this.displayTags,this.requestUpdate()}noTimePlaceholder(){return i`<span class="mealz-recipe-details-infos__no-time-placeholder">0 min</span>`}noDataPlaceholder(){return i`<span class="mealz-recipe-details-infos__no-data-placeholder">-</span>`}getRecipeDifficultyIntoClassName(){switch(this.recipe.attributes.difficulty){case 1:return"easy";case 2:return"medium";case 3:return"hard";default:return"no-difficulty-defined"}}getRecipeDifficultyIntoText(){switch(this.recipe.attributes.difficulty){case 1:return i`<span class="mealz-ds-text">Facile</span>`;case 2:return i`<span class="mealz-ds-text">Moyen</span>`;case 3:return i`<span class="mealz-ds-text">Difficile</span>`;default:return d}}renderPreparationTime(){return i`
95
95
  <!-- PREPARATION TIME -->
96
96
  <div
97
97
  class="
@@ -130,7 +130,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
130
130
  src="https://storage.googleapis.com/assets.miam.tech/generic/icons/chef-hat-primary.svg"/>
131
131
  ${this.getRecipeDifficultyIntoText()}
132
132
  </div>
133
- `:c}`}renderMoreTags(){return i`
133
+ `:d}`}renderMoreTags(){return i`
134
134
  <!-- MORE INFO -->
135
135
  ${this.displayTags?this.renderTags():i`
136
136
  <div
@@ -209,10 +209,10 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
209
209
  `)}
210
210
  </div>
211
211
  </div>
212
- `}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}}customElements.get("mealz-details-ingredients")||customElements.define("mealz-details-ingredients",he);var me=Object.defineProperty,C=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&me(e,t,a),a};const L=["unavailable"],ge=["ticked","unselected"];class P extends k{constructor(){super(),this.recipeId="",this.initialGuests=0,this.currentGuests=0,this.oftenIgnored=!1,this.subscriptions=[],this.guestObserverService=j.getInstance(),this.modifiedIngQty=0,this.analyticsPath="/meals-planner/current",this.styleURL=new URL("./product-card/product-card-planner.css",this.getBaseURL())}get status(){var e;return(e=this.product)==null?void 0:e.status}set status(e){this.product.status=e,this.requestUpdate()}get productImage(){var e;return((e=this.product.item)==null?void 0:e.attributes.image)||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get ingredientPicture(){return this.product.ingredient.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get isSponsored(){var e,t,s;return((s=(t=(e=this.product)==null?void 0:e.item)==null?void 0:t.attributes)==null?void 0:s.sponsored)===!0}connectedCallback(){super.connectedCallback(),this.listenGuestsChange(),this.calculateQty()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenGuestsChange(){this.subscriptions.push(this.guestObserverService.guests$.subscribe(e=>{this.currentGuests=e,this.calculateQty()}))}calculateQty(){const e=this.product.ingredient.attributes.quantity/this.initialGuests;this.modifiedIngQty=Number((e*this.currentGuests).toFixed(2)),this.requestUpdate()}openReplaceItemView(){r.planner.openReplaceItemView(this.product),this.replaceItemViewEvent()}onCheckboxChange(e){e.target.checked?(this.status="ticked",r.planner.selectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.addItemEvent()):(this.status="unselected",r.planner.unselectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.deleteItemEvent()),this.requestUpdate()}render(){return i`
212
+ `}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}}customElements.get("mealz-details-ingredients")||customElements.define("mealz-details-ingredients",he);var me=Object.defineProperty,R=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&me(e,t,a),a};const U=["unavailable"],ge=["ticked","unselected"];class E extends k{constructor(){super(),this.recipeId="",this.initialGuests=0,this.currentGuests=0,this.oftenIgnored=!1,this.subscriptions=[],this.guestObserverService=j.getInstance(),this.modifiedIngQty=0,this.analyticsPath="/meals-planner/current",this.styleURL=new URL("./product-card/product-card-planner.css",this.getBaseURL())}get status(){var e;return(e=this.product)==null?void 0:e.status}set status(e){this.product.status=e,this.requestUpdate()}get productImage(){var e;return((e=this.product.item)==null?void 0:e.attributes.image)||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get ingredientPicture(){return this.product.ingredient.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get isSponsored(){var e,t,s;return((s=(t=(e=this.product)==null?void 0:e.item)==null?void 0:t.attributes)==null?void 0:s.sponsored)===!0}connectedCallback(){super.connectedCallback(),this.listenGuestsChange(),this.calculateQty()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenGuestsChange(){this.subscriptions.push(this.guestObserverService.guests$.subscribe(e=>{this.currentGuests=e,this.calculateQty()}))}calculateQty(){var t;if(!((t=this.product)!=null&&t.ingredient)||!this.initialGuests)return;const e=this.product.ingredient.attributes.quantity/this.initialGuests;this.modifiedIngQty=Number((e*(this.currentGuests??this.initialGuests)).toFixed(2)),this.requestUpdate()}openReplaceItemView(){r.planner.openReplaceItemView(this.product),this.replaceItemViewEvent()}onCheckboxChange(e){e.target.checked?(this.status="ticked",r.planner.selectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.addItemEvent()):(this.status="unselected",r.planner.unselectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.deleteItemEvent()),this.requestUpdate()}render(){var e;if((e=this.product)!=null&&e.ingredient)return i`
213
213
  <div class="mealz-product-card-planner
214
214
  ${this.status==="ticked"?"added":""}
215
- ${L.includes(this.status)||this.oftenIgnored?"disabled":""}
215
+ ${U.includes(this.status)||this.oftenIgnored?"disabled":""}
216
216
  ${this.status==="unavailable"?"unavailable":""}"
217
217
  >
218
218
  ${this.renderHeader()}
@@ -267,7 +267,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
267
267
  class="
268
268
  mealz-product-card-planner__header-name
269
269
  mealz-ds-text weight-xl
270
- ${L.includes(this.status)||this.oftenIgnored?"mealz-product-card-planner__disabled-text":""}"
270
+ ${U.includes(this.status)||this.oftenIgnored?"mealz-product-card-planner__disabled-text":""}"
271
271
  >
272
272
  ${H(this.product.ingredient.attributes.name)}
273
273
  </span>
@@ -275,7 +275,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
275
275
  class="
276
276
  mealz-product-card-planner__header-quantity
277
277
  mealz-ds-text size-s weight-l
278
- ${L.includes(this.status)||this.oftenIgnored?"mealz-product-card-planner__disabled-text":""}"
278
+ ${U.includes(this.status)||this.oftenIgnored?"mealz-product-card-planner__disabled-text":""}"
279
279
  >
280
280
  <span>${this.modifiedIngQty?this.modifiedIngQty:this.product.ingredient.attributes.quantity}</span>
281
281
  <span>${this.product.ingredient.attributes.unit}</span>
@@ -318,7 +318,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
318
318
  <span>Remplacer</span>
319
319
  </button>
320
320
  `:""}
321
- `}addItemEvent(){r.analytics.sendEvent("planner.item.add",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}deleteItemEvent(){r.analytics.sendEvent("planner.item.delete",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}replaceItemViewEvent(){r.analytics.sendEvent("planner.item.replace",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}}C([h({type:Object})],P.prototype,"product");C([h({type:String})],P.prototype,"recipeId");C([h({type:Number})],P.prototype,"initialGuests");C([h({type:Number})],P.prototype,"currentGuests");C([h({type:Boolean})],P.prototype,"oftenIgnored");customElements.get("mealz-product-card-planner")||customElements.define("mealz-product-card-planner",P);var ve=Object.defineProperty,be=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&ve(e,t,a),a};class K extends k{constructor(){super(),this.styleURL=new URL("./legal-notice/legal-notice.css",this.getBaseURL())}get containsAlcohol(){var t;return(((t=this.tags)==null?void 0:t.data)||[]).some(s=>s.id==="ingredient_category_alcool")}render(){return this.containsAlcohol?i`
321
+ `}addItemEvent(){r.analytics.sendEvent("planner.item.add",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}deleteItemEvent(){r.analytics.sendEvent("planner.item.delete",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}replaceItemViewEvent(){r.analytics.sendEvent("planner.item.replace",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}}R([h({type:Object})],E.prototype,"product");R([h({type:String})],E.prototype,"recipeId");R([h({type:Number})],E.prototype,"initialGuests");R([h({type:Number})],E.prototype,"currentGuests");R([h({type:Boolean})],E.prototype,"oftenIgnored");customElements.get("mealz-product-card-planner")||customElements.define("mealz-product-card-planner",E);var ve=Object.defineProperty,be=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&ve(e,t,a),a};class K extends k{constructor(){super(),this.styleURL=new URL("./legal-notice/legal-notice.css",this.getBaseURL())}get containsAlcohol(){var t;return(((t=this.tags)==null?void 0:t.data)||[]).some(s=>s.id==="ingredient_category_alcool")}render(){return this.containsAlcohol?i`
322
322
  <div class="mealz-products-picker__legal-notices">
323
323
  <span class="mealz-ds-text weight-xxl mealz-products-picker__legal-notices-header">Mentions légales</span>
324
324
  <div class="mealz-products-picker__legal-notices-content">
@@ -330,7 +330,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
330
330
  </span>
331
331
  </div>
332
332
  </div>
333
- `:c}}be([h()],K.prototype,"tags");customElements.get("mealz-legal-notice")||customElements.define("mealz-legal-notice",K);class fe extends k{constructor(){super(),this.styleURL=[new URL("./product-card/product-card-skeleton/product-card-skeleton.css",this.getBaseURL()),new URL("./product-card/product-card.css",this.getBaseURL())]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}render(){return i`
333
+ `:d}}be([h()],K.prototype,"tags");customElements.get("mealz-legal-notice")||customElements.define("mealz-legal-notice",K);class fe extends k{constructor(){super(),this.styleURL=[new URL("./product-card/product-card-skeleton/product-card-skeleton.css",this.getBaseURL()),new URL("./product-card/product-card.css",this.getBaseURL())]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}render(){return i`
334
334
  <!-- PRODUCT CARD -->
335
335
  <div class="mealz-product-card skeleton">
336
336
  <!-- HEADER -->
@@ -373,7 +373,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
373
373
  </div>
374
374
  </div>
375
375
  </div>
376
- `}}customElements.get("mealz-products-card-skeleton")||customElements.define("mealz-products-card-skeleton",fe);var _e=Object.defineProperty,Q=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&_e(e,t,a),a};class D extends k{constructor(){super(),this.inBasket=!1,this.plannerMode=!1,this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.analyticsPath="",this.subscriptions=[],this.noSupplier=r.supplier.isNoSupplier(),this.hasEmittedReady=!1,this.hydrateOnly=!1,this.ssrTemplateRemoved=!1,this.styleURL=new URL("./products-picker/products-picker.css",this.getBaseURL())}get selectors(){return{unavailableBadge:"mealz-unavailable-badge"}}get totalProducts(){var e,t,s;return Array.isArray((s=(t=(e=this.recipe)==null?void 0:e.relationships)==null?void 0:t.ingredients)==null?void 0:s.data)?this.recipe.relationships.ingredients.data.length:0}connectedCallback(){var t,s;super.connectedCallback(),this.getInitialStatus(),this.resetProducts(),this.listenToProducts();const e=(s=(t=r)==null?void 0:t.recipes)==null?void 0:s.displayedRecipe$;e&&typeof e.subscribe=="function"&&this.subscriptions.push(e.subscribe(a=>{a&&(this.recipe=a.recipe,this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.resetProducts(),this.subscriptions.forEach(e=>e.unsubscribe())}resetProducts(){this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.requestUpdate()}getInitialStatus(){const e=this.getAttribute("starting-data");if(e)try{const t=JSON.parse(e);this.plannerMode=!!t.planner,this.hydrateOnly=!0,t.analyticsPath&&(this.analyticsPath=t.analyticsPath),t.recipeId&&(this.recipe={id:t.recipeId,attributes:{"number-of-guests":t.guests||4}})}catch(t){console.warn("[products-picker] starting-data parse error",t)}finally{this.removeAttribute("starting-data")}}removeSSRTemplate(){const e=this.querySelector(".mealz-products-picker");e&&e.parentElement===this&&e.remove()}listenToProducts(){const e=this.plannerMode?r.recipes.productsPlannerByCategory$:r.recipes.productsByCategory$;!e||typeof e.subscribe!="function"||this.subscriptions.push(e.subscribe(t=>{(t.toPickProducts.length>0||t.oftenIgnoredProducts.length>0)&&!this.ssrTemplateRemoved&&this.hydrateOnly&&(this.removeSSRTemplate(),this.ssrTemplateRemoved=!0),this.productsByCategory=t,this.plannerMode?this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(s=>s.status==="unavailable").length:this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(s=>s.basketEntry.status==="out_of_stock").length,this.requestUpdate(),this.notifyReadyIfRendered()}))}async notifyReadyIfRendered(){if(this.hasEmittedReady)return;if(await this.updateComplete,this.querySelector(".mealz-product-card-planner__checkbox")||this.querySelector(".mealz-product-card__checkbox")){this.hasEmittedReady=!0;const t=new CustomEvent("products-picker-ready",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}scrollToFirstUnavailable(){const e=document.querySelector(this.plannerMode?".mealz-products-picker":".mealz-products-picker__container");if(e){const t=e.querySelector(this.plannerMode?".mealz-product-card-planner.unavailable":".mealz-product-card__container.out_of_stock");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}}isAlreadyOnCatalogPage(){return window.location.href.includes(r.router.getCatalogUrl())}closeRecipeModal(){}currentPath(){return""}guestsChange(e){const t=new CustomEvent("guestChange",{bubbles:!0,composed:!0,detail:{value:e.detail.value}});this.dispatchEvent(t)}render(){var n,l;const e=!!this.recipe&&this.recipe.id!==void 0,t=Array.isArray((n=this.productsByCategory)==null?void 0:n.toPickProducts)?this.productsByCategory.toPickProducts:[],s=Array.isArray((l=this.productsByCategory)==null?void 0:l.oftenIgnoredProducts)?this.productsByCategory.oftenIgnoredProducts:[],a=this.totalProducts||t.length||0;return i`
376
+ `}}customElements.get("mealz-products-card-skeleton")||customElements.define("mealz-products-card-skeleton",fe);var _e=Object.defineProperty,Q=(o,e,t,s)=>{for(var a=void 0,n=o.length-1,l;n>=0;n--)(l=o[n])&&(a=l(e,t,a)||a);return a&&_e(e,t,a),a};class D extends k{constructor(){super(),this.inBasket=!1,this.plannerMode=!1,this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.analyticsPath="",this.subscriptions=[],this.noSupplier=r.supplier.isNoSupplier(),this.hasEmittedReady=!1,this.hydrateOnly=!1,this.ssrTemplateRemoved=!1,this.styleURL=new URL("./products-picker/products-picker.css",this.getBaseURL())}get selectors(){return{unavailableBadge:"mealz-unavailable-badge"}}get totalProducts(){var e,t,s;return Array.isArray((s=(t=(e=this.recipe)==null?void 0:e.relationships)==null?void 0:t.ingredients)==null?void 0:s.data)?this.recipe.relationships.ingredients.data.length:0}connectedCallback(){var t,s;super.connectedCallback(),this.getInitialStatus(),this.resetProducts(),this.listenToProducts();const e=(s=(t=r)==null?void 0:t.recipes)==null?void 0:s.displayedRecipe$;e&&typeof e.subscribe=="function"&&this.subscriptions.push(e.subscribe(a=>{a&&(this.recipe=a.recipe,this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.resetProducts(),this.subscriptions.forEach(e=>e.unsubscribe())}resetProducts(){this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.requestUpdate()}getInitialStatus(){const e=this.getAttribute("starting-data");if(e)try{const t=JSON.parse(e);this.plannerMode=!!t.planner,this.hydrateOnly=!0,t.analyticsPath&&(this.analyticsPath=t.analyticsPath),t.recipeId&&(this.recipe={id:t.recipeId,attributes:{"number-of-guests":t.guests||4}})}catch(t){console.warn("[products-picker] starting-data parse error",t)}finally{this.removeAttribute("starting-data")}}removeSSRTemplate(){const e=this.querySelector(".mealz-products-picker");e&&e.parentElement===this&&e.remove()}listenToProducts(){const e=this.plannerMode?r.recipes.productsPlannerByCategory$:r.recipes.productsByCategory$;!e||typeof e.subscribe!="function"||this.subscriptions.push(e.subscribe(t=>{(t.toPickProducts.length>0||t.oftenIgnoredProducts.length>0)&&!this.ssrTemplateRemoved&&this.hydrateOnly&&(this.removeSSRTemplate(),this.ssrTemplateRemoved=!0),this.productsByCategory=t,this.plannerMode?this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(s=>(s==null?void 0:s.ingredient)&&s.status==="unavailable").length:this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(s=>{var a;return((a=s==null?void 0:s.basketEntry)==null?void 0:a.status)==="out_of_stock"}).length,this.requestUpdate(),this.notifyReadyIfRendered()}))}async notifyReadyIfRendered(){if(this.hasEmittedReady)return;if(await this.updateComplete,this.querySelector(".mealz-product-card-planner__checkbox")||this.querySelector(".mealz-product-card__checkbox")){this.hasEmittedReady=!0;const t=new CustomEvent("products-picker-ready",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}scrollToFirstUnavailable(){const e=document.querySelector(this.plannerMode?".mealz-products-picker":".mealz-products-picker__container");if(e){const t=e.querySelector(this.plannerMode?".mealz-product-card-planner.unavailable":".mealz-product-card__container.out_of_stock");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}}isAlreadyOnCatalogPage(){return window.location.href.includes(r.router.getCatalogUrl())}closeRecipeModal(){}currentPath(){return""}guestsChange(e){const t=new CustomEvent("guestChange",{bubbles:!0,composed:!0,detail:{value:e.detail.value}});this.dispatchEvent(t)}render(){var n,l;const e=!!this.recipe&&this.recipe.id!==void 0,t=Array.isArray((n=this.productsByCategory)==null?void 0:n.toPickProducts)?this.productsByCategory.toPickProducts:[],s=Array.isArray((l=this.productsByCategory)==null?void 0:l.oftenIgnoredProducts)?this.productsByCategory.oftenIgnoredProducts:[],a=this.totalProducts||t.length||0;return i`
377
377
  <div class="mealz-products-picker">
378
378
  ${this.inBasket&&this.plannerMode?i`
379
379
  <div class="mealz-products-picker__overlay">
@@ -383,22 +383,22 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
383
383
  </span>
384
384
  </div>
385
385
  </div>
386
- `:c}
386
+ `:d}
387
387
  <!-- HEADER -->
388
388
  ${this.renderHeader()}
389
389
  <div class="mealz-products-picker__list">
390
390
  <!-- TO PICK PRODUCTS -->
391
- ${e&&t.length>0?t.map(p=>{var d,g,u,m,v,b,f,_,z,$;return this.plannerMode?i`
391
+ ${e&&t.length>0?t.filter(c=>c==null?void 0:c.ingredient).map(c=>{var p,g,u,m,v,b,f,_,z,$;return this.plannerMode?i`
392
392
  <mealz-product-card-planner
393
- .product="${p}"
393
+ .product="${c}"
394
394
  .recipeId="${this.recipe.id}"
395
395
  .oftenIgnored="${!1}"
396
- .initialGuests="${((g=(d=this.recipe)==null?void 0:d.attributes)==null?void 0:g["number-of-guests"])||4}"
396
+ .initialGuests="${((g=(p=this.recipe)==null?void 0:p.attributes)==null?void 0:g["number-of-guests"])||4}"
397
397
  .currentGuests="${((u=this.recipe)==null?void 0:u.modifiedGuests)||((v=(m=this.recipe)==null?void 0:m.attributes)==null?void 0:v["number-of-guests"])||4}"
398
398
  ></mealz-product-card-planner>
399
399
  `:i`
400
400
  <mealz-product-card
401
- .product="${p}"
401
+ .product="${c}"
402
402
  .recipeId="${this.recipe.id}"
403
403
  .initialGuests="${((f=(b=this.recipe)==null?void 0:b.attributes)==null?void 0:f["number-of-guests"])||4}"
404
404
  .currentGuests="${((_=this.recipe)==null?void 0:_.modifiedGuests)||(($=(z=this.recipe)==null?void 0:z.attributes)==null?void 0:$["number-of-guests"])||4}"
@@ -418,17 +418,17 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
418
418
  </div>
419
419
  <div slot="content">
420
420
  <div class="mealz-products-picker__list">
421
- ${s.map(p=>{var d,g,u,m,v,b,f,_,z,$;return this.plannerMode?i`
421
+ ${s.filter(c=>c==null?void 0:c.ingredient).map(c=>{var p,g,u,m,v,b,f,_,z,$;return this.plannerMode?i`
422
422
  <mealz-product-card-planner
423
- .product="${p}"
423
+ .product="${c}"
424
424
  .recipeId="${this.recipe.id}"
425
425
  .oftenIgnored="${!0}"
426
- .initialGuests="${((g=(d=this.recipe)==null?void 0:d.attributes)==null?void 0:g["number-of-guests"])||4}"
426
+ .initialGuests="${((g=(p=this.recipe)==null?void 0:p.attributes)==null?void 0:g["number-of-guests"])||4}"
427
427
  .currentGuests="${((u=this.recipe)==null?void 0:u.modifiedGuests)||((v=(m=this.recipe)==null?void 0:m.attributes)==null?void 0:v["number-of-guests"])||4}"
428
428
  ></mealz-product-card-planner>
429
429
  `:i`
430
430
  <mealz-product-card
431
- .product="${p}"
431
+ .product="${c}"
432
432
  .recipeId="${this.recipe.id}"
433
433
  .initialGuests="${((f=(b=this.recipe)==null?void 0:b.attributes)==null?void 0:f["number-of-guests"])||4}"
434
434
  .currentGuests="${((_=this.recipe)==null?void 0:_.modifiedGuests)||(($=(z=this.recipe)==null?void 0:z.attributes)==null?void 0:$["number-of-guests"])||4}"
@@ -437,9 +437,9 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
437
437
  </div>
438
438
  </div>
439
439
  </mealz-accordion>
440
- `:c}
440
+ `:d}
441
441
  </div>
442
- ${this.noSupplier?c:this.renderLowerContent()}
442
+ ${this.noSupplier?d:this.renderLowerContent()}
443
443
  </div>
444
444
  `}renderHeader(){var e;return i`
445
445
  <div class="mealz-products-picker__header">
@@ -454,9 +454,9 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
454
454
  .numberUnavailable="${this.numberUnavailableProducts}"
455
455
  @clicked="${()=>this.scrollToFirstUnavailable()}">
456
456
  </mealz-unavailable-badge>
457
- `:c}
457
+ `:d}
458
458
  </div>
459
- `:c}
459
+ `:d}
460
460
  <!-- GUEST COUNTER FOR NO SUPPLIER MODE-->
461
461
  ${this.noSupplier?i`
462
462
  <mealz-counter
@@ -467,7 +467,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
467
467
  class="mealz-products-picker__guest-counter"
468
468
  @valueChange="${t=>this.guestsChange(t)}"
469
469
  ></mealz-counter>
470
- `:c}
470
+ `:d}
471
471
  <!-- <div class="mealz-ds-dropdown">
472
472
  <select>
473
473
  <option *ngFor="let option of productsTypeOption">
@@ -494,7 +494,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
494
494
  `}
495
495
  </div>
496
496
  <mealz-legal-notice .tags="${(t=(e=this.recipe)==null?void 0:e.relationships)==null?void 0:t.tags}"></mealz-legal-notice>
497
- `}sendHomeDisplayEvent(){r.analytics.sendEvent("home.display",this.analyticsPath,{})}}Q([h({type:Boolean})],D.prototype,"inBasket");Q([h({type:Boolean})],D.prototype,"plannerMode");customElements.get("mealz-products-picker")||customElements.define("mealz-products-picker",D);class ze extends k{constructor(){super(),this.invalidPos=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/no-pos-selected/no-pos-selected.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenIfPosInvalid()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenIfPosInvalid(){this.subscriptions.push(r.recipes.invalidPosDisplay$.subscribe(e=>{this.invalidPos=e,this.requestUpdate()}))}callPosSelector(){const e=new CustomEvent("posSelected",{bubbles:!0,composed:!0});this.dispatchEvent(e)}openStoreLocator(){window.mealzInternal.noSupplier.displaySupplierSelector$.next(!0)}render(){return i`
497
+ `}sendHomeDisplayEvent(){r.analytics.sendEvent("home.display",this.analyticsPath,{})}}Q([h({type:Boolean})],D.prototype,"inBasket");Q([h({type:Boolean})],D.prototype,"plannerMode");customElements.get("mealz-products-picker")||customElements.define("mealz-products-picker",D);class ze extends k{constructor(){super(),this.invalidPos=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/no-pos-selected/no-pos-selected.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenIfPosInvalid()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenIfPosInvalid(){this.subscriptions.push(r.recipes.invalidPosDisplay$.subscribe(e=>{this.invalidPos=e,this.requestUpdate()}))}openStoreSelector(){sessionStorage.setItem("_miam/cachedRecipeUrl",window.location.href),this.subscriptions.push(r.hook.hookCallback(!1,!0).subscribe())}render(){return i`
498
498
  <div class="mealz-no-pos-selected">
499
499
  ${this.invalidPos?i`
500
500
  <!-- INVALID POS -->
@@ -529,7 +529,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
529
529
  `}
530
530
  <button
531
531
  class="mealz-ds-button mealz-ds-text size-m weight-xl mealz-no-pos-selected__select-pos-button secondary"
532
- @click=${()=>this.openStoreLocator()}
532
+ @click=${()=>this.openStoreSelector()}
533
533
  >
534
534
  Sélectionner un magasin
535
535
  </button>
@@ -537,7 +537,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
537
537
  `}}customElements.get("mealz-no-pos-selected")||customElements.define("mealz-no-pos-selected",ze);class ye extends k{constructor(){super(),this.activeTabIndex=0,this.destroy$=new O,this.remainingBasketEntries=[],this.guestObserverService=j.getInstance(),this.isSticky=!1,this.hasBackNavigation=!1,this.drawerViewSwapper=null,this.styleURL=new URL("./recipe-details/recipe-details.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.destroy$=new O,this.handleNoSupplierMode(),V(r.recipes.displayedRecipe$.pipe(w(this.destroy$),N(e=>!!e),I(e=>{e.recipe!==null&&(this.recipe=e.recipe,this.sponsor=e.recipe.relationships.sponsors.data[0],this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.plannerMode=!!e.planner,this.getLikeButton(),this.checkSponsorStorytelling(),this.pageview(),this.listenToCloseEvent(),this.setStickyObserver())}),q(e=>e.recipe===null?[]:this.listenToRecipeInBasket())),this.listenPosStatus(),this.listenRemainingBasketEntries(),this.listenLastOrderDate(),this.listenToLoadingStates(),this.listenToAddAllToBasket()).pipe(w(this.destroy$)).subscribe({next:()=>this.requestUpdate(),error:e=>console.error("Recipe details error:",e)}),this.addEventListener("products-picker-ready",()=>this.startRecipeDetailsOnboardingIfNeeded()),this.setupDrawerBackNavigationIndicator()}disconnectedCallback(){super.disconnectedCallback(),this.destroy$.next(),this.destroy$.complete(),this.topObserver&&this.topObserver.disconnect(),this.stickyTimeout&&clearTimeout(this.stickyTimeout),this.drawerViewSwapper&&this.onActiveViewsChanged&&this.drawerViewSwapper.removeEventListener("mealz-active-views-changed",this.onActiveViewsChanged)}setupDrawerBackNavigationIndicator(){const e=this.closest("mealz-drawer-view-swapper");this.drawerViewSwapper=e??document.querySelector("mealz-drawer-view-swapper"),this.drawerViewSwapper&&(this.updateBackNavigationFromActiveViews(this.drawerViewSwapper.getActiveViewNames()),this.onActiveViewsChanged=t=>{const s=t==null?void 0:t.detail;s!=null&&s.activeViews&&this.updateBackNavigationFromActiveViews(s.activeViews)},this.drawerViewSwapper.addEventListener("mealz-active-views-changed",this.onActiveViewsChanged))}updateBackNavigationFromActiveViews(e){const t=Array.isArray(e)&&e.length>1;this.hasBackNavigation!==t&&(this.hasBackNavigation=t,this.requestUpdate())}getRecipeDetailsCloseIcon(){return this.hasBackNavigation?{src:"https://storage.googleapis.com/assets.miam.tech/generic/icons/arrow-right.svg",alt:"back button",className:"mealz-recipe-details__close-icon is-back"}:{src:"https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg",alt:"modal close button",className:"mealz-recipe-details__close-icon"}}getRecipeDetailsStickyCloseIcon(){return this.hasBackNavigation?{src:"https://storage.googleapis.com/assets.miam.tech/generic/icons/ArrowLeft_dark.svg",alt:"back button",className:"mealz-recipe-details__close-icon before-title is-back"}:{src:"https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_Black.svg",alt:"modal close button",className:"mealz-recipe-details__close-icon"}}setStickyObserver(){this.topObserver||this.updateComplete.then(()=>{const e=this.querySelector(".mealz-recipe-details__sticky-anchor");e&&(this.topObserver=new IntersectionObserver(([t])=>{this.stickyTimeout&&clearTimeout(this.stickyTimeout),this.stickyTimeout=window.setTimeout(()=>{const s=!t.isIntersecting;this.isSticky!==s&&(this.isSticky=s,this.requestUpdate())},150)},{threshold:0}),this.topObserver.observe(e))})}startRecipeDetailsOnboardingIfNeeded(){localStorage.getItem("_miam/recipeDetailsOnboarding")==="true"||!this.plannerMode||this.updateComplete.then(()=>{this.scrollJustAfterImage();let t=document.querySelector("mealz-planner-onboarding");t?t.type="recipe-details":(t=new ae,t.type="recipe-details",document.body.appendChild(t)),t.launchOnboardingTour()})}scrollJustAfterImage(){const e=this.querySelector(".mealz-recipe-details__tabs");if(!e)return;const t=document.querySelector(".mealz-drawer__content-container");if(t){const s=e.getBoundingClientRect(),a=t.getBoundingClientRect();t.scrollTop+=s.top-a.top;return}e.scrollIntoView({behavior:"smooth",block:"start"})}handleNoSupplierMode(){this.noSupplier=!!r.supplier.isNoSupplier(),this.requestUpdate()}close(){this.sendCloseEvent(),r.recipes.displayedRecipe$.next(null)}listenToCloseEvent(){const e=document.querySelector("mealz-drawer");e&&e.addEventListener("drawerClosed",()=>{this.sendCloseEvent()})}selectTab(e){this.activeTabIndex=e,this.activeTabIndex===1&&this.sendCookingDisplayEvent(),this.requestUpdate()}getLikeButton(){this.noSupplier||r.user.isAuthenticated().pipe(w(this.destroy$),N(e=>e),q(()=>r.html.like(this.recipe.id))).subscribe({next:e=>{this.likeButtonHTML=e,this.requestUpdate()},error:e=>console.error("Like button error:",e)})}checkSponsorStorytelling(){this.sponsor&&r.sponsor.hasStorytelling(this.sponsor.id).pipe(w(this.destroy$)).subscribe({next:e=>{this.hasSponsorStorytelling=e,this.requestUpdate()},error:e=>console.error("Sponsor storytelling error:",e)})}listenPosStatus(){return G({noPosDisplay:r.recipes.noPosDisplay$,invalidPosDisplay:r.recipes.invalidPosDisplay$}).pipe(I(({noPosDisplay:e,invalidPosDisplay:t})=>{this.noPosDisplay=e,this.invalidPosDisplay=t,this.activeTabIndex=e?1:0}),y(()=>{}))}listenLastOrderDate(){return r.recipes.orderHistoryDate$.pipe(I(e=>{this.orderHistoryDate=e}))}listenToLoadingStates(){return G([r.recipes.ingredientToBasketLoading$,r.recipes.updateIngredientFromBasketLoading$]).pipe(y(([e,t])=>e||t),I(e=>{this.basketIsUpdating=e}),ce(1))}listenRemainingBasketEntries(){return r.recipes.remainingBasketEntries$.pipe(I(e=>{this.remainingBasketEntries=e}))}listenToAddAllToBasket(){return r.recipes.allIngredientsToBasketLoading$.pipe(I(e=>{e&&(this.selectTab(0),setTimeout(()=>{this.scrollToPicker()},50))}))}listenToRecipeInBasket(){return r.recipes.isRecipeInBasket(this.recipe.id).pipe(I(e=>{this.inBasket=e}))}scrollToPicker(){const e=this.querySelector(".mealz-products-picker");if(e){const t=this.querySelector(".mealz-recipe-details__title-container"),s=(t==null?void 0:t.offsetHeight)||0;e.style.scrollMarginTop=`${s}px`,e.scrollIntoView({behavior:"instant",block:"start"})}}scrollToReplacedItem(e){var s,a;const t=this.querySelectorAll("mealz-product-card-planner");for(const n of Array.from(t)){const l=n;if(((a=(s=l.product)==null?void 0:s.item)==null?void 0:a.id)===e){l.scrollIntoView({behavior:"instant",block:"center"});break}}}openLastOrderModal(){this.sendOrderedDisplayEvent();const e=new se;e.recipeId=this.recipe.id,e.addEventListener("orderAgain",()=>this.orderAgain()),e.displayLastOrderModal(this.orderHistoryDate)}orderAgain(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}})}updateGuests(e){if(this.recipe.modifiedGuests===e.detail.value)return;this.recipe.modifiedGuests=e.detail.value,this.guestObserverService.updateGuests(this.recipe.modifiedGuests);const t={originPath:this.analyticsPath,props:{}};this.plannerMode?r.planner.updateGuests(this.recipe.modifiedGuests,t):r.recipes.updateGuests(t),this.requestUpdate()}render(){const e=this.getRecipeDetailsCloseIcon(),t=this.getRecipeDetailsStickyCloseIcon();return i`
538
538
  <div class="mealz-recipe-details">
539
539
  <!-- IF IS LOADING -->
540
- ${this.recipe?c:i`
540
+ ${this.recipe?d:i`
541
541
  <div class="mealz-ds-loader mealz-recipe-details__loader"></div>`}
542
542
  <!-- IF IS NOT LOADING AND RECIPE EXISTS -->
543
543
  ${this.recipe?i`
@@ -576,11 +576,11 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
576
576
  ${this.recipe.attributes["filigrane-logo-url"]?i`
577
577
  <div class="mealz-recipe-details__picture__filigrane">
578
578
  <img alt="filigrane logo" src=${this.recipe.filigraneLogoUrl}>
579
- </div>`:c}
579
+ </div>`:d}
580
580
  </div>
581
581
  <!-- SPONSOR -->
582
582
  <div class="mealz-recipe-details__sponsor">
583
- ${this.recipe.attributes["informational-page-html"]&&this.hasSponsorStorytelling?this.renderAddonLink():c}
583
+ ${this.recipe.attributes["informational-page-html"]&&this.hasSponsorStorytelling?this.renderAddonLink():d}
584
584
  <hr class="mealz-recipe-details__sponsor-separator">
585
585
  </div>
586
586
  <!-- LAST ORDER BADGE -->
@@ -591,7 +591,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
591
591
  .disabled=${this.plannerMode}
592
592
  @openLastOrderModal=${()=>this.openLastOrderModal()}>
593
593
  </mealz-last-order-badge>
594
- </div>`:c}
594
+ </div>`:d}
595
595
  <div class="mealz-recipe-details__sticky-anchor"></div>
596
596
  <!-- STICKY HEADER -->
597
597
  <div class="mealz-recipe-details__sticky-header">
@@ -621,10 +621,10 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
621
621
  </div>
622
622
  <!-- STORE INDICATOR -->
623
623
  ${this.noSupplier?i`
624
- <mealz-store-indicator .analyticsPath=${this.analyticsPath}></mealz-store-indicator>`:c}
624
+ <mealz-store-indicator .analyticsPath=${this.analyticsPath}></mealz-store-indicator>`:d}
625
625
  </div>
626
626
  <!-- RECIPE BASIC INFORMATIONS + TABS -->
627
- ${this.noSupplier?c:i`
627
+ ${this.noSupplier?d:i`
628
628
  <!-- RECIPE BASIC INFORMATIONS -->
629
629
  <mealz-details-infos class="mealz-recipe-details__infos"></mealz-details-infos>
630
630
  <!-- TABS TO SWITCH BETWEEN BASKET AND INSTRUCTIONS -->
@@ -650,9 +650,9 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
650
650
  .plannerMode=${this.plannerMode}
651
651
  .guests=${this.recipe.modifiedGuests}
652
652
  .recipe=${this.recipe}
653
- ></mealz-details-footer>`:c}
653
+ ></mealz-details-footer>`:d}
654
654
  </div>
655
- `:c}
655
+ `:d}
656
656
  </div>
657
657
  `}renderTabContent(){return i`
658
658
  <div class="mealz-recipe-details__products-tab ${this.activeTabIndex===0?"":"hidden"}">
@@ -677,7 +677,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
677
677
  <!-- ORDER AGAIN -->
678
678
  ${this.orderHistoryDate&&this.remainingBasketEntries.length>0&&!this.plannerMode?i`
679
679
  <mealz-order-again .recipeId=${this.recipe.id} @orderAgain=${()=>this.orderAgain()}></mealz-order-again>
680
- `:c}
680
+ `:d}
681
681
  </div>
682
682
  `}renderAddonLink(){var e;return i`
683
683
  <div class="mealz-addon-link">
@@ -694,12 +694,12 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
694
694
  <span class="mealz-addon-link__link mealz-ds-text size-s weight-xl" @click=${()=>this.showRecipeAddon()}>
695
695
  En savoir plus
696
696
  </span>
697
- `:c}
697
+ `:d}
698
698
  </div>
699
699
  ${this.sponsor.attributes["logo-url"]?i`
700
700
  <div class="mealz-addon-link__logo">
701
701
  <img src="${this.sponsor.attributes["logo-url"]}" alt="${this.sponsor.attributes.name} logo" />
702
702
  </div>
703
- `:c}
703
+ `:d}
704
704
  </div>
705
705
  `}showRecipeAddon(){this.sendSponsorDisplayEvent();const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayRecipeAddon$.next(!0)}pageview(){r.analytics.sendEvent("pageview",this.analyticsPath,{})}sendSponsorDisplayEvent(){r.analytics.sendEvent("sponsor.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendCloseEvent(){r.analytics.sendEvent("recipe.close",this.analyticsPath,{recipe_id:this.recipe.id})}sendCookingDisplayEvent(){r.analytics.sendEvent("recipe.cooking.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendOrderedDisplayEvent(){r.analytics.sendEvent("recipe.ordered.display",this.analyticsPath,{recipe_id:this.recipe.id})}}customElements.get("mealz-recipe-details")||customElements.define("mealz-recipe-details",ye);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mealz-components",
3
3
  "type": "module",
4
- "version": "2.6.1",
4
+ "version": "2.6.2",
5
5
  "main": "./dist/mealz-components.js",
6
6
  "module": "./dist/mealz-components.js",
7
7
  "scripts": {
@@ -1,19 +0,0 @@
1
- import{N as d,k as p}from"./no-shadow-element-D62BBu0I.js";import{n as i}from"./property-CoRN-Ln2.js";import{a as r}from"./unsafe-html-DWUMaK1p.js";var h=Object.defineProperty,n=(l,t,e,g)=>{for(var o=void 0,a=l.length-1,c;a>=0;a--)(c=l[a])&&(o=c(t,e,o)||o);return o&&h(t,e,o),o};class s extends d{constructor(){super(),this.noStyling=!1,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 t=this.querySelector('[slot="title"]');t&&(this.titleSlot=t.innerHTML,t.remove());const e=this.querySelector('[slot="content"]');e&&(this.contentSlot=e.innerHTML,e.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 p`
2
- <button
3
- class="mealz-accordion__header${this.noStyling?"-no-styling":""}"
4
- @click=${()=>this.toggleAccordion()}
5
- aria-expanded=${!this.isCollapsed}
6
- >
7
- ${typeof this.titleSlot=="string"?r(this.titleSlot):this.titleSlot}
8
- <img
9
- class="mealz-accordion__icon"
10
- src=${this.iconUrl??"https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down.svg"}
11
- alt="open and close icon"
12
- />
13
- </button>
14
- <div class="mealz-accordion__collapsable-container${this.noStyling?"-no-styling":""}">
15
- <div class="mealz-accordion__collapsable-content">
16
- ${typeof this.contentSlot=="string"?r(this.contentSlot):this.contentSlot}
17
- </div>
18
- </div>
19
- `}}n([i({type:String})],s.prototype,"titleSlot");n([i({type:String})],s.prototype,"contentSlot");n([i({type:String})],s.prototype,"iconUrl");n([i({type:Boolean})],s.prototype,"noStyling");n([i({type:Boolean})],s.prototype,"isCollapsed");customElements.get("mealz-accordion")||customElements.define("mealz-accordion",s);
@@ -1 +0,0 @@
1
- .mealz-planner-dashboard .mealz-planner-dashboard__title{color:#000;margin:32px 0;padding:0 80px;display:flex;align-items:center;gap:12px}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]){width:18px;height:18px;background-color:var(--mealz-ds-color-primary-100, #E4EAEC)}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]) img{cursor:pointer;width:13px;height:13px}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 80px;box-sizing:border-box;min-height:90dvh}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options{display:flex;margin-bottom:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options mealz-planner-menu-option{flex:1;height:auto;display:flex;align-items:stretch}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options>*:not(:last-child){margin-right:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history{display:flex;justify-content:space-between;align-items:center}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history>*:not(:last-child){margin-right:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-container,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-container{display:flex;flex:1;justify-content:space-between;align-items:center;width:100%;padding:16px;border:1px solid var(--mealz-ds-color-neutral-200, #D9DDE1);border-radius:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-container,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-container{color:var(--mealz-ds-color-neutral-black, #0F191F);text-decoration:none}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-container{background-color:var(--mealz-ds-color-neutral-white, #fff);cursor:pointer}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-content,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-content{display:flex;align-items:center;margin-right:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-content>*:not(:last-child),.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-content>*:not(:last-child){margin-right:8px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-icon,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-icon{width:24px;height:24px}@media (max-width: 1023px){.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history{flex-direction:column;margin-bottom:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options>*:not(:last-child),.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history>*:not(:last-child){margin-right:0;margin-bottom:12px}}@media (max-width: 1023px){.mealz-planner-dashboard .mealz-planner-dashboard__title{margin:24px 0;padding:0 24px}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 24px}}@media (max-width: 700px){.mealz-planner-dashboard .mealz-planner-dashboard__title{margin:16px 0}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 16px}}
@@ -1 +0,0 @@
1
- import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{o}from"../helpers/open-onboarding-modal.min.js";import{N as r}from"../../assets/no-shadow-element-D62BBu0I.js";import{m as n}from"../../assets/mealz-sdk-E_fNZM-c.js";import"../../assets/state-DDIoBQp5.js";import"../../assets/property-CoRN-Ln2.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../onboarding/events.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DWUMaK1p.js";class i extends r{constructor(){super(...arguments),this.analyticsPath="/meals-planner/dashboard"}get selectors(){return{historyLink:".mealz-planner-dashboard__history-container",onboardingButton:".mealz-planner-dashboard__onboarding-container"}}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners()}addEventListeners(){var e,a;(e=this.elements.historyLink)==null||e.addEventListener("click",t=>this.navigateToHistory(t)),(a=this.elements.onboardingButton)==null||a.addEventListener("click",t=>this.openOnboardingModal(t))}navigateToHistory(e){e.preventDefault();const a=e.currentTarget;n.hook.hookCallback().subscribe(t=>{t&&(window.location.href=a.href)})}openOnboardingModal(e){e.preventDefault(),o("dashboard")}pageview(){n.analytics.sendEvent("pageview",this.analyticsPath,{})}}customElements.get("mealz-planner-dashboard")||customElements.define("mealz-planner-dashboard",i);
@@ -1 +0,0 @@
1
- .mealz-planner-banner{border:1px solid var(--mealz-ds-color-neutral-200, #d9dde1);display:flex;justify-content:center;align-items:center;padding:16px;margin-bottom:16px;border-radius:12px;background-image:url(https://storage.googleapis.com/assets.miam.tech/generic/images/meals-planner_banner_bg.png);background-position:center;background-size:cover;text-decoration:none;position:relative}.mealz-planner-banner .mealz-planner-banner__logo{position:relative;left:inherit;height:108px;width:108px}.mealz-planner-banner .mealz-planner-banner__container{max-width:50%;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:16px;border-radius:8px;background-color:var(--mealz-ds-color-neutral-white, #fff);box-shadow:0 4px 12px #0f191f1f;position:relative;z-index:1;gap:16px}.mealz-planner-banner .mealz-planner-banner__container .mealz-planner-banner__description{color:var(--mealz-ds-color-neutral-black, #0f191f)}.mealz-planner-banner .mealz-planner-banner__container .mealz-ds-button{flex-shrink:0}@media (max-width: 1000px){.mealz-planner-banner{padding:20px 8px}.mealz-planner-banner .mealz-planner-banner__container{flex-wrap:wrap;padding:8px;justify-content:flex-start;gap:8px}}@media (max-width: 1023px){.mealz-planner-banner{margin-right:24px}.mealz-planner-banner .mealz-planner-banner__container{max-width:100%}}@media (max-width: 700px){.mealz-planner-banner{margin-right:16px}}
@@ -1 +0,0 @@
1
- .mealz-planner-card-link{display:flex;flex-direction:column;align-items:center;border:1px solid var(--mealz-ds-color-neutral-200, #d9dde1);border-radius:12px;width:var(--mealz-recipe-card-width, 227px);height:var(--mealz-recipe-card-height, 360px);background-image:url(https://storage.googleapis.com/assets.miam.tech/generic/images/meals-planner_card_bg.png);background-position:center;background-size:cover;text-decoration:none}.mealz-planner-card-link .mealz-planner-card-link__logo{flex-shrink:1;min-height:0;width:fit-content}.mealz-planner-card-link .mealz-planner-card-link__container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px;margin:12px;border-radius:8px;background-color:var(--mealz-ds-color-neutral-white, #fff);box-shadow:0 4px 12px #0f191f1f;flex-shrink:0}.mealz-planner-card-link .mealz-planner-card-link__container .mealz-planner-card-link__description{margin-bottom:8px;text-align:center;color:var(--mealz-ds-color-neutral-black, #0f191f)}.mealz-planner-card-link .mealz-planner-card-link__container .mealz-ds-button{text-decoration:none}@media (max-width: 1023px){.mealz-planner-card-link{height:320px;width:240px}}