mealz-components 2.8.2 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{OperatorSubscriber-CvNNPrIM.js → OperatorSubscriber-BF1r9b3N.js} +1 -1
- package/dist/assets/{accordion-tsgdqQeQ.js → accordion-Ds4UMuL5.js} +1 -1
- package/dist/assets/{args-upHwW4Wh.js → args-DPeCFqiB.js} +1 -1
- package/dist/assets/{async-M7ziFu3t.js → async-Buq9Zuro.js} +1 -1
- package/dist/assets/{combineLatest-BB01Px-W.js → combineLatest-CRVESsJM.js} +1 -1
- package/dist/assets/{debounceTime-BeLayHXh.js → debounceTime-D6W3esj0.js} +1 -1
- package/dist/assets/delay-CUcLbxeL.js +1 -0
- package/dist/assets/{distinctUntilChanged-6bjT4iYO.js → distinctUntilChanged-FtASLz6t.js} +1 -1
- package/dist/assets/empty--gMS1asf.js +1 -0
- package/dist/assets/{filter-aZV_N5pj.js → filter-Dq4X88HC.js} +1 -1
- package/dist/assets/{firstValueFrom-CyoZXDwo.js → firstValueFrom-CMUHI5hL.js} +1 -1
- package/dist/assets/{from-uSPfq2sN.js → from-BxJrdzJs.js} +1 -1
- package/dist/assets/{guestObserver-PPbBwlOO.js → guestObserver-CSQi-6i9.js} +1 -1
- package/dist/assets/{http-Cm33xl_Z.js → http-B0u4sOhM.js} +1 -1
- package/dist/assets/{innerFrom-BldbX_fT.js → innerFrom-BZ8nxpLv.js} +1 -1
- package/dist/assets/isScheduler-B3orCs5Q.js +1 -0
- package/dist/assets/{map-ND1NsJPC.js → map-DdvZijlE.js} +1 -1
- package/dist/assets/mapOneOrManyArgs-BpqqmasF.js +1 -0
- package/dist/assets/{mealz-sdk-CnvUgy3V.js → mealz-sdk-CQtAGQGQ.js} +1 -1
- package/dist/assets/merge-rdVI6Z3B.js +1 -0
- package/dist/assets/mergeAll-BJfNWPb7.js +1 -0
- package/dist/assets/{mergeMap-C1wxIFhz.js → mergeMap-CObP_yRz.js} +1 -1
- package/dist/assets/{no-shadow-element-CXVMZH9n.js → no-shadow-element-DZc32M1D.js} +2 -2
- package/dist/assets/of-R1iMbYYX.js +1 -0
- package/dist/assets/{price-CTfOOyf1.js → price-Bfy_G-uC.js} +1 -1
- package/dist/assets/{product-card-ryOzsvSF.js → product-card-CcfAgVi3.js} +1 -1
- package/dist/assets/{promotion-badge-D63kIgUZ.js → promotion-badge-BusnHgIb.js} +1 -1
- package/dist/assets/{property-BXpY_hgs.js → property-CrS1c6lI.js} +1 -1
- package/dist/assets/{session-handler-D-8RsM2Q.js → session-handler-BJzEuN1g.js} +1 -1
- package/dist/assets/skip-CIS-pyI4.js +1 -0
- package/dist/assets/{skipWhile-DK5WsIpo.js → skipWhile-BrGaejAE.js} +1 -1
- package/dist/assets/{state-BjFDUoQX.js → state-1qy1JPQz.js} +1 -1
- package/dist/assets/{switchMap-DC1sJvd8.js → switchMap-C79NTzdm.js} +1 -1
- package/dist/assets/{take-BgFJXP4B.js → take-B0yyxfMB.js} +1 -1
- package/dist/assets/{tap-DT80gG87.js → tap-D0fB7oij.js} +1 -1
- package/dist/assets/{timer-W1DT7NsX.js → timer-CGijW-Af.js} +1 -1
- package/dist/assets/{unsafe-html-LLTnDXid.js → unsafe-html-DTarpZaV.js} +1 -1
- package/dist/assets/{viewport-listener-khw7cTjd.js → viewport-listener-073Dyp25.js} +1 -1
- package/dist/basket-transfer-modal/basket-transfer-modal.min.js +1 -1
- package/dist/catalog/_helpers/init-basket-preview-drawer.min.js +1 -1
- package/dist/catalog/basket-preview/basket-preview.min.js +15 -11
- package/dist/catalog/catalog-category/catalog-category.min.js +1 -1
- package/dist/catalog/catalog-favorites/catalog-favorites.min.js +1 -1
- package/dist/catalog/catalog-history/catalog-history.css +1 -1
- package/dist/catalog/catalog-history/catalog-history.min.js +1 -1
- package/dist/catalog/catalog-home/catalog-home.min.js +1 -1
- package/dist/catalog/catalog-home-header/catalog-home-header.min.js +1 -1
- package/dist/catalog/catalog-list/catalog-list.min.js +1 -1
- package/dist/catalog/catalog-load-more.min.js +1 -1
- package/dist/catalog/catalog-tabs/catalog-tabs.min.js +1 -1
- package/dist/catalog/catalog-toolbar/catalog-toolbar.min.js +1 -1
- package/dist/catalog/my-meals-button/my-meals-button.min.js +1 -1
- package/dist/counter/counter.min.js +1 -1
- package/dist/drawer/drawer.css +1 -1
- package/dist/drawer/drawer.min.js +1 -1
- package/dist/drawer-view-swapper/drawer-view-swapper.min.js +13 -13
- package/dist/history-drawer/history-drawer.min.js +1 -1
- package/dist/history-order/history-order.min.js +1 -1
- package/dist/history-order-expanded/history-order-expanded.min.js +1 -1
- package/dist/last-order-badge/last-order-badge.min.js +1 -1
- package/dist/last-order-modal/last-order-modal.min.js +1 -1
- package/dist/like-button/like-button.min.js +1 -1
- package/dist/modal/modal.css +1 -1
- package/dist/modal/modal.min.js +1 -1
- package/dist/no-supplier-add-to-cart-cta/no-supplier-add-to-cart-cta.min.js +2 -2
- package/dist/onboarding/analytics/onboarding-analytics.min.js +1 -1
- package/dist/onboarding/onboarding.min.js +1 -1
- package/dist/order-again/order-again.min.js +1 -1
- package/dist/planner/helpers/get-planner-onboarding-modal-config.min.js +1 -1
- package/dist/planner/helpers/init-planner-onboarding-modal.min.js +1 -1
- package/dist/planner/helpers/open-onboarding-modal.min.js +1 -1
- package/dist/planner/planner-abandon-modal/planner-abandon-modal.min.js +1 -1
- package/dist/planner/planner-budget-edit-modal/planner-budget-edit-modal.min.js +1 -1
- package/dist/planner/planner-budget-gauge/planner-budget-gauge.min.js +1 -1
- package/dist/planner/planner-catalog/planner-catalog.min.js +1 -1
- package/dist/planner/planner-current-menu/planner-current-menu.min.js +1 -1
- package/dist/planner/planner-current-menu-modal/planner-current-menu-modal.min.js +1 -1
- package/dist/planner/planner-form/planner-form.min.js +1 -1
- package/dist/planner/planner-menu-option/planner-menu-option.min.js +1 -1
- package/dist/planner/planner-onboarding/planner-onboarding.min.js +1 -1
- package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.min.js +1 -1
- package/dist/planner/planner-open-catalog-modal/planner-open-catalog-modal.min.js +1 -1
- package/dist/planner/planner-quick-menu/planner-quick-menu.min.js +1 -1
- package/dist/planner/planner-recipe-card/planner-recipe-card.min.js +1 -1
- package/dist/planner/planner-recipe-list/planner-recipe-list.min.js +1 -1
- package/dist/planner/planner-recipe-suggestion/planner-recipe-suggestion.min.js +1 -1
- package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +1 -1
- package/dist/planner/to-basket-loader/to-basket-loader.min.js +1 -1
- package/dist/planner-entry/planner-entry.min.js +1 -1
- package/dist/preferences/preferences.min.js +1 -1
- package/dist/price/price.min.js +1 -1
- package/dist/products-to-basket-cta/products-to-basket-cta.min.js +1 -1
- package/dist/recipe-card/recipe-card.min.js +1 -1
- package/dist/recipe-card-cta/recipe-card-cta.min.js +1 -1
- package/dist/recipe-details/recipe-details.min.js +11 -3
- package/dist/recipe-pricing/recipe-pricing.min.js +1 -1
- package/dist/recipe-to-basket/recipe-to-basket.min.js +1 -1
- package/dist/replace-item/replace-item-card/replace-item-card.min.js +1 -1
- package/dist/replace-item/replace-item.min.js +1 -1
- package/dist/replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js +1 -1
- package/dist/replace-item-planner/replace-item-planner.min.js +1 -1
- package/dist/select/select.min.js +1 -1
- package/dist/slider-tabs/slider-tabs.min.js +1 -1
- package/dist/store-indicator/store-indicator.min.js +2 -2
- package/dist/store-locator/store-locator.min.js +1 -1
- package/dist/store-locator-drawer/store-locator-drawer.min.js +2 -2
- package/dist/supplier-selector/supplier-selector.min.js +11 -11
- package/package.json +1 -1
- package/dist/assets/delay-DJoNbXpK.js +0 -1
- package/dist/assets/empty-Dy0Wgz_B.js +0 -1
- package/dist/assets/isScheduler-fbUJB_yC.js +0 -1
- package/dist/assets/mapOneOrManyArgs-BPsgfFRx.js +0 -1
- package/dist/assets/merge-B0ddcNYl.js +0 -1
- package/dist/assets/mergeAll-BvxRfNLo.js +0 -1
- package/dist/assets/of-D0UErknW.js +0 -1
- package/dist/assets/skip-4iqvFhkz.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as a,Q as s}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as a,Q as s}from"../../assets/no-shadow-element-DZc32M1D.js";import{P as d}from"../../assets/price-Bfy_G-uC.js";import{m as r}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{M as l}from"../planner-budget-edit-modal/planner-budget-edit-modal.min.js";import{f as n}from"../../assets/filter-Dq4X88HC.js";import{m as u}from"../../assets/map-DdvZijlE.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/state-1qy1JPQz.js";import"../../assets/property-CrS1c6lI.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DTarpZaV.js";import"../../onboarding/events.min.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";class g extends a{constructor(){super(...arguments),this.budgetLimit=0,this.budgetTotal=0,this.subscriptions=[],this.priceService=d.getInstance()}get selectors(){return{budgetOverflow:".mealz-planner-budget-gauge__budget-overflow",budgetOverflowAmount:".mealz-planner-budget-gauge__budget-overflow-amount",gaugeBar:".mealz-planner-budget-gauge__gauge-bar",gaugeOverflowBar:".mealz-planner-budget-gauge__gauge-bar-overflow",total:".mealz-planner-budget-gauge__budget-total",budgetEditButton:".mealz-planner-budget-gauge__budget-edit",budgetDefineButton:".mealz-planner-budget-gauge__budget-define"}}connectedCallback(){var e,t;super.connectedCallback(),this.initSelectors(),this.priceService.initFormatter(),this.subscriptions.push(r.planner.menuPrice$.pipe(n(i=>i!==null),u(i=>{this.budgetTotal=i})).subscribe(()=>{this.updateBudgetTotal()})),(e=this.elements.budgetEditButton)==null||e.addEventListener("click",()=>this.displayBudgetEditModal()),(t=this.elements.budgetDefineButton)==null||t.addEventListener("click",()=>this.displayBudgetEditModal())}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){var t;const e=(t=this.attributes["starting-data"])==null?void 0:t.value;e&&(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"),this.elements.gaugeBar&&this.updateGaugeBar())}updateGaugeBar(){const e=this.budgetLimit;if(!(e>0)){this.elements.gaugeBar.style.width="0%",this.elements.gaugeOverflowBar.classList.add("hidden"),this.elements.budgetOverflow.classList.add("hidden");return}if(this.elements.total.classList.toggle("primary",e>0),this.budgetTotal<e)this.elements.gaugeBar.style.width=`${this.budgetTotal/e*100}%`,this.elements.gaugeOverflowBar.classList.add("hidden"),this.elements.budgetOverflow.classList.add("hidden");else{this.elements.gaugeBar.style.width="calc(100% - 50px)",this.elements.gaugeBar.style.borderRadius="50px 0 0 50px",this.elements.gaugeOverflowBar.classList.remove("hidden"),this.elements.budgetOverflow.classList.remove("hidden");const i=this.budgetTotal-this.budgetLimit;s(this.priceService.priceTemplate(i,"planner-budget-gauge"),this.elements.budgetOverflowAmount)}}updateBudgetTotal(){this.elements.total.textContent=this.priceService.formatPrice(this.budgetTotal),this.elements.gaugeBar&&this.updateGaugeBar()}displayBudgetEditModal(){const e=new l;e.addEventListener("budgetUpdated",t=>{this.dispatchEvent(new CustomEvent("budgetUpdated",{detail:t.detail,bubbles:!0,composed:!0}))}),e.displayPlannerBudgetEditModal(this.budgetLimit)}}customElements.get("mealz-planner-budget-gauge")||customElements.define("mealz-planner-budget-gauge",g);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{k as l}from"../../assets/no-shadow-element-
|
|
1
|
+
import{k as l}from"../../assets/no-shadow-element-DZc32M1D.js";import{C as o}from"../../catalog/catalog-load-more.min.js";import{b as n}from"../../assets/http-B0u4sOhM.js";import{m as c}from"../../assets/mealz-sdk-CQtAGQGQ.js";import"../../assets/innerFrom-BZ8nxpLv.js";import"../../assets/mergeMap-CObP_yRz.js";import"../../assets/map-DdvZijlE.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/mapOneOrManyArgs-BpqqmasF.js";import"../../assets/async-Buq9Zuro.js";import"../../assets/timer-CGijW-Af.js";import"../../assets/isScheduler-B3orCs5Q.js";import"../../assets/isDate-BwHtzZM4.js";class h extends o{constructor(){super(...arguments),this.analyticsPath="/meals-planner/catalog",this.mealTypeFilter=!1,this.filteredMealTypes=""}render(){return l`
|
|
2
2
|
<div class="mealz-loader"></div>
|
|
3
3
|
`}setConfig(t,e,a,s=!1){this.storeId=t,this.catalogURL=e,this.sessionId=a,this.mealTypeFilter=s}getExtraType(){}async getPlannerCatalog(t){const e=new URL(this.catalogURL,window.location.origin);e.searchParams.set("planner","true"),this.mealTypeFilter?e.searchParams.set("recipe_type_filter","true"):e.searchParams.delete("recipe_type_filter"),this.storeId&&e.searchParams.set("store_id",this.storeId),this.filteredMealTypes?e.searchParams.set("recipe_type_id",this.filteredMealTypes):e.searchParams.delete("recipe_type_id"),t?e.searchParams.set("search",t):e.searchParams.delete("search");const s=await(await fetch(e.toString(),{method:"GET",headers:n(this.sessionId)})).text(),r=this.querySelector(".mealz-loader");r&&r.remove(),this.insertAdjacentHTML("beforeend",s),this.listenToSearch(),this.listenToDishTypeFilter()}listenToSearch(){const t=this.querySelector("mealz-catalog-toolbar");t==null||t.addEventListener("searchEvent",e=>{const{searchQuery:a}=e.detail??{};this.innerHTML='<div class="mealz-loader"></div>',this.getPlannerCatalog(a)})}listenToDishTypeFilter(){const t=this.querySelector("mealz-catalog-list");t==null||t.addEventListener("dishTypeEvent",e=>{var r,i;const a=(i=(r=this.querySelector(".mealz-catalog-toolbar__searchbar-input"))==null?void 0:r.value)==null?void 0:i.trim(),{mealType:s}=e.detail??{};this.filteredMealTypes=(s||"").toString(),this.innerHTML='<div class="mealz-loader"></div>',this.getPlannerCatalog(a||void 0)})}pageview(){c.analytics.sendEvent("pageview",this.analyticsPath,this.filteredMealTypes?{catalog_filter:this.filteredMealTypes}:{})}}customElements.get("mealz-planner-catalog")||customElements.define("mealz-planner-catalog",h);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{o as v}from"../helpers/open-onboarding-modal.min.js";import{M as B}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as b}from"../planner-onboarding/planner-onboarding.min.js";import{M as _}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as E}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{a as p}from"../helpers/planner-onboarding-storage.min.js";import{M as I}from"../planner-current-menu-modal/planner-current-menu-modal.min.js";import{N as P,B as z,O}from"../../assets/no-shadow-element-CXVMZH9n.js";import{r as S}from"../../assets/state-BjFDUoQX.js";import{m as s}from"../../assets/mealz-sdk-CnvUgy3V.js";import{i as L,a as T}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-CTfOOyf1.js";import{g as R,f as q}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-BgFJXP4B.js";import{s as m}from"../../assets/switchMap-DC1sJvd8.js";import{f as F}from"../../assets/from-uSPfq2sN.js";import{m as h}from"../../assets/map-ND1NsJPC.js";import{f as g}from"../../assets/filter-aZV_N5pj.js";import{o as x}from"../../assets/of-D0UErknW.js";import{c as V}from"../../assets/combineLatest-BB01Px-W.js";import{f as M}from"../../assets/firstValueFrom-CyoZXDwo.js";import"../../drawer/drawer.min.js";import"../../assets/property-BXpY_hgs.js";import"../../assets/unsafe-html-LLTnDXid.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-DK5WsIpo.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/innerFrom-BldbX_fT.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-khw7cTjd.js";import"../../assets/debounceTime-BeLayHXh.js";import"../../assets/async-M7ziFu3t.js";import"../../assets/empty-Dy0Wgz_B.js";import"../../assets/merge-B0ddcNYl.js";import"../../assets/mergeAll-BvxRfNLo.js";import"../../assets/mergeMap-C1wxIFhz.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-upHwW4Wh.js";import"../../assets/isScheduler-fbUJB_yC.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-ryOzsvSF.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-D63kIgUZ.js";import"../../assets/guestObserver-PPbBwlOO.js";import"../../assets/delay-DJoNbXpK.js";import"../../assets/timer-W1DT7NsX.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-tsgdqQeQ.js";import"../../store-indicator/store-indicator.min.js";import"../../store-locator/store-locator.min.js";import"../../assets/query-BApjzB0v.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../assets/tap-DT80gG87.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-BPsgfFRx.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-Cm33xl_Z.js";import"../../replace-item/replace-item.min.js";import"../../replace-item/replace-item-card/replace-item-card.min.js";import"../../assets/price-utils-BRFZa-3D.js";import"../../assets/distinctUntilChanged-6bjT4iYO.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";function $({root:u,footer:e,fixedClass:t="is-fixed"}){let r;const n=()=>{r=void 0;const o=u.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,f=o.top<d-a&&o.bottom>d;e.classList.toggle(t,f),f?(e.style.left=`${o.left}px`,e.style.width=`${o.width}px`,u.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",u.style.paddingBottom="")},i=()=>{r===void 0&&(r=window.requestAnimationFrame(n))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),i(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",u.style.paddingBottom=""}}var U=Object.defineProperty,k=(u,e,t,r)=>{for(var n=void 0,i=u.length-1,o;i>=0;i--)(o=u[i])&&(n=o(e,t,n)||n);return n&&U(e,t,n),n},c;const y=(c=class extends P{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new z(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=A.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isApplyingPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}skipCurrentMenuMobileOnboardingOnce(){try{sessionStorage.setItem(c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,"true")}catch{}}consumeSkipCurrentMenuMobileOnboardingOnce(){try{const e=c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,t=sessionStorage.getItem(e)==="true";return t&&sessionStorage.removeItem(e),t}catch{return!1}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.checkCachedFinalizeMenuUrl(),this.addEventListener("budgetUpdated",t=>{const r=t.detail;(r==null?void 0:r.budgetLimit)===void 0||r.budgetLimit===null||this.updateBudget(r.budgetLimit)}),this.isMobile=L(this,"","(max-width: 1023px)");const e=localStorage.getItem("_miam/isCustomMenu");e===null?(localStorage.setItem("_miam/isCustomMenu","true"),this.isCustomMenu=!0):this.isCustomMenu=e==="true",this.mobileView="recipe",this.handleResize(),this.removeResponsiveListener=T(this,t=>{t!==this.isMobile&&(this.isMobile=t),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(t=>this.updatePreferencesCount(t)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return $({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);if(Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")){this.handlePrefilledRecipesFromEntry();return}this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const n=Date.now(),i=()=>{const o=this.nbrRecipeInMenu,a=Date.now()-n;if(o>0||a>=1e3){e();return}globalThis.setTimeout(i,50)};requestAnimationFrame(()=>{i()})})}showWelcomeModal(){if(p())return;const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new E;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};p()||this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true")}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const n=r.currentView$.subscribe(i=>{i!==void 0&&(document.body.contains(e)&&e.remove(),n.unsubscribe())})})}startPlannerOnboarding(e){if(p())return;this.scrollIntoView({behavior:"smooth",block:"center"});const t=new b;t.isCustomMenu=e,document.body.appendChild(t),this.isMobile?t.type=e?"custom-mobile":"suggestion-mobile":t.type=e?"custom":"suggestion",t.startTour()}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>v("current")),this.addClickListener("onboardingButtonMobile",()=>v("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu")}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o,footer:a}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",n&&(n.style.display=e?"flex":"none"),i&&(i.style.display=e?"flex":"none"),o&&(o.style.display=e?"none":"block"),a&&a.classList.toggle("is-quick-menu-visible",!e),e&&this.shouldStartCurrentMenuMobileOnboarding()&&this.launchCurrentMenuMobileOnboarding())}shouldStartCurrentMenuMobileOnboarding(){return!this.isMobile||p()||!this.querySelector(".mealz-planner-current-menu__menu")||this.consumeSkipCurrentMenuMobileOnboardingOnce()?!1:localStorage.getItem("_miam/currentMenuOnboarding")!=="true"}launchCurrentMenuMobileOnboarding(){localStorage.setItem("_miam/currentMenuOnboarding","true"),this.updateComplete.then(()=>{const e=new b;e.type="current-menu-mobile",document.body.appendChild(e),e.launchOnboardingTour()})}showSuggestions(){this.setMobileView("recipe")}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n,footer:i}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),n&&(n.style.display="none"),i&&i.classList.remove("is-quick-menu-visible")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const n=r.querySelector("p");n&&(n.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new B;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=R()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>s.planner.createMenu()),l(1),m(r=>{const n=r==null?void 0:r.id;return n?F(q()).pipe(m(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),h(()=>{})))):new O(i=>{i.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){localStorage.setItem("_miam/cachedFinalizeMenuUrl",window.location.href),this.subscriptions.push(this.hasUserAndHasPos().pipe(m(()=>s.hook.hookCallback()),g(e=>e)).subscribe(()=>{this.storeId&&(localStorage.removeItem("_miam/cachedFinalizeMenuUrl"),this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone())}))}hasUserAndHasPos(){try{return s.user.isAuthenticated().pipe(m(e=>s.pos.currentPos().pipe(h(t=>[e,t!==void 0]))))}catch(e){return console.error("Error while checking user and pos:",e),x([!1,!1])}}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(g(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),h(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=r.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:n}=this.elements;this.storeId&&(!t||!r||!n)||!this.storeId&&!t||(t==null||t.classList.toggle("disabled",!e),r==null||r.classList.toggle("hidden",!e),n==null||n.classList.toggle("hidden",e))}openCatalogModal(){const e=new _;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const n=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(n&&n.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,n){var C,w;const i=(w=(C=s.recipes)==null?void 0:C.productsPlannerByCategory$)==null?void 0:w.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),d=n||this.getJourney(),f=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,f,o).pipe(l(1),h(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),h(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var i,o;if(this.isApplyingPrefilledRecipes||p()||(this.loaderToBasketElement||document.querySelector("mealz-to-basket-loader"))&&((i=this.loaderToBasketComplete$)==null?void 0:i.value)!==!0||localStorage.getItem("_miam/menuToBasketOnboarding")==="true"||this.nbrRecipeInMenu!==1)return;this.isMobile&&(this.skipCurrentMenuMobileOnboardingOnce(),this.setMobileView("menu"));const r=document.querySelector("mealz-drawer-view-swapper");((o=r==null?void 0:r.currentView$)==null?void 0:o.value)!==void 0?this.subscriptions.push(r.currentView$.pipe(g(a=>a===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){p()||this.updateComplete.then(()=>{const e=new b;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const n=r.recipeId;n&&e.push(n)}),e}pageview(){s.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){s.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";s.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){s.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){s.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=s.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var d;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),n=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),i=this.querySelector(".mealz-planner-budget-gauge__budget"),o=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),n&&n.classList.toggle("hidden",e<=0),i&&i.classList.toggle("only-total",e<=0),o&&o.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(d=a.elements)!=null&&d.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new I;r.displayPlannerCurrentMenuModal();const n=e||(()=>this.replaceMenuWithPrefilledRecipes()),i=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",n),r.addEventListener("keepMenu",i)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const n=r.recipeId;n&&t.push(n)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await M(s.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||R()||4;this.isApplyingPrefilledRecipes=!0;try{const r=this.loaderToBasketElement?M(this.loaderToBasketComplete$.pipe(g(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await M(this.addRecipe(n,e).pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),r])}finally{this.isApplyingPrefilledRecipes=!1}const t=document.querySelector(".mealz-planner-current-menu");t&&(t.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}checkCachedFinalizeMenuUrl(){localStorage.getItem("_miam/cachedFinalizeMenuUrl")&&this.handleMenu()}},c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY="_miam/skipCurrentMenuMobileOnboardingOnce",c);k([S()],y.prototype,"isMobile");k([S()],y.prototype,"mobileView");let D=y;customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",D);
|
|
1
|
+
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-DZc32M1D.js";import{r as S}from"../../assets/state-1qy1JPQz.js";import{m as s}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{i as L,a as T}from"../../assets/responsive-C7Qf71r3.js";import{P as A}from"../../assets/price-Bfy_G-uC.js";import{g as R,f as q}from"../helpers/menu-title.min.js";import{t as l}from"../../assets/take-B0yyxfMB.js";import{s as m}from"../../assets/switchMap-C79NTzdm.js";import{f as F}from"../../assets/from-BxJrdzJs.js";import{m as h}from"../../assets/map-DdvZijlE.js";import{f as g}from"../../assets/filter-Dq4X88HC.js";import{o as x}from"../../assets/of-R1iMbYYX.js";import{c as V}from"../../assets/combineLatest-CRVESsJM.js";import{f as M}from"../../assets/firstValueFrom-CMUHI5hL.js";import"../../drawer/drawer.min.js";import"../../assets/property-CrS1c6lI.js";import"../../assets/unsafe-html-DTarpZaV.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-BrGaejAE.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";import"../../assets/innerFrom-BZ8nxpLv.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/viewport-listener-073Dyp25.js";import"../../assets/debounceTime-D6W3esj0.js";import"../../assets/async-Buq9Zuro.js";import"../../assets/empty--gMS1asf.js";import"../../assets/merge-rdVI6Z3B.js";import"../../assets/mergeAll-BJfNWPb7.js";import"../../assets/mergeMap-CObP_yRz.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../assets/args-DPeCFqiB.js";import"../../assets/isScheduler-B3orCs5Q.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/product-card-CcfAgVi3.js";import"../../price/price.min.js";import"../../assets/singleton-COF3iBbF.js";import"../../assets/promotion-badge-BusnHgIb.js";import"../../assets/guestObserver-CSQi-6i9.js";import"../../assets/delay-CUcLbxeL.js";import"../../assets/timer-CGijW-Af.js";import"../../assets/isDate-BwHtzZM4.js";import"../../assets/accordion-Ds4UMuL5.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-D0fB7oij.js";import"../../onboarding/onboarding.min.js";import"../../onboarding/events.min.js";import"../../onboarding/analytics/onboarding-analytics.min.js";import"../../assets/mapOneOrManyArgs-BpqqmasF.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-B0u4sOhM.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-FtASLz6t.js";import"../../replace-item-planner/replace-item-planner.min.js";import"../../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../../history-drawer/history-drawer.min.js";import"../../supplier-selector/supplier-selector.min.js";import"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";import"../../preferences/preferences.min.js";import"../helpers/get-planner-onboarding-modal-config.min.js";function $({root:u,footer:e,fixedClass:t="is-fixed"}){let r;const n=()=>{r=void 0;const o=u.getBoundingClientRect(),a=e.offsetHeight||0,d=window.innerHeight||document.documentElement.clientHeight,f=o.top<d-a&&o.bottom>d;e.classList.toggle(t,f),f?(e.style.left=`${o.left}px`,e.style.width=`${o.width}px`,u.style.paddingBottom=`${a}px`):(e.style.left="",e.style.width="",u.style.paddingBottom="")},i=()=>{r===void 0&&(r=window.requestAnimationFrame(n))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),i(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),r!==void 0&&(window.cancelAnimationFrame(r),r=void 0),e.classList.remove(t),e.style.left="",e.style.width="",u.style.paddingBottom=""}}var U=Object.defineProperty,k=(u,e,t,r)=>{for(var n=void 0,i=u.length-1,o;i>=0;i--)(o=u[i])&&(n=o(e,t,n)||n);return n&&U(e,t,n),n},c;const y=(c=class extends P{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new z(!1),this.subscriptions=[],this.isCustomMenu=!1,this.budget=0,this.recipeSources=new Map,this.priceService=A.getInstance(),this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.hasAddedPrefilledRecipes=!1,this.isApplyingPrefilledRecipes=!1,this.isMobile=!1,this.mobileView="recipe",this.handleBasketComplete=()=>{this.loaderToBasketComplete$.next(!0)}}skipCurrentMenuMobileOnboardingOnce(){try{sessionStorage.setItem(c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,"true")}catch{}}consumeSkipCurrentMenuMobileOnboardingOnce(){try{const e=c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY,t=sessionStorage.getItem(e)==="true";return t&&sessionStorage.removeItem(e),t}catch{return!1}}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",onboardingButton:".mealz-planner-current-menu__onboarding-button",onboardingButtonMobile:".mealz-planner-current-menu__mobile-onboarding-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footer:".mealz-planner-current-menu__footer",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],footerPrimary:".mealz-planner-current-menu__footer-primary",footerQuickMenu:".mealz-planner-current-menu__footer-quick-menu"}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{window.scrollTo(0,0)}),this.pageview(),this.initSelectors(),this.addEventListeners(),this.footerStickyCleanup=this.setupFooterViewportSticky(),this.priceService.initFormatter(),this.checkCachedFinalizeMenuUrl(),this.addEventListener("budgetUpdated",t=>{const r=t.detail;(r==null?void 0:r.budgetLimit)===void 0||r.budgetLimit===null||this.updateBudget(r.budgetLimit)}),this.isMobile=L(this,"","(max-width: 1023px)");const e=localStorage.getItem("_miam/isCustomMenu");e===null?(localStorage.setItem("_miam/isCustomMenu","true"),this.isCustomMenu=!0):this.isCustomMenu=e==="true",this.mobileView="recipe",this.handleResize(),this.removeResponsiveListener=T(this,t=>{t!==this.isMobile&&(this.isMobile=t),this.handleResize()},"","(max-width: 1023px)"),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.subscriptions.push(s.preferences.preferencesCount().subscribe(t=>this.updatePreferencesCount(t)))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.footerStickyCleanup&&(this.footerStickyCleanup(),this.footerStickyCleanup=void 0),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0)}setupFooterViewportSticky(){const e=this.querySelector(".mealz-planner-current-menu"),t=this.querySelector(".mealz-planner-current-menu__footer");if(!(!e||!t))return $({root:e,footer:t,fixedClass:"is-fixed"})}render(){const e=this.getAttribute("starting-data");if(!e)return;const t=JSON.parse(e);if(Object.assign(this,t),t.recipesId&&Array.isArray(t.recipesId)&&t.recipesId.length>0&&(this.prefilledRecipeIds=t.recipesId,this.prefilledRecipeImgs=t.recipeImgs||[]),this.removeAttribute("starting-data"),globalThis.location.search.includes("fromFeatured")){this.handlePrefilledRecipesFromEntry();return}this.showWelcomeModal()}waitForSSRMenuRender(){return new Promise(e=>{const n=Date.now(),i=()=>{const o=this.nbrRecipeInMenu,a=Date.now()-n;if(o>0||a>=1e3){e();return}globalThis.setTimeout(i,50)};requestAnimationFrame(()=>{i()})})}showWelcomeModal(){if(p())return;const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const r=new E;r.isCustomMenu=this.isCustomMenu,r.addEventListener("openOnboarding",n=>{const i=n.detail??{};p()||this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu)}),r.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true")}),r.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(r)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const r=document.querySelector("mealz-drawer-view-swapper");if(!r)return;const n=r.currentView$.subscribe(i=>{i!==void 0&&(document.body.contains(e)&&e.remove(),n.unsubscribe())})})}startPlannerOnboarding(e){if(p())return;this.scrollIntoView({behavior:"smooth",block:"center"});const t=new b;t.isCustomMenu=e,document.body.appendChild(t),this.isMobile?t.type=e?"custom-mobile":"suggestion-mobile":t.type=e?"custom":"suggestion",t.startTour()}addEventListeners(){this.addClickListener("displayRecipeButton",()=>{this.setMobileView("recipe")}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",()=>{this.cancelMenu()}),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>v("current")),this.addClickListener("onboardingButtonMobile",()=>v("current"))}showMenu(){this.setMobileView("menu")}setMobileView(e){this.mobileView=e,this.isMobile&&this.toggleMobileView(e==="menu")}toggleMobileView(e){const{recipe:t,menu:r,displayRecipeButton:n,footerPrimary:i,footerQuickMenu:o,footer:a}=this.elements;!t||!r||(t.style.display=e?"none":"block",r.style.display=e?"flex":"none",n&&(n.style.display=e?"flex":"none"),i&&(i.style.display=e?"flex":"none"),o&&(o.style.display=e?"none":"block"),a&&a.classList.toggle("is-quick-menu-visible",!e),e&&this.shouldStartCurrentMenuMobileOnboarding()&&this.launchCurrentMenuMobileOnboarding())}shouldStartCurrentMenuMobileOnboarding(){return!this.isMobile||p()||!this.querySelector(".mealz-planner-current-menu__menu")||this.consumeSkipCurrentMenuMobileOnboardingOnce()?!1:localStorage.getItem("_miam/currentMenuOnboarding")!=="true"}launchCurrentMenuMobileOnboarding(){localStorage.setItem("_miam/currentMenuOnboarding","true"),this.updateComplete.then(()=>{const e=new b;e.type="current-menu-mobile",document.body.appendChild(e),e.launchOnboardingTour()})}showSuggestions(){this.setMobileView("recipe")}handleResize(){const{menu:e,recipe:t,footerPrimary:r,footerQuickMenu:n,footer:i}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(this.mobileView==="menu"):(e.style.display="flex",t.style.display="block",r&&(r.style.display="flex"),n&&(n.style.display="none"),i&&i.classList.remove("is-quick-menu-visible")))}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e&&(e.displayPreferences$.next(!0),await e.updateComplete)}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(r=>{const n=r.querySelector("p");n&&(n.textContent=e.toString(),r.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const r=t.querySelector("p");r.textContent=e.toString(),t.classList.toggle("hidden",e===0)}cancelMenu(){const e=new B;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){if(!this.menuId)return;const e=R()??this.guests??4;this.isCustomMenu=!0,localStorage.setItem("_miam/isCustomMenu","true");const t=s.planner.deleteMenu(this.menuId).pipe(l(1),m(()=>s.planner.createMenu()),l(1),m(r=>{const n=r==null?void 0:r.id;return n?F(q()).pipe(m(i=>s.planner.updateMenu(n,{attributes:{guests:e,title:i}}).pipe(l(1),h(()=>{})))):new O(i=>{i.error(new Error("Menu reset: createMenu did not return a menu id"))})}));this.resetMenuEvent(),t.subscribe({next:()=>{this.updateRecipeCounterBadge(0),this.updateFooterButton(!1),window.location.reload()},error:r=>{console.error("Error while resetting menu:",r),window.location.reload()}})}redirectToRetailerCart(){var e,t;if((e=this.plannerRoutes)!=null&&e.retailerCart){window.location.href=this.plannerRoutes.retailerCart;return}(t=this.plannerRoutes)!=null&&t.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){localStorage.setItem("_miam/cachedFinalizeMenuUrl",window.location.href),this.subscriptions.push(this.hasUserAndHasPos().pipe(m(()=>s.hook.hookCallback()),g(e=>e)).subscribe(()=>{this.storeId&&(localStorage.removeItem("_miam/cachedFinalizeMenuUrl"),this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone())}))}hasUserAndHasPos(){try{return s.user.isAuthenticated().pipe(m(e=>s.pos.currentPos().pipe(h(t=>[e,t!==void 0]))))}catch(e){return console.error("Error while checking user and pos:",e),x([!1,!1])}}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(g(r=>r===!0),l(1)),t=s.planner.menuToBasket(this.basket.id).pipe(l(1),h(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(V([t,e]).pipe(l(1)).subscribe(()=>{this.redirectToRetailerCart()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(r=>{if(r.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=r.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=this.retrieveRecipesImgs(),r=document.querySelector("mealz-to-basket-loader");r&&r.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}updateFooterButton(e){const{footerButton:t,footerIcon:r,footerDisabledIcon:n}=this.elements;this.storeId&&(!t||!r||!n)||!this.storeId&&!t||(t==null||t.classList.toggle("disabled",!e),r==null||r.classList.toggle("hidden",!e),n==null||n.classList.toggle("hidden",e))}openCatalogModal(){const e=new _;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e=!0){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const r=document.querySelector("mealz-planner-catalog");r&&(r.setConfig(this.storeId,this.catalogURL,this.sessionId,e),r.getPlannerCatalog(),r.pageview())}getRecipeSource(){const e=document.querySelector("mealz-planner-catalog");if(e){const t=e.getExtraType();if(t)switch(t){case"starter":return"collection_entrees";case"dessert":return"collection_desserts";case"drink":return"collection_boissons"}}return"catalog"}getJourney(){const e=document.querySelector("mealz-planner-catalog");if(e){if(e.getExtraType())return"meals-planner-categories";const r=document.querySelector("mealz-catalog-toolbar");if(r){const n=r.querySelector(".mealz-catalog-toolbar__searchbar-input");if(n&&n.value.trim().length>0)return"meals-space-catalog-search"}return"meals-space-catalog"}return"meals-planner-dashboard"}addRecipe(e,t,r,n){var C,w;const i=(w=(C=s.recipes)==null?void 0:C.productsPlannerByCategory$)==null?void 0:w.value,o=(i==null?void 0:i.toPickProducts)||[],a=r||this.getRecipeSource(),d=n||this.getJourney(),f=!!s.pos.currentPos().value;return this.recipeSources.set(e,a),s.planner.addRecipeToMenu(e,t,f,o).pipe(l(1),h(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.recipeAddedEvent(e,a,d),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(l(1),h(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.recipeSources.delete(e),this.updateFooterButtonState(),this.recipeRemovedEvent(e))}))}async addRecipeToList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&await t.addRecipeCardToList(e)}removeRecipeFromList(e){const t=document.querySelector("mealz-planner-recipe-list");t&&t.removeRecipeCardFromList(e)}showResetMenuButton(){const e=document.querySelector(".mealz-planner-current-menu__cancel-menu");e&&e.classList.remove("hidden")}shouldShowMenuToBasketOnboarding(){var i,o;if(this.isApplyingPrefilledRecipes||p()||(this.loaderToBasketElement||document.querySelector("mealz-to-basket-loader"))&&((i=this.loaderToBasketComplete$)==null?void 0:i.value)!==!0||localStorage.getItem("_miam/menuToBasketOnboarding")==="true"||this.nbrRecipeInMenu!==1)return;this.isMobile&&(this.skipCurrentMenuMobileOnboardingOnce(),this.setMobileView("menu"));const r=document.querySelector("mealz-drawer-view-swapper");((o=r==null?void 0:r.currentView$)==null?void 0:o.value)!==void 0?this.subscriptions.push(r.currentView$.pipe(g(a=>a===void 0),l(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){p()||this.updateComplete.then(()=>{const e=new b;e.type=this.isMobile?"menu-to-basket-mobile":"menu-to-basket",document.body.appendChild(e),e.launchOnboardingTour()})}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let r=0;r<t.length;r++)if(t[r].recipeId===e)return r;return-1}getAllRecipeIds(){const e=[];return document.querySelectorAll("mealz-planner-recipe-card").forEach(r=>{const n=r.recipeId;n&&e.push(n)}),e}pageview(){s.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){s.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:this.budget,recipe_count:this.nbrRecipeInMenu,guests:this.guests,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard"),this.getAllRecipeIds().forEach(t=>{const r=this.recipeSources.get(t)||"";s.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:t,recipe_source:r,mode:this.isCustomMenu?"custom":"from-featured"},"meals-planner-dashboard")})}recipeAddedEvent(e,t,r){s.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e,recipe_source:t||"",mode:this.isCustomMenu?"custom":"from-featured"},r||"meals-planner-dashboard")}recipeRemovedEvent(e){s.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}updateBudget(e){if(!this.menuId)return;const r=s.planner.updateMenu(this.menuId,{attributes:{budget:e}}).pipe(l(1)).subscribe({next:()=>{this.budget=e,this.updateBudgetGaugeUI(e)}});this.subscriptions.push(r)}updateBudgetGaugeUI(e){var d;const t=this.querySelector(".mealz-planner-budget-gauge__budget-limit"),r=this.querySelector(".mealz-planner-budget-gauge__budget-define"),n=this.querySelector(".mealz-planner-budget-gauge__budget-edit"),i=this.querySelector(".mealz-planner-budget-gauge__budget"),o=this.querySelector(".mealz-planner-budget-gauge__gauge");t&&(t.textContent=`/ ${this.priceService.formatPrice(e)}`,t.classList.toggle("hidden",e<=0)),r&&r.classList.toggle("hidden",e>0),n&&n.classList.toggle("hidden",e<=0),i&&i.classList.toggle("only-total",e<=0),o&&o.classList.toggle("hidden",e<=0);const a=this.querySelector("mealz-planner-budget-gauge");a&&(a.budgetLimit=e,(d=a.elements)!=null&&d.gaugeBar&&typeof a.updateGaugeBar=="function"&&a.updateGaugeBar())}handlePrefilledRecipesFromEntry(){if(this.hasAddedPrefilledRecipes||!this.prefilledRecipeIds||this.prefilledRecipeIds.length===0)return!1;const e=new URL(globalThis.location.href);return e.searchParams.delete("fromFeatured"),globalThis.history.replaceState({},"",e.toString()),this.nbrRecipeInMenu>0?this.displayCurrentMenuModal():(this.displayAddToBasketLoaderForPrefilledRecipes(),this.waitForSSRMenuRender().then(()=>{this.addPrefilledRecipesToMenu()})),!0}displayCurrentMenuModal(e,t){const r=new I;r.displayPlannerCurrentMenuModal();const n=e||(()=>this.replaceMenuWithPrefilledRecipes()),i=t||(()=>this.keepCurrentMenu());r.addEventListener("replaceMenu",n),r.addEventListener("keepMenu",i)}replaceMenuWithPrefilledRecipes(){const e=document.querySelectorAll("mealz-planner-recipe-card"),t=[];e.forEach(r=>{const n=r.recipeId;n&&t.push(n)}),this.removeRecipesAndAddPrefilled(t)}async removeRecipesAndAddPrefilled(e){this.displayAddToBasketLoaderForPrefilledRecipes();for(const t of e)try{await M(s.planner.removeRecipeFromMenu(t).pipe(l(1)));const r=this.findRecipeIndexById(t);r!==-1&&this.removeRecipeFromList(r)}catch(r){console.error("Error removing recipe from menu:",r)}this.addPrefilledRecipesToMenu()}keepCurrentMenu(){this.prefilledRecipeIds=[],this.prefilledRecipeImgs=[],this.showWelcomeModal()}displayAddToBasketLoaderForPrefilledRecipes(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;this.hasAddedPrefilledRecipes=!0,this.loaderToBasketComplete$.next(!1),e.style.display="none";const t=document.querySelector("mealz-to-basket-loader");t&&t.remove(),this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.prefilledRecipeImgs,this.loaderToBasketElement.addEventListener("basketComplete",this.handleBasketComplete),e.insertAdjacentElement("afterend",this.loaderToBasketElement)}async addPrefilledRecipesToMenu(){const e=this.guests||R()||4;this.isApplyingPrefilledRecipes=!0;try{const r=this.loaderToBasketElement?M(this.loaderToBasketComplete$.pipe(g(Boolean),l(1))):Promise.resolve();await Promise.all([(async()=>{for(const n of this.prefilledRecipeIds)try{await M(this.addRecipe(n,e,"pre_filled").pipe(l(1)))}catch(i){console.error("Error adding prefilled recipe to menu:",i)}})(),r])}finally{this.isApplyingPrefilledRecipes=!1}const t=document.querySelector(".mealz-planner-current-menu");t&&(t.style.display=""),this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.loaderToBasketComplete$.next(!0),this.updateFooterButton(!0),this.showResetMenuButton(),this.showWelcomeModal()}checkCachedFinalizeMenuUrl(){localStorage.getItem("_miam/cachedFinalizeMenuUrl")&&this.handleMenu()}},c.SKIP_CURRENT_MENU_MOBILE_ONBOARDING_ONCE_KEY="_miam/skipCurrentMenuMobileOnboardingOnce",c);k([S()],y.prototype,"isMobile");k([S()],y.prototype,"mobileView");let D=y;customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",D);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as t,k as n}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as t,k as n}from"../../assets/no-shadow-element-DZc32M1D.js";import{c as a}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-CQtAGQGQ.js";import"../../assets/property-CrS1c6lI.js";import"../../assets/unsafe-html-DTarpZaV.js";import"../../onboarding/events.min.js";class s extends t{constructor(){super(),this.styleURL=new URL("./planner/planner-current-menu-modal/planner-current-menu-modal.css",this.getBaseURL())}displayPlannerCurrentMenuModal(){const e=a();document.body.appendChild(this),e.titleSlot=n`<span>Menu déjà en cours</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>this.remove())}replaceMenu(){const e=new CustomEvent("replaceMenu");this.dispatchEvent(e),this.remove()}keepMenu(){const e=new CustomEvent("keepMenu");this.dispatchEvent(e),this.remove()}renderModal(){return n`
|
|
2
2
|
<div class="mealz-planner-current-menu-modal__content">
|
|
3
3
|
<div class="mealz-planner-current-menu-modal__description mealz-ds-text size-m">
|
|
4
4
|
<span>Vous avez déjà un menu en cours de planification.</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as c,D as g,k as a}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as c,D as g,k as a}from"../../assets/no-shadow-element-DZc32M1D.js";import{n as i}from"../../assets/property-CrS1c6lI.js";import{m as r}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{f as h}from"../helpers/menu-title.min.js";import{t as m}from"../../assets/take-B0yyxfMB.js";import{f as b}from"../../assets/from-BxJrdzJs.js";import{s as p}from"../../assets/switchMap-C79NTzdm.js";import"../../assets/empty--gMS1asf.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";import"../../assets/innerFrom-BZ8nxpLv.js";import"../../assets/executeSchedule-CEDvgTzM.js";var f=Object.defineProperty,o=(l,e,t,v)=>{for(var s=void 0,u=l.length-1,d;u>=0;u--)(d=l[u])&&(s=d(e,t,s)||s);return s&&f(e,t,s),s};class n extends c{constructor(){super(),this.menuId="",this.guests=4,this.hideBudget=!1,this.isCustomMenu=!1,this.currentMenuModal=!1,this.budget=0,this.generatingLoader=!1,this.analyticsPath="/meals-planner/dashboard",this.styleURL=new URL("./planner/planner-form/planner-form.css",this.getBaseURL())}render(){return a`
|
|
2
2
|
<div class="mealz-planner-form">
|
|
3
3
|
<img class="mealz-planner-form__logo"
|
|
4
4
|
src="https://storage.googleapis.com/assets.miam.tech/generic/images/meals-planner_logo.svg" alt="Meals Planner"/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../planner-form/planner-form.min.js";import{M}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as g,O as f}from"../../assets/no-shadow-element-
|
|
1
|
+
import"../planner-form/planner-form.min.js";import{M}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as g,O as f}from"../../assets/no-shadow-element-DZc32M1D.js";import{m as s}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{g as d,f as b}from"../helpers/menu-title.min.js";import{t as r}from"../../assets/take-B0yyxfMB.js";import{o}from"../../assets/of-R1iMbYYX.js";import{f as C}from"../../assets/from-BxJrdzJs.js";import{s as l}from"../../assets/switchMap-C79NTzdm.js";import{m as y}from"../../assets/map-DdvZijlE.js";import"../../assets/property-CrS1c6lI.js";import"../../assets/empty--gMS1asf.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";import"../../assets/innerFrom-BZ8nxpLv.js";import"../../assets/executeSchedule-CEDvgTzM.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-DTarpZaV.js";import"../../onboarding/events.min.js";import"../../assets/args-DPeCFqiB.js";import"../../assets/isScheduler-B3orCs5Q.js";class T extends g{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.storeId="",this.recipeIds=[],this.hasCustomRecipes=!1,this.currentMenuPageUrl="",this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1,this.menuTitle="",this.shouldUpdateMenuTitleOnRedirect=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container",navigationArrow:".mealz-planner-menu-option__redirect"}}connectedCallback(){super.connectedCallback(),this.initStartingData(),this.initSelectors(),this.addEventListeners(),this.syncGuestsFromStorage(),this.listenToPlannerGuestsChanges()}disconnectedCallback(){this.plannerGuestsChangeHandler&&document.removeEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler),super.disconnectedCallback()}initStartingData(){const e=this.getAttribute("starting-data");if(e){try{const{isCustomMenu:t,guestsPreference:n,storeId:i,hasCustomRecipes:h,menuId:c,recipesId:u,currentMenuPageUrl:m,recipeImgs:p,plannerEntryVariant:a}=JSON.parse(e);this.isCustomMenu=!!t,this.storeId=i??this.storeId,this.hasCustomRecipes=!!h,this.menuId=c??this.menuId,this.currentMenuPageUrl=m??this.currentMenuPageUrl,this.recipeImgs=p||[],this.recipeIds=Array.isArray(u)?u:[],typeof n=="number"&&(this.guests=n),typeof a=="string"&&a.length>0&&(this.plannerEntryVariant=a)}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=d();typeof e=="number"&&(this.guests=e)}listenToPlannerGuestsChanges(){this.plannerGuestsChangeHandler=e=>{var n;const t=e;(n=t.detail)!=null&&n.guests&&(this.guests=t.detail.guests)},document.addEventListener("plannerGuestsChanged",this.plannerGuestsChangeHandler)}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.handleMenuOptionClick())}handleMenuOptionClick(){const e=this.isCustomMenu?"custom":"from-featured";this.showLoader(),this.sendModeSelectEvent(e),localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),this.proceedAfterHookAndOptionalModal()}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):C(b()).pipe(l(e=>(this.menuTitle=e,s.planner.updateMenu(this.menuId,{attributes:{title:e}}))))}ensureMenuForRedirect(){if(this.menuId)return o(null);const e=d()??this.guests??4;return s.planner.createMenu().pipe(r(1),l(t=>{const n=t==null?void 0:t.id;return n?(this.menuId=n,this.menuTitle="",this.shouldUpdateMenuTitleOnRedirect=!this.isCustomMenu&&this.recipeIds.length>0,s.planner.updateMenu(n,{attributes:{guests:e}}).pipe(r(1),y(()=>null))):new f(i=>{i.error(new Error("createMenu did not return a menu id"))})}))}redirectToMenu(){this.isRedirecting||(this.isRedirecting=!0,this.ensureMenuForRedirect().pipe(r(1)).subscribe({next:()=>{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)}})},error:e=>{console.error("Error preparing planner menu before redirect:",e),this.isRedirecting=!1}}))}sendRedirectToMenuEvent(){const e=this.getCurrentMenuUrlWithInitialView(),t=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:e}});this.dispatchEvent(t)}getCurrentMenuUrlWithInitialView(){const e=this.currentMenuPageUrl;if(!e)return e;const t=this.isFromPlannerEntry()&&!this.isCustomMenu&&this.recipeIds.length>0;try{const n=new URL(e,globalThis.location.origin);return t&&n.searchParams.set("fromFeatured","true"),n.toString()}catch{if(!t)return e;const n=e.includes("?")?"&":"?";return`${e}${n}fromFeatured=true`}}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new M;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=s.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(r(1)).subscribe(()=>{globalThis.location.reload()})}replaceMenu(){this.resetMenuEvent(),s.planner.deleteMenu(this.menuId).pipe(r(1),l(()=>s.planner.createMenu()),r(1)).subscribe(e=>{this.menuId=e.id,this.shouldUpdateMenuTitleOnRedirect=!0,this.menuTitle="",this.proceedAfterHookAndOptionalModal()})}keepMenu(){this.redirectToMenu()}showLoader(){const e=this.querySelector(this.selectors.navigationArrow);if(e){const t=document.createElement("div");t.className="mealz-ds-loader mealz-planner-menu-option__loader",e.replaceWith(t)}}resetMenuEvent(){s.analytics.sendEvent("planner.reset",this.analyticsPath,{})}sendModeSelectEvent(e){const t={mode:e,guests:this.guests};this.plannerEntryVariant!==void 0&&(t.variant=this.plannerEntryVariant),s.analytics.sendEvent("planner.mode.select",this.analyticsPath,t,"meals-planner-home")}}customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",T);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as g}from"../../assets/property-BXpY_hgs.js";import{r as b}from"../../assets/state-BjFDUoQX.js";import{M as v}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-CXVMZH9n.js";import{O as f,b as z,c as y}from"../../onboarding/events.min.js";import{t as C,a as _,b as c,c as O}from"../../onboarding/analytics/onboarding-analytics.min.js";import{i as S,a as T}from"../../assets/responsive-C7Qf71r3.js";import{a as r}from"../helpers/planner-onboarding-storage.min.js";import"../../assets/query-BApjzB0v.js";import"../../assets/mealz-sdk-CnvUgy3V.js";var A=Object.defineProperty,l=(p,e,t,n)=>{for(var o=void 0,s=p.length-1,i;s>=0;s--)(i=p[s])&&(o=i(e,t,o)||o);return o&&A(e,t,o),o};const d=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",a={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici.",fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:340,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",spacerAboveStage:36}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},"current-menu-mobile":{type:"current-menu-mobile",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}}],localStorageKey:"_miam/currentMenuOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}},{element:".mealz-planner-current-menu__footer-button",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top"}}],localStorageKey:"_miam/menuToBasketOnboarding",bottomMargin:36}};class u extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){if(super.connectedCallback(),r()){this.remove();return}this.isMobile=S(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new v,this.onboardingComponent.configurations=a,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,n;(e=this.onboardingComponent)==null||e.addEventListener(f,()=>{C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(z,o=>{var m;const i=((m=o.detail)==null?void 0:m.stepIndex)??0;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,c(this.mapTypeForAnalytics(this.type),this.currentStep)}),(n=this.onboardingComponent)==null||n.addEventListener(y,()=>{O(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&a[`${this.type}-mobile`]?`${this.type}-mobile`:this.type,t=a[e]?e:this.isMobile&&a["custom-mobile"]?"custom-mobile":"custom";this.onboardingComponent.type=t;const n=this.onboardingComponent.getConfig(t);this.onboardingComponent.steps=n.steps,this.onboardingComponent.showProgress=n.showProgress??!0;let o=n.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}startTour(){if(r()){this.remove();return}this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){if(r()){this.remove();return}this.onboardingComponent&&(this.updateOnboardingConfig(),c(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){if(r()){this.remove();return}this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"current-menu-mobile":return"menu-navigation";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}}l([g({type:Boolean})],u.prototype,"isCustomMenu");l([g({type:String})],u.prototype,"type");l([b()],u.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",u);export{u as M};
|
|
1
|
+
import{n as g}from"../../assets/property-CrS1c6lI.js";import{r as b}from"../../assets/state-1qy1JPQz.js";import{M as v}from"../../onboarding/onboarding.min.js";import{N as h}from"../../assets/no-shadow-element-DZc32M1D.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-CQtAGQGQ.js";var A=Object.defineProperty,l=(p,e,t,n)=>{for(var o=void 0,s=p.length-1,i;s>=0;s--)(i=p[s])&&(o=i(e,t,o)||o);return o&&A(e,t,o),o};const d=".mealz-products-picker > .mealz-products-picker__list mealz-product-card-planner .mealz-product-card-planner__checkbox input",a={custom:{type:"custom",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:400,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici."}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:"mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b> ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.',fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez les recettes ajoutées ici",description:"Les recettes qui composent votre menu sont visibles ici.",fixedPosition:"top",fixedOffset:0}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0,bottomMargin:36},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-recipes",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",overElement:".mealz-planner-current-menu__menu-recipes",spacerTop:380,spacerLeft:-400}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails.",overElement:"mealz-planner-recipe-suggestion",spacerTop:340,spacerLeft:500}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__footer",popover:{title:"Retrouvez votre menu ici",description:"Les recettes qui composent votre menu sont visibles ici.",spacerAboveStage:36}},{element:"mealz-planner-recipe-suggestion",popover:{title:"Envie de compléter votre menu ?",description:"Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour voir les détails."}},{element:".mealz-planner-recipe-suggestion__actions",popover:{title:"Une recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ou cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion.'}},{element:".mealz-planner-quick-menu__see-menu",popover:{title:"Finalisez votre menu",description:'Cliquez sur <b>"Voir le menu"</b> pour accéder aux détails de votre menu et passer commande.',spacerAboveStage:36}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:36},"current-menu-mobile":{type:"current-menu-mobile",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}}],localStorageKey:"_miam/currentMenuOnboarding",showProgress:!1,bottomMargin:36},"recipe-details":{type:"recipe-details",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"recipe-details-mobile":{type:"recipe-details-mobile",steps:[{element:d,popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."},forceScrollIntoView:!0,scrollIntoViewOptionsOverride:{block:"start"}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.'}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{stepId:"planner.suggestions-button",element:".mealz-planner-recipe-list__suggestions-button",popover:{title:"Pas encore terminé ?",description:"Retournez dans les suggestions pour ajouter d’autres recettes."}},{element:".mealz-planner-current-menu__footer-button",popover:{title:"Votre menu est terminé ?",description:'Utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',fixedPosition:"top"}}],localStorageKey:"_miam/menuToBasketOnboarding",bottomMargin:36}};class u extends h{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=!1,this.onboardingComponent=null,this.currentStep=1,this.isTourActive=!1}connectedCallback(){if(super.connectedCallback(),r()){this.remove();return}this.isMobile=S(document),this.initOnboarding(),this.removeResponsiveListener=T(document,e=>{e!==this.isMobile&&(this.isMobile=e,this.updateOnboardingConfig())})}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new v,this.onboardingComponent.configurations=a,this.onboardingComponent.type=this.type,this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e,t,n;(e=this.onboardingComponent)==null||e.addEventListener(f,()=>{C(this.mapTypeForAnalytics(this.type),this.currentStep),this.isTourActive=!1,this.markOnboardingAsSeen(this.type),this.remove()}),(t=this.onboardingComponent)==null||t.addEventListener(z,o=>{var m;const i=((m=o.detail)==null?void 0:m.stepIndex)??0;_(this.mapTypeForAnalytics(this.type),this.currentStep),this.currentStep=i+1,c(this.mapTypeForAnalytics(this.type),this.currentStep)}),(n=this.onboardingComponent)==null||n.addEventListener(y,()=>{O(this.mapTypeForAnalytics(this.type)),this.markOnboardingAsSeen(this.type)})}markOnboardingAsSeen(e){if(this.onboardingComponent)try{const t=this.onboardingComponent.getConfig(e);t!=null&&t.localStorageKey&&localStorage.setItem(t.localStorageKey,"true")}catch{}}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.isMobile&&!this.type.endsWith("-mobile")&&a[`${this.type}-mobile`]?`${this.type}-mobile`:this.type,t=a[e]?e:this.isMobile&&a["custom-mobile"]?"custom-mobile":"custom";this.onboardingComponent.type=t;const n=this.onboardingComponent.getConfig(t);this.onboardingComponent.steps=n.steps,this.onboardingComponent.showProgress=n.showProgress??!0;let o=n.bottomMargin??110;o===0&&!this.isMobile&&(o=24),this.onboardingComponent.bottomMargin=o}startTour(){if(r()){this.remove();return}this.isTourActive||(this.onboardingComponent||this.initOnboarding(),this.currentStep=1,this.isTourActive=!0,this.launchOnboardingTour())}launchOnboardingTour(){if(r()){this.remove();return}this.onboardingComponent&&(this.updateOnboardingConfig(),c(this.mapTypeForAnalytics(this.type),this.currentStep),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){if(r()){this.remove();return}this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.removeResponsiveListener&&(this.removeResponsiveListener(),this.removeResponsiveListener=void 0),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}mapTypeForAnalytics(e){const t=e.endsWith("-mobile")?e.replace(/-mobile$/,""):e;switch(e){case"custom":case"custom-mobile":return"personal";case"suggestion":case"suggestion-mobile":return"suggestion";case"current-menu-mobile":return"menu-navigation";case"recipe-details":case"recipe-details-mobile":return"recipe-details";case"menu-to-basket":case"menu-to-basket-mobile":return"to-basket";default:switch(t){case"recipe-details":return"recipe-details";case"menu-to-basket":return"to-basket";case"suggestion":return"suggestion";case"custom":default:return"personal"}}}}l([g({type:Boolean})],u.prototype,"isCustomMenu");l([g({type:String})],u.prototype,"type");l([b()],u.prototype,"isMobile");customElements.get("mealz-planner-onboarding")||customElements.define("mealz-planner-onboarding",u);export{u as M};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as m,k as e}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as m,k as e}from"../../assets/no-shadow-element-DZc32M1D.js";import{r as p}from"../../assets/state-1qy1JPQz.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-CQtAGQGQ.js";import"../../assets/property-CrS1c6lI.js";var z=Object.defineProperty,d=(a,t,n,r)=>{for(var s=void 0,o=a.length-1,l;o>=0;o--)(l=a[o])&&(s=l(t,n,s)||s);return s&&z(t,n,s),s};class i extends m{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.analyticsPath="/meals-planner/onboarding",this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step0-mobile.jpg",title:"Choisissez votre type de menu",content:e`Découvrez notre <b>sélection du moment</b> pour gagner du temps ou créez une <b>sélection personnalisée</b> adaptée à vos goûts et à votre budget.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step1-mobile.jpg",title:"Envie de compléter votre menu ?",content:e`Visualisez nos propositions de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step2-mobile.jpg",title:"Retrouvez votre menu",content:e`Toutes les recettes que vous sélectionnerez et l\'accès au catalogue de recettes seront visibles ici.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step3-mobile.jpg",title:"Une recette vous plaît ?",content:e`
|
|
2
2
|
Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.
|
|
3
3
|
`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4.jpg",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding-v3/planner-onboarding-step4-mobile.jpg",title:"Une recette ne vous plaît pas ?",content:e`
|
|
4
4
|
Cliquez sur <b>"Passer"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as t,k as a}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as t,k as a}from"../../assets/no-shadow-element-DZc32M1D.js";import{c as o}from"../../modal/modal.min.js";import"../../assets/mealz-sdk-CQtAGQGQ.js";import"../../assets/property-CrS1c6lI.js";import"../../assets/unsafe-html-DTarpZaV.js";import"../../onboarding/events.min.js";class n extends t{constructor(){super(),this.styleURL=new URL("./planner/planner-open-catalog-modal/planner-open-catalog-modal.css",this.getBaseURL())}displayMealzPlannerOpenCatalogModal(){const e=o();document.body.appendChild(this),e.titleSlot=a`<span>Rien à votre goût ?</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>{this.remove()})}openCatalog(){const e=new CustomEvent("openCatalog");this.dispatchEvent(e),this.remove()}closeModal(){const e=new CustomEvent("refuse");this.dispatchEvent(e),this.remove()}renderModal(){return a`
|
|
2
2
|
<div class="mealz-planner-open-catalog-modal__content">
|
|
3
3
|
<div class="mealz-planner-open-catalog-modal__description">
|
|
4
4
|
<span class="mealz-ds-text size-m">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as o}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as o}from"../../assets/no-shadow-element-DZc32M1D.js";import{m}from"../../assets/mealz-sdk-CQtAGQGQ.js";class d extends o{constructor(){super(...arguments),this.pendingSyncRaf=null,this.previousRecipeCount=0,this.onSeeMenuClick=()=>{const e=this.closest("mealz-planner-current-menu"),t=e,n=t==null?void 0:t.showMenu;if(typeof n=="function"){n.call(e);return}const s=e==null?void 0:e.querySelector(".mealz-planner-current-menu__mobile-menu-button");s==null||s.click()},this.onAddClick=()=>{const e=document.querySelector(".mealz-planner-recipe-list__add-to-menu");if(e){e.click();return}const t=this.closest("mealz-planner-current-menu");if(!t)return;const s=t.openCatalogModal;typeof s=="function"&&s.call(t)},this.onThumbClick=e=>{var a;const t=e.target,n=(a=t==null?void 0:t.closest)==null?void 0:a.call(t,".mealz-planner-quick-menu__thumb--recipe");if(!n)return;const s=n.getAttribute("data-recipe-id")||"",i=Number(n.getAttribute("data-guests")||"4"),r=Number(n.getAttribute("data-recipe-index")||"0");if(!s)return;m.recipes.openDetails(s,i),this.updateDisplayedRecipe(r)}}get selectors(){return{seeMenuButton:".mealz-planner-quick-menu__see-menu",addButton:".mealz-planner-quick-menu__thumb--add",thumbsContainer:".mealz-planner-quick-menu__thumbs-scroll",title:".mealz-planner-quick-menu__title",titleCount:".mealz-planner-quick-menu__count",titleMealsLabel:".mealz-planner-quick-menu__meals-label"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.startObservingMenuChanges(),this.scheduleThumbsSync()}disconnectedCallback(){this.removeEventListeners(),this.stopObservingMenuChanges(),super.disconnectedCallback()}addEventListeners(){const{seeMenuButton:e,addButton:t,thumbsContainer:n}=this.elements;e==null||e.addEventListener("click",this.onSeeMenuClick),t==null||t.addEventListener("click",this.onAddClick),n==null||n.addEventListener("click",this.onThumbClick)}removeEventListeners(){const{seeMenuButton:e,addButton:t,thumbsContainer:n}=this.elements;e==null||e.removeEventListener("click",this.onSeeMenuClick),t==null||t.removeEventListener("click",this.onAddClick),n==null||n.removeEventListener("click",this.onThumbClick)}startObservingMenuChanges(){const e=this.getMenuRecipeCardsContainer();if(e){this.menuObserver=new MutationObserver(()=>this.scheduleThumbsSync()),this.menuObserver.observe(e,{childList:!0});return}this.bootstrapObserver=new MutationObserver(()=>{this.getMenuRecipeCardsContainer()&&(this.stopObservingMenuChanges(),this.startObservingMenuChanges(),this.scheduleThumbsSync())}),this.bootstrapObserver.observe(document.body,{childList:!0,subtree:!0})}stopObservingMenuChanges(){this.menuObserver&&(this.menuObserver.disconnect(),this.menuObserver=void 0),this.bootstrapObserver&&(this.bootstrapObserver.disconnect(),this.bootstrapObserver=void 0),this.pendingSyncRaf!==null&&(cancelAnimationFrame(this.pendingSyncRaf),this.pendingSyncRaf=null)}scheduleThumbsSync(){this.pendingSyncRaf===null&&(this.pendingSyncRaf=requestAnimationFrame(()=>{this.pendingSyncRaf=null,this.syncThumbsFromMenu()}))}getMenuRecipeCardsContainer(){return(this.closest("mealz-planner-current-menu")??document).querySelector(".mealz-planner-recipe-list__in-menu")}getRecipeDataFromCard(e,t){const n=e,s=e;let i=s.recipeId??"",r=typeof s.guests=="number"?s.guests:4;if(!i){const u=n.getAttribute("starting-data");if(u)try{const l=JSON.parse(u);i=l.recipeId??"",r=typeof l.guests=="number"?l.guests:4}catch{return null}}if(!i)return null;const c=n.querySelector(".mealz-planner-recipe-card__picture img"),a=(c==null?void 0:c.getAttribute("src"))??"";return a?{recipeId:i,guests:r,recipeIndex:t,imgSrc:a}:null}getMenuRecipeCards(){const t=this.closest("mealz-planner-current-menu")??document,n=Array.from(t.querySelectorAll("mealz-planner-recipe-card")),s=[];for(let i=0;i<n.length;i++){const r=this.getRecipeDataFromCard(n[i],i);r&&s.push(r)}return s}syncThumbsFromMenu(){const{thumbsContainer:e}=this.elements;if(!e)return;const t=this.getMenuRecipeCards(),n=this.calculateTotalSlots(t.length);e.textContent="";const s=document.createDocumentFragment();this.buildRecipeThumbButtons(t,s),this.addPlaceholderSlots(t.length,n,s),e.appendChild(s),this.handleNewRecipeAnimation(t.length,e),this.updateTitleWithCount(t.length)}calculateTotalSlots(e){return Math.min(12,Math.max(4,e))}buildRecipeThumbButtons(e,t){e.slice(0,12).forEach(s=>{const i=document.createElement("button");i.type="button",i.className="mealz-planner-quick-menu__thumb mealz-planner-quick-menu__thumb--recipe",i.setAttribute("data-recipe-id",s.recipeId),i.setAttribute("data-recipe-index",String(s.recipeIndex)),i.setAttribute("data-guests",String(s.guests)),i.setAttribute("aria-label","Voir la recette");const r=document.createElement("img");r.src=s.imgSrc,r.alt="",i.appendChild(r),t.appendChild(i)})}addPlaceholderSlots(e,t,n){for(let s=e;s<t;s++){const i=document.createElement("div");i.className="mealz-planner-quick-menu__thumb",n.appendChild(i)}}handleNewRecipeAnimation(e,t){const n=e>this.previousRecipeCount;if(this.previousRecipeCount=e,!n)return;const s=t.querySelector(".mealz-planner-quick-menu__thumb--recipe");if(!s)return;const i=s.querySelector("img");i&&requestAnimationFrame(()=>{i.classList.add("mealz-planner-quick-menu__image--animate"),i.addEventListener("animationend",()=>{i.classList.remove("mealz-planner-quick-menu__image--animate")},{once:!0})})}updateTitleWithCount(e){const{title:t,titleCount:n,titleMealsLabel:s}=this.elements;if(n&&(n.textContent=String(e)),s){const i=s.getAttribute("data-meal-singular")||"",r=s.getAttribute("data-meal-plural")||"";i&&r&&(s.textContent=e===1?i:r)}if(t&&!n){const i=t.textContent||"";t.textContent=i.replace(/\d+/,String(e))}}updateDisplayedRecipe(e){if(e==null||Number.isNaN(e))return;const t=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!t.length)return;const n=t[e];n==null||n.click()}}customElements.get("mealz-planner-quick-menu")||customElements.define("mealz-planner-quick-menu",d);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as c}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as c}from"../../assets/no-shadow-element-DZc32M1D.js";import{m as a}from"../../assets/mealz-sdk-CQtAGQGQ.js";class l extends c{get selectors(){return{title:".mealz-planner-current-menu__recipe-title",overlay:".mealz-planner-recipe-card__in-basket",removeButton:".mealz-planner-recipe-card__remove-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var i;const e=(i=this.attributes["starting-data"])==null?void 0:i.value;if(!e)return;const{recipeId:t,recipeIndex:n,guests:s}=JSON.parse(e);this.recipeId=t,this.recipeIndex=n,this.guests=s,this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("title",()=>this.handleRecipeClick()),this.addClickListener("overlay",()=>this.handleRecipeClick()),this.addClickListener("removeButton",()=>this.removeRecipe())}handleRecipeClick(){this.openRecipeDetails(),this.updateDisplayedRecipe()}openRecipeDetails(){a.recipes.openDetails(this.recipeId,this.guests)}updateDisplayedRecipe(){if(!this.recipeId||this.recipeIndex===void 0)return;const e=document.querySelector(".mealz-planner-recipe-suggestion__meals-count"),t=document.querySelectorAll(".mealz-planner-recipe-suggestion__meals-count-button");if(!e||!t.length)return;const n=e.querySelector(".primary");if(Array.from(e.children).indexOf(n)===this.recipeIndex)return;const i=t[this.recipeIndex],r=document.querySelector("mealz-planner-recipe-suggestion");r==null||r.handleRecipeSelect(t,i,this.recipeIndex)}removeRecipe(){const e=document.querySelector("mealz-planner-recipe-suggestion");e&&e.removeRecipe(this.recipeId).subscribe()}updateRecipeIndex(e){this.recipeIndex=e}}customElements.get("mealz-planner-recipe-card")||customElements.define("mealz-planner-recipe-card",l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as l}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as l}from"../../assets/no-shadow-element-DZc32M1D.js";import{b as d}from"../../assets/http-B0u4sOhM.js";import{m as o}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{i as p}from"../../assets/responsive-C7Qf71r3.js";import{t as m}from"../../assets/take-B0yyxfMB.js";import"../../assets/empty--gMS1asf.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";class h extends l{constructor(){super(...arguments),this.menuRecipeCount=0,this.recipeCardURL="",this.storeId="",this.sessionId="",this.recipesIdInBasket=[],this.syncPlaceholdersRafId=null,this.maxEmptyRecipeCards=6}get selectors(){return{addToMenuCard:".mealz-planner-recipe-list__add-to-menu",recipeCardsContainer:".mealz-planner-recipe-list__in-menu",gridContainer:".mealz-planner-recipe-list__grid",headerCount:".mealz-planner-recipe-list__count",headerMealsLabel:".mealz-planner-recipe-list__meals-label",suggestionsButton:".mealz-planner-recipe-list__suggestions-button"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.getRecipesInBasket(),this.addEventListeners(),this.scheduleSyncPlaceholders()}disconnectedCallback(){super.disconnectedCallback(),this.syncPlaceholdersRafId!==null&&(cancelAnimationFrame(this.syncPlaceholdersRafId),this.syncPlaceholdersRafId=null)}render(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.removeAttribute("starting-data"),this.menuRecipeCount=this.querySelectorAll("mealz-planner-recipe-card").length,this.scheduleSyncPlaceholders(),this.syncHeader())}addEventListeners(){this.addClickListener("addToMenuCard",()=>{this.openCatalogDrawer()}),this.addClickListener("suggestionsButton",()=>{const e=document.querySelector("mealz-planner-current-menu");if(typeof(e==null?void 0:e.showSuggestions)=="function"){e.showSuggestions();return}})}openCatalogDrawer(){const e=document.querySelector("mealz-planner-current-menu");e==null||e.openCatalogDrawer()}async addRecipeCardToList(e){var s;const t=new URLSearchParams;t.append("recipe_id",e),t.append("recipe_index",this.menuRecipeCount.toString()),this.storeId&&t.append("store_id",this.storeId);const a=await(await fetch(this.recipeCardURL+"?"+t.toString(),{method:"GET",headers:d(this.sessionId)})).text(),i=(s=this.elements)==null?void 0:s.recipeCardsContainer;if(i){if(i.insertAdjacentHTML("afterbegin",a),this.recipesIdInBasket.includes(e)){const r=i.firstElementChild;r&&this.addInBasketOverlay(r)}if(!p(document)){const r=i.firstElementChild;if(r){const c=r.querySelector(".mealz-planner-recipe-card__picture img");c&&(c.classList.add("mealz-planner-recipe-card__image-animate"),c.addEventListener("animationend",()=>{c.classList.remove("mealz-planner-recipe-card__image-animate")},{once:!0}))}}this.menuRecipeCount++,this.updateRemainingRecipeIndexes(),this.syncPlaceholders(),this.syncHeader()}}removeRecipeCardFromList(e){var i,s;const t=(i=this.elements)==null?void 0:i.recipeCardsContainer,n=(s=t==null?void 0:t.children)==null?void 0:s[e];if(!n)return;n.classList.add("mealz-planner-recipe-card__fadeout");const a=setTimeout(()=>{this.cleanupRecipeCard(n)},200);n.addEventListener("animationend",()=>{clearTimeout(a),this.cleanupRecipeCard(n)},{once:!0})}cleanupRecipeCard(e){e.parentNode&&(e.remove(),this.menuRecipeCount--,this.updateRemainingRecipeIndexes(),this.syncPlaceholders(),this.syncHeader())}updateRemainingRecipeIndexes(){(document.querySelectorAll("mealz-planner-recipe-card")||[]).forEach((t,n)=>{t.updateRecipeIndex(n)})}getRecipesInBasket(){var t;const e=o.basket;(t=e==null?void 0:e.recipePricesInBasket$)==null||t.call(e).pipe(m(1)).subscribe(n=>{this.recipesIdInBasket=n.map(a=>a.id)})}addInBasketOverlay(e){const t=e.querySelector(".mealz-planner-recipe-card__in-basket");t==null||t.classList.remove("hidden")}scheduleSyncPlaceholders(){this.syncPlaceholdersRafId!==null&&cancelAnimationFrame(this.syncPlaceholdersRafId),this.syncPlaceholdersRafId=requestAnimationFrame(()=>{this.syncPlaceholdersRafId=null,this.syncPlaceholders()})}syncPlaceholders(){const{gridContainer:e}=this.elements,t=e??this.querySelector(".mealz-planner-recipe-list__grid");if(!t)return;const n=this.menuRecipeCount??this.querySelectorAll("mealz-planner-recipe-card").length,a=n===0?this.maxEmptyRecipeCards:Math.max(1,this.maxEmptyRecipeCards-n),i=Array.from(t.querySelectorAll(".mealz-planner-recipe-list__placeholder"));for(;i.length>a;){const s=i.pop();s==null||s.remove()}for(;i.length<a;){const s=document.createElement("div");s.className="mealz-planner-recipe-list__placeholder",s.setAttribute("aria-hidden","true"),t.appendChild(s),i.push(s)}}syncHeader(){const{headerCount:e,headerMealsLabel:t}=this.elements;if(e&&(e.textContent=String(this.menuRecipeCount??0)),t){const n=t.getAttribute("data-meal-singular")||"",a=t.getAttribute("data-meal-plural")||"";n&&a&&(t.textContent=this.menuRecipeCount===1?n:a)}}}customElements.get("mealz-planner-recipe-list")||customElements.define("mealz-planner-recipe-list",h);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as h,n as m,a as f}from"../../assets/no-shadow-element-CXVMZH9n.js";import{m as p}from"../../assets/mealz-sdk-CnvUgy3V.js";import{d as _}from"../../assets/debounceTime-BeLayHXh.js";import{E as l}from"../../assets/empty-Dy0Wgz_B.js";import{t as u}from"../../assets/take-BgFJXP4B.js";import{t as c}from"../../assets/tap-DT80gG87.js";import{o as S}from"../../assets/of-D0UErknW.js";import"../../assets/async-M7ziFu3t.js";import"../../assets/OperatorSubscriber-CvNNPrIM.js";import"../../assets/args-upHwW4Wh.js";import"../../assets/isScheduler-fbUJB_yC.js";import"../../assets/from-uSPfq2sN.js";import"../../assets/innerFrom-BldbX_fT.js";import"../../assets/executeSchedule-CEDvgTzM.js";class x{constructor(){this.attributes={title:"","ext-id":"","ext-link":"",description:"","number-of-guests":"","preparation-time":"","preheating-time":"","cooking-time":"","resting-time":"","media-url":"",source:"","informational-page-html":"","filigrane-logo-url":"","informational-sentence":"","order-history":"",difficulty:1,cost:1,suggested:!1,popularity:0,"video-id":"",promoted:!1,discounted:!1,editable:!1,position:-1},this.ttl=3600,this.finalTimer=this.attributes["preparation-time"]+this.attributes["preheating-time"]+this.attributes["cooking-time"]+this.attributes["resting-time"]}get title(){return this.attributes.title}get promoted(){return this.attributes.promoted}get discounted(){return this.attributes.discounted}get guests(){return this.attributes["number-of-guests"]}set guests(e){this.attributes["number-of-guests"]=e}get filigraneLogoUrl(){return this.attributes["filigrane-logo-url"]?this.attributes["filigrane-logo-url"]:null}get sponsorName(){return this.relationships.sponsors.length>0?this.relationships.sponsors[0].attributes.name:null}get sponsorLogoUrl(){var e,t;return this.relationships.sponsors.data.length>0?(t=(e=this.relationships.sponsors.data[0])==null?void 0:e.attributes)==null?void 0:t["logo-url"]:null}get informationalSentence(){return this.attributes["informational-sentence"]}get costLabel(){switch(this.attributes.cost){case 1:return"faible";case 2:return"moyen";case 3:return"élevé";default:return"moyen"}}get orderHistory(){return this.attributes["order-history"]}get preparationTime(){}get cookingTime(){}get restingTime(){}get difficulty(){return this.attributes.difficulty}set difficulty(e){this.attributes.difficulty=e}set discounted(e){this.attributes.discounted=e}}class R extends h{constructor(){super(...arguments),this.recipeId="",this.guests=0,this.menuRecipes=[],this.suggestedRecipes=[],this.nextSuggestion=null,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f,this.lastShownRecipeId=null,this.isAnimating=!1,this.prefersReducedMotion=!1,this.hasUserInteracted=!1,this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh=!1}get selectors(){return{currentCard:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)",title:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-current-menu__recipe-title",swapButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__see-recipe",addAndSwapButtons:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-and-swap",pictureContainer:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture img",promotion:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor",sponsorImg:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor img",nextSuggestionCard:".mealz-planner-recipe-suggestion__next",nextSuggestionPicture:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__picture img",nextSuggestionTitle:".mealz-planner-recipe-suggestion__next .mealz-planner-current-menu__recipe-title",nextPromotion:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-badges-promotion",nextSponsor:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor",nextSponsorImg:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(_(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges(),this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches}disconnectedCallback(){super.disconnectedCallback(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}firstUpdated(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.nextSuggestion=this.suggestedRecipes[1]||null,this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addEventListener("click",e=>{if(this.isAnimating){e.preventDefault(),e.stopPropagation();return}const t=e.target;if(t.closest(".mealz-planner-recipe-suggestion__actions-swap-button")){this.swapRecipeClick$.next();return}const s=t.closest(".mealz-planner-recipe-suggestion__actions-add-button");if(s&&!s.classList.contains("loading")){this.addRecipe();return}if(t.closest(".mealz-planner-current-menu__recipe-title")||t.closest(".mealz-planner-recipe-suggestion__see-recipe")||t.closest(".mealz-planner-recipe-suggestion__picture")){this.openRecipeDetails();return}})}updateDisplayedRecipe(){const{title:e,addAndSwapButtons:t,picture:s,promotion:i,sponsor:a,sponsorImg:o}=this.elements;if(!s||!e||!i||!a||!o||!t)return;const r=this.suggestedRecipes[0];if(!r)return;const n=new x;Object.assign(n,r),this.recipeId=r.id,this.setupImageHandlers(s,n,e,t,i,a,o)}setupImageHandlers(e,t,s,i,a,o,r){let n=null;const g=()=>{n&&(clearTimeout(n),n=null),this.updateRecipeUI(e,s,i,t,a,o,r)};e.classList.add("loading"),e.onload=g,e.onerror=g,t.attributes["media-url"]?(e.src=t.attributes["media-url"],n=window.setTimeout(g,1e3)):g()}updateRecipeUI(e,t,s,i,a,o,r){e.classList.remove("loading"),o.classList.toggle("hidden",!i.sponsorLogoUrl),r&&(r.src=i.sponsorLogoUrl?i.sponsorLogoUrl:""),a.classList.toggle("hidden",!i.discounted),t.textContent=i.attributes.title||"";const n=this.menuRecipes.some(g=>g.id===i.id);s.classList.toggle("hidden",n)}updateNextSuggestionUI(){return new Promise(e=>{const{nextSuggestionCard:t,nextSuggestionPicture:s,nextSuggestionTitle:i,nextPromotion:a,nextSponsor:o,nextSponsorImg:r}=this.elements;if(!this.nextSuggestion){t&&t.classList.add("hidden"),e();return}if(t&&t.classList.remove("hidden"),!s||!i){e();return}const n=s,g=i;if(g.textContent=this.nextSuggestion.attributes.title||"",o.classList.toggle("hidden",!this.nextSuggestion.sponsorLogoUrl),r&&(r.src=this.nextSuggestion.sponsorLogoUrl?this.nextSuggestion.sponsorLogoUrl:""),a.classList.toggle("hidden",!this.nextSuggestion.discounted),this.nextSuggestion.attributes["media-url"]){if(n.classList.add("loading"),n.complete&&n.src===this.nextSuggestion.attributes["media-url"]){n.classList.remove("loading"),e();return}n.onload=()=>{n.classList.remove("loading"),e()},n.onerror=()=>{n.classList.remove("loading"),e()},n.src=this.nextSuggestion.attributes["media-url"]}else e()})}async waitForNextSuggestionReady(){for(;this.isLoadingNextSuggestion;)await new Promise(e=>setTimeout(e,50));this.nextSuggestion&&await this.updateNextSuggestionUI()}runSuggestionTransition(e,t){if(this.isAnimating)return;const s=this.querySelector(".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)"),i=this.querySelector(".mealz-planner-recipe-suggestion__next");if(!s||!i){t();return}if(this.prefersReducedMotion){t(),this.initSelectors();return}this.isAnimating=!0;const a=e==="add"?"mealz-planner-recipe-suggestion__exit-add":"mealz-planner-recipe-suggestion__exit-pass";s.classList.add(a),i.classList.add("mealz-planner-recipe-suggestion__promote"),setTimeout(()=>{(async()=>{s.style.display="none",s.classList.remove(a),s.classList.add("mealz-planner-recipe-suggestion__next"),i.classList.remove("mealz-planner-recipe-suggestion__promote","mealz-planner-recipe-suggestion__next"),this.initSelectors(),t(),await this.waitForNextSuggestionReady();const r=this.querySelector(".mealz-planner-recipe-suggestion__next");r?(r.classList.add("mealz-planner-recipe-suggestion__reveal"),r.style.display="flex",setTimeout(()=>{r.classList.remove("mealz-planner-recipe-suggestion__reveal"),this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))},200)):(this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0})))})()},300)}addRecipe(){this.addRecipeUsingSuggestionFlow$().subscribe()}addRecipeFromDetails$(e){return typeof e=="number"&&(this.guests=e),this.addRecipeUsingSuggestionFlow$()}addRecipeUsingSuggestionFlow$(){if(this.isAnimating)return l;this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");return e?(this.rejectCurrentRecipeIfNeeded(),e.addRecipe(this.recipeId,this.guests,"ai_suggestion","meals-planner-dashboard").pipe(u(1),c({next:()=>{this.runSuggestionTransition("add",()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)})},error:()=>{this.toggleLoadingButton(!1)}}))):(this.toggleLoadingButton(!1),l)}toggleLoadingButton(e){this.querySelectorAll(".mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions-add-button").forEach(s=>{s.classList.toggle("loading",e)})}addAndSelectNewSuggestion(e){if(e){this.menuRecipes.push(e),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.requestUpdate();return}this.suggestedRecipes.length===0||!this.suggestedRecipes[0]||(this.menuRecipes.push(this.suggestedRecipes[0]),this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent(),this.requestUpdate())}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?S():s.removeRecipe(t).pipe(u(1),c(()=>{const i=this.menuRecipes.findIndex(a=>a.id===t);i!==-1&&(this.menuRecipes.splice(i,1),this.recipeId===t&&(this.updateDisplayedRecipe(),this.requestUpdate()))}))}swapRecipe(){this.isAnimating||(this.rejectCurrentRecipeIfNeeded(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.runSuggestionTransition("pass",()=>{this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent()}))}rejectCurrentRecipeIfNeeded(){const e=this.suggestedRecipes[0];(!this.hasUserInteracted||this.suggestedRecipes.length===1)&&(e!=null&&e.id)&&p.planner.rejectRecipe(e.id).pipe(u(1)).subscribe(),this.hasUserInteracted||(this.hasUserInteracted=!0)}updateNextSuggestion(e=!1){var t;this.suggestedRecipes.length>1?(this.nextSuggestion=this.suggestedRecipes[1],e&&((t=this.nextSuggestion)!=null&&t.id)&&p.planner.rejectRecipe(this.nextSuggestion.id).pipe(u(1)).subscribe()):(this.nextSuggestion=null,this.getNewSuggestedRecipes())}getNewSuggestedRecipes(e){const t=(e==null?void 0:e.replace)===!0;this.isLoadingNextSuggestion=!0,p.planner.getSuggestedRecipes().pipe(u(1)).subscribe(s=>{t?(this.suggestedRecipes=[...s],this.hasUserInteracted=!1,this.nextSuggestion=this.suggestedRecipes[1]||null):(this.suggestedRecipes=[...this.suggestedRecipes,...s],this.hasUserInteracted=!1,this.updateNextSuggestion()),this.updateDisplayedRecipe(),this.updateNextSuggestionUI().then(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}).catch(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}),this.suggestionShownEvent()})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>{if(this.isAnimating||this.isLoadingNextSuggestion){this.pendingPreferencesRefresh=!0;return}this.getNewSuggestedRecipes({replace:!0})}))}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){this.recipeId&&this.recipeId!==this.lastShownRecipeId&&(p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId}),this.lastShownRecipeId=this.recipeId)}}customElements.get("mealz-planner-recipe-suggestion")||customElements.define("mealz-planner-recipe-suggestion",R);
|
|
1
|
+
import{N as h,n as m,a as f}from"../../assets/no-shadow-element-DZc32M1D.js";import{m as p}from"../../assets/mealz-sdk-CQtAGQGQ.js";import{d as _}from"../../assets/debounceTime-D6W3esj0.js";import{E as l}from"../../assets/empty--gMS1asf.js";import{t as u}from"../../assets/take-B0yyxfMB.js";import{t as c}from"../../assets/tap-D0fB7oij.js";import{o as S}from"../../assets/of-R1iMbYYX.js";import"../../assets/async-Buq9Zuro.js";import"../../assets/OperatorSubscriber-BF1r9b3N.js";import"../../assets/args-DPeCFqiB.js";import"../../assets/isScheduler-B3orCs5Q.js";import"../../assets/from-BxJrdzJs.js";import"../../assets/innerFrom-BZ8nxpLv.js";import"../../assets/executeSchedule-CEDvgTzM.js";class x{constructor(){this.attributes={title:"","ext-id":"","ext-link":"",description:"","number-of-guests":"","preparation-time":"","preheating-time":"","cooking-time":"","resting-time":"","media-url":"",source:"","informational-page-html":"","filigrane-logo-url":"","informational-sentence":"","order-history":"",difficulty:1,cost:1,suggested:!1,popularity:0,"video-id":"",promoted:!1,discounted:!1,editable:!1,position:-1},this.ttl=3600,this.finalTimer=this.attributes["preparation-time"]+this.attributes["preheating-time"]+this.attributes["cooking-time"]+this.attributes["resting-time"]}get title(){return this.attributes.title}get promoted(){return this.attributes.promoted}get discounted(){return this.attributes.discounted}get guests(){return this.attributes["number-of-guests"]}set guests(e){this.attributes["number-of-guests"]=e}get filigraneLogoUrl(){return this.attributes["filigrane-logo-url"]?this.attributes["filigrane-logo-url"]:null}get sponsorName(){return this.relationships.sponsors.length>0?this.relationships.sponsors[0].attributes.name:null}get sponsorLogoUrl(){var e,t;return this.relationships.sponsors.data.length>0?(t=(e=this.relationships.sponsors.data[0])==null?void 0:e.attributes)==null?void 0:t["logo-url"]:null}get informationalSentence(){return this.attributes["informational-sentence"]}get costLabel(){switch(this.attributes.cost){case 1:return"faible";case 2:return"moyen";case 3:return"élevé";default:return"moyen"}}get orderHistory(){return this.attributes["order-history"]}get preparationTime(){}get cookingTime(){}get restingTime(){}get difficulty(){return this.attributes.difficulty}set difficulty(e){this.attributes.difficulty=e}set discounted(e){this.attributes.discounted=e}}class R extends h{constructor(){super(...arguments),this.recipeId="",this.guests=0,this.menuRecipes=[],this.suggestedRecipes=[],this.nextSuggestion=null,this.swapRecipeCount=0,this.swapRecipeClick$=new m,this.analyticsPath="/meals-planner/current",this.preferencesSubscription=new f,this.lastShownRecipeId=null,this.isAnimating=!1,this.prefersReducedMotion=!1,this.hasUserInteracted=!1,this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh=!1}get selectors(){return{currentCard:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)",title:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-current-menu__recipe-title",swapButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-swap-button",addButton:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-button",seeRecipe:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__see-recipe",addAndSwapButtons:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__actions-add-and-swap",pictureContainer:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture",picture:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__picture img",promotion:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-badges-promotion",sponsor:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor",sponsorImg:".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next) .mealz-planner-recipe-suggestion__recipe-sponsor img",nextSuggestionCard:".mealz-planner-recipe-suggestion__next",nextSuggestionPicture:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__picture img",nextSuggestionTitle:".mealz-planner-recipe-suggestion__next .mealz-planner-current-menu__recipe-title",nextPromotion:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-badges-promotion",nextSponsor:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor",nextSponsorImg:".mealz-planner-recipe-suggestion__next .mealz-planner-recipe-suggestion__recipe-sponsor img"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners(),this.swapRecipeClick$.pipe(_(300)).subscribe(()=>this.swapRecipe()),this.subscribeToPreferencesChanges(),this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches}disconnectedCallback(){super.disconnectedCallback(),this.swapRecipeClick$.complete(),this.preferencesSubscription.unsubscribe()}firstUpdated(){const e=this.getAttribute("starting-data");e&&(Object.assign(this,JSON.parse(e)),this.nextSuggestion=this.suggestedRecipes[1]||null,this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.recipeId&&this.suggestionShownEvent(),this.removeAttribute("starting-data"))}addEventListeners(){this.addEventListener("click",e=>{if(this.isAnimating){e.preventDefault(),e.stopPropagation();return}const t=e.target;if(t.closest(".mealz-planner-recipe-suggestion__actions-swap-button")){this.swapRecipeClick$.next();return}const s=t.closest(".mealz-planner-recipe-suggestion__actions-add-button");if(s&&!s.classList.contains("loading")){this.addRecipe();return}if(t.closest(".mealz-planner-current-menu__recipe-title")||t.closest(".mealz-planner-recipe-suggestion__see-recipe")||t.closest(".mealz-planner-recipe-suggestion__picture")){this.openRecipeDetails();return}})}updateDisplayedRecipe(){const{title:e,addAndSwapButtons:t,picture:s,promotion:i,sponsor:a,sponsorImg:o}=this.elements;if(!s||!e||!i||!a||!o||!t)return;const r=this.suggestedRecipes[0];if(!r)return;const n=new x;Object.assign(n,r),this.recipeId=r.id,this.setupImageHandlers(s,n,e,t,i,a,o)}setupImageHandlers(e,t,s,i,a,o,r){let n=null;const g=()=>{n&&(clearTimeout(n),n=null),this.updateRecipeUI(e,s,i,t,a,o,r)};e.classList.add("loading"),e.onload=g,e.onerror=g,t.attributes["media-url"]?(e.src=t.attributes["media-url"],n=window.setTimeout(g,1e3)):g()}updateRecipeUI(e,t,s,i,a,o,r){e.classList.remove("loading"),o.classList.toggle("hidden",!i.sponsorLogoUrl),r&&(r.src=i.sponsorLogoUrl?i.sponsorLogoUrl:""),a.classList.toggle("hidden",!i.discounted),t.textContent=i.attributes.title||"";const n=this.menuRecipes.some(g=>g.id===i.id);s.classList.toggle("hidden",n)}updateNextSuggestionUI(){return new Promise(e=>{const{nextSuggestionCard:t,nextSuggestionPicture:s,nextSuggestionTitle:i,nextPromotion:a,nextSponsor:o,nextSponsorImg:r}=this.elements;if(!this.nextSuggestion){t&&t.classList.add("hidden"),e();return}if(t&&t.classList.remove("hidden"),!s||!i){e();return}const n=s,g=i;if(g.textContent=this.nextSuggestion.attributes.title||"",o.classList.toggle("hidden",!this.nextSuggestion.sponsorLogoUrl),r&&(r.src=this.nextSuggestion.sponsorLogoUrl?this.nextSuggestion.sponsorLogoUrl:""),a.classList.toggle("hidden",!this.nextSuggestion.discounted),this.nextSuggestion.attributes["media-url"]){if(n.classList.add("loading"),n.complete&&n.src===this.nextSuggestion.attributes["media-url"]){n.classList.remove("loading"),e();return}n.onload=()=>{n.classList.remove("loading"),e()},n.onerror=()=>{n.classList.remove("loading"),e()},n.src=this.nextSuggestion.attributes["media-url"]}else e()})}async waitForNextSuggestionReady(){for(;this.isLoadingNextSuggestion;)await new Promise(e=>setTimeout(e,50));this.nextSuggestion&&await this.updateNextSuggestionUI()}runSuggestionTransition(e,t){if(this.isAnimating)return;const s=this.querySelector(".mealz-planner-recipe-suggestion:not(.mealz-planner-recipe-suggestion__next)"),i=this.querySelector(".mealz-planner-recipe-suggestion__next");if(!s||!i){t();return}if(this.prefersReducedMotion){t(),this.initSelectors();return}this.isAnimating=!0;const a=e==="add"?"mealz-planner-recipe-suggestion__exit-add":"mealz-planner-recipe-suggestion__exit-pass";s.classList.add(a),i.classList.add("mealz-planner-recipe-suggestion__promote"),setTimeout(()=>{(async()=>{s.style.display="none",s.classList.remove(a),s.classList.add("mealz-planner-recipe-suggestion__next"),i.classList.remove("mealz-planner-recipe-suggestion__promote","mealz-planner-recipe-suggestion__next"),this.initSelectors(),t(),await this.waitForNextSuggestionReady();const r=this.querySelector(".mealz-planner-recipe-suggestion__next");r?(r.classList.add("mealz-planner-recipe-suggestion__reveal"),r.style.display="flex",setTimeout(()=>{r.classList.remove("mealz-planner-recipe-suggestion__reveal"),this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))},200)):(this.isAnimating=!1,this.pendingPreferencesRefresh&&!this.isLoadingNextSuggestion&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0})))})()},300)}addRecipe(){this.addRecipeUsingSuggestionFlow$().subscribe()}addRecipeFromDetails$(e){return typeof e=="number"&&(this.guests=e),this.addRecipeUsingSuggestionFlow$()}addRecipeUsingSuggestionFlow$(){if(this.isAnimating)return l;this.toggleLoadingButton(!0);const e=document.querySelector("mealz-planner-current-menu");return e?(this.rejectCurrentRecipeIfNeeded(),e.addRecipe(this.recipeId,this.guests,"ai_suggestion","meals-planner-dashboard").pipe(u(1),c({next:()=>{this.runSuggestionTransition("add",()=>{this.addAndSelectNewSuggestion(),this.toggleLoadingButton(!1)})},error:()=>{this.toggleLoadingButton(!1)}}))):(this.toggleLoadingButton(!1),l)}toggleLoadingButton(e){this.querySelectorAll(".mealz-planner-recipe-suggestion .mealz-planner-recipe-suggestion__actions-add-button").forEach(s=>{s.classList.toggle("loading",e)})}addAndSelectNewSuggestion(e){if(e){this.menuRecipes.push(e),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.requestUpdate();return}this.suggestedRecipes.length===0||!this.suggestedRecipes[0]||(this.menuRecipes.push(this.suggestedRecipes[0]),this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent(),this.requestUpdate())}removeRecipe(e){const t=e||this.recipeId,s=document.querySelector("mealz-planner-current-menu");return!s||!t?S():s.removeRecipe(t).pipe(u(1),c(()=>{const i=this.menuRecipes.findIndex(a=>a.id===t);i!==-1&&(this.menuRecipes.splice(i,1),this.recipeId===t&&(this.updateDisplayedRecipe(),this.requestUpdate()))}))}swapRecipe(){this.isAnimating||(this.rejectCurrentRecipeIfNeeded(),this.recipeSwappedEvent(),this.swapRecipeCount++,!sessionStorage.getItem("_miam/selectFromCatalogSuggestion")&&this.swapRecipeCount>3&&(sessionStorage.setItem("_miam/selectFromCatalogSuggestion","true"),this.openCatalogModal()),this.runSuggestionTransition("pass",()=>{this.suggestedRecipes.shift(),this.updateNextSuggestion(!0),this.updateDisplayedRecipe(),this.updateNextSuggestionUI(),this.suggestionShownEvent()}))}rejectCurrentRecipeIfNeeded(){const e=this.suggestedRecipes[0];(!this.hasUserInteracted||this.suggestedRecipes.length===1)&&(e!=null&&e.id)&&p.planner.rejectRecipe(e.id).pipe(u(1)).subscribe(),this.hasUserInteracted||(this.hasUserInteracted=!0)}updateNextSuggestion(e=!1){var t;this.suggestedRecipes.length>1?(this.nextSuggestion=this.suggestedRecipes[1],e&&((t=this.nextSuggestion)!=null&&t.id)&&p.planner.rejectRecipe(this.nextSuggestion.id).pipe(u(1)).subscribe()):(this.nextSuggestion=null,this.getNewSuggestedRecipes())}getNewSuggestedRecipes(e){const t=(e==null?void 0:e.replace)===!0;this.isLoadingNextSuggestion=!0,p.planner.getSuggestedRecipes().pipe(u(1)).subscribe(s=>{t?(this.suggestedRecipes=[...s],this.hasUserInteracted=!1,this.nextSuggestion=this.suggestedRecipes[1]||null):(this.suggestedRecipes=[...this.suggestedRecipes,...s],this.hasUserInteracted=!1,this.updateNextSuggestion()),this.updateDisplayedRecipe(),this.updateNextSuggestionUI().then(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}).catch(()=>{this.isLoadingNextSuggestion=!1,this.pendingPreferencesRefresh&&!this.isAnimating&&(this.pendingPreferencesRefresh=!1,this.getNewSuggestedRecipes({replace:!0}))}),this.suggestionShownEvent()})}openCatalogModal(){const e=document.querySelector("mealz-planner-current-menu");this.promptCatalogEvent(),e==null||e.openCatalogModal()}openRecipeDetails(){p.recipes.openDetails(this.recipeId,this.guests,0,"",!0)}subscribeToPreferencesChanges(){this.preferencesSubscription.add(p.preferences.preferencesChanged$().subscribe(()=>{if(this.isAnimating||this.isLoadingNextSuggestion){this.pendingPreferencesRefresh=!0;return}this.getNewSuggestedRecipes({replace:!0})}))}recipeSwappedEvent(){p.analytics.sendEvent("planner.recipe.swap",this.analyticsPath,{recipe_id:this.recipeId})}promptCatalogEvent(){p.analytics.sendEvent("planner.recipe.catalog-prompt",this.analyticsPath,{})}suggestionShownEvent(){this.recipeId&&this.recipeId!==this.lastShownRecipeId&&(p.analytics.sendEvent("planner.suggestion.show",this.analyticsPath,{recipe_id:this.recipeId}),this.lastShownRecipeId=this.recipeId)}}customElements.get("mealz-planner-recipe-suggestion")||customElements.define("mealz-planner-recipe-suggestion",R);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as m,k as i}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as m,k as i}from"../../assets/no-shadow-element-DZc32M1D.js";import{c as d}from"../../modal/modal.min.js";import{n as p}from"../../assets/property-CrS1c6lI.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-CQtAGQGQ.js";import"../../assets/unsafe-html-DTarpZaV.js";var f=Object.defineProperty,M=(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&&f(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=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>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as p,k as o}from"../../assets/no-shadow-element-
|
|
1
|
+
import{N as p,k as o}from"../../assets/no-shadow-element-DZc32M1D.js";import{n as m}from"../../assets/property-CrS1c6lI.js";import{r}from"../../assets/state-1qy1JPQz.js";import"../../assets/mealz-sdk-CQtAGQGQ.js";var h=Object.defineProperty,i=(d,e,t,c)=>{for(var s=void 0,l=d.length-1,n;l>=0;l--)(n=d[l])&&(s=n(e,t,s)||s);return s&&h(e,t,s),s};class a extends p{constructor(){super(),this.recipeImgs=[],this.currentStep=0,this.displayedRecipes=[],this.isComplete=!1,this.backgroundImages=[],this.activeBackgroundIndex=0,this.preloadedImages=new Map,this.styleURL=new URL("./planner/to-basket-loader/to-basket-loader.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.scrollIntoView({behavior:"smooth",block:"center"}),this.preloadImages().then(()=>{this.startAnimation()})}async preloadImages(){if(!this.recipeImgs||this.recipeImgs.length===0)return Promise.resolve();const e=this.recipeImgs.map(t=>new Promise(c=>{const s=new Image;s.onload=()=>{this.preloadedImages.set(t,s),c()},s.onerror=()=>{c()},s.src=t}));return Promise.all(e).then(()=>{this.backgroundImages=[null,null]})}startAnimation(){this.displayedRecipes=[],this.recipeImgs.length>0&&(this.backgroundImages[0]=this.recipeImgs[0],this.activeBackgroundIndex=0);const e=()=>{if(this.currentStep<this.recipeImgs.length){const t=this.recipeImgs[this.currentStep];this.displayedRecipes=[...this.displayedRecipes,t],this.updateBackgroundImage(t),this.currentStep++,setTimeout(()=>{e()},1200)}else this.isComplete=!0,setTimeout(()=>{this.emitLoaderComplete()},1500)};setTimeout(()=>{e()},500)}updateBackgroundImage(e){const t=(this.activeBackgroundIndex+1)%2;this.backgroundImages[t]=e,this.activeBackgroundIndex=t,this.requestUpdate()}emitLoaderComplete(){this.dispatchEvent(new CustomEvent("basketComplete",{bubbles:!0,composed:!0}))}render(){return o`
|
|
2
2
|
<div class="mealz-to-basket-loader ${this.isComplete?"complete":""}">
|
|
3
3
|
${this.backgroundImages.map((e,t)=>e?o`
|
|
4
4
|
<div class="mealz-to-basket-loader__background ${t===this.activeBackgroundIndex?"active":""}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as n}from"../assets/no-shadow-element-
|
|
1
|
+
import{N as n}from"../assets/no-shadow-element-DZc32M1D.js";import{o as i}from"../planner/helpers/open-onboarding-modal.min.js";import{m as u}from"../assets/mealz-sdk-CQtAGQGQ.js";import"../planner/planner-onboarding-modal/planner-onboarding-modal.min.js";import"../assets/state-1qy1JPQz.js";import"../assets/property-CrS1c6lI.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-DTarpZaV.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-
|
|
1
|
+
import"../assets/accordion-Ds4UMuL5.js";import{N as f,B as z,a as y,k as a}from"../assets/no-shadow-element-DZc32M1D.js";import{r as p}from"../assets/state-1qy1JPQz.js";import{m as t}from"../assets/mealz-sdk-CQtAGQGQ.js";import{d as w}from"../assets/debounceTime-D6W3esj0.js";import{d as k}from"../assets/distinctUntilChanged-FtASLz6t.js";import{s as T}from"../assets/switchMap-C79NTzdm.js";import{n as h}from"../assets/property-CrS1c6lI.js";import{f as $}from"../assets/filter-Dq4X88HC.js";import"../assets/async-Buq9Zuro.js";import"../assets/OperatorSubscriber-BF1r9b3N.js";import"../assets/innerFrom-BZ8nxpLv.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">
|
package/dist/price/price.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{N as n,k as p,D as d}from"../assets/no-shadow-element-
|
|
1
|
+
import{N as n,k as p,D as d}from"../assets/no-shadow-element-DZc32M1D.js";import{n as o}from"../assets/property-CrS1c6lI.js";import{P as m}from"../assets/price-Bfy_G-uC.js";import"../assets/mealz-sdk-CQtAGQGQ.js";import"../assets/singleton-COF3iBbF.js";var u=Object.defineProperty,l=(i,t,e,h)=>{for(var r=void 0,c=i.length-1,a;c>=0;c--)(a=i[c])&&(r=a(t,e,r)||r);return r&&u(t,e,r),r};class s extends n{constructor(){super(),this.priceService=m.getInstance(),this.styleURL=new URL("./price/price.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.applyStartingDataFromAttribute(),this.priceService.initFormatter()}renderOldPrice(){return p`
|
|
2
2
|
<div class="mealz-price__previous mealz-ds-text weight-l size-xs">
|
|
3
3
|
${this.priceService.priceTemplate(this.oldPrice)}
|
|
4
4
|
</div>
|