mealz-components 2.0.0-beta.6 → 2.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/query-BApjzB0v.js +9 -0
- package/dist/assets/{store-locator-m8sx3XDc.js → store-locator-Crx8huGH.js} +4 -12
- package/dist/catalog/basket-preview/basket-preview.min.js +8 -8
- package/dist/catalog/my-meals-button/my-meals-button.min.js +1 -1
- package/dist/drawer-view-swapper/drawer-view-swapper.min.js +4 -4
- package/dist/modal/modal.min.js +4 -4
- package/dist/onboarding/onboarding.css +1 -0
- package/dist/onboarding/onboarding.min.js +41 -0
- package/dist/planner/planner-current-menu/planner-current-menu.css +1 -1
- package/dist/planner/planner-current-menu/planner-current-menu.min.js +1 -1
- package/dist/planner/planner-dashboard/planner-dashboard.css +1 -1
- package/dist/planner/planner-dashboard/planner-dashboard.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 -0
- package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.css +1 -0
- package/dist/planner/planner-onboarding-modal/planner-onboarding-modal.min.js +53 -0
- package/dist/planner/planner-welcome-modal/planner-welcome-modal.css +1 -0
- package/dist/planner/planner-welcome-modal/planner-welcome-modal.min.js +17 -0
- package/dist/recipe-details/recipe-details.min.js +28 -28
- package/dist/slider-tabs/slider-tabs.min.js +1 -1
- package/dist/store-indicator/store-indicator.min.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/const l=(r,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(r,t,e),e);/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright 2017 Google LLC
|
|
8
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
+
*/function i(r,t){return(e,n,f)=>{const u=c=>{var o;return((o=c.renderRoot)==null?void 0:o.querySelector(r))??null};return l(e,n,{get(){return u(this)}})}}export{i as e};
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import{i as
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/const f=(t,e,s)=>(s.configurable=!0,s.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(t,e,s),s);/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright 2017 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
-
*/function _(t,e){return(s,i,o)=>{const n=d=>{var h;return((h=d.renderRoot)==null?void 0:h.querySelector(t))??null};return f(s,i,{get(){return n(this)}})}}class x{get extId(){return this.attributes["ext-id"]}}var v=Object.defineProperty,w=Object.getOwnPropertyDescriptor,r=(t,e,s,i)=>{for(var o=i>1?void 0:i?w(e,s):e,n=t.length-1,d;n>=0;n--)(d=t[n])&&(o=(i?d(e,s,o):d(o))||o);return i&&o&&v(e,s,o),o};let l=class extends m{constructor(){var t,e,s,i,o,n;super(...arguments),this.selectedRadius=50,this.getByAddress=(e=(t=c)==null?void 0:t.pos)==null?void 0:e.getByAddress,this.getByCoordinates=(i=(s=c)==null?void 0:s.pos)==null?void 0:i.getByCoordinates,this.getAffiliateSuppliers=(n=(o=c)==null?void 0:o.supplier)==null?void 0:n.getAffiliateSuppliers,this._posList=[],this._markers=[],this._searchingPos=!1,this._searchSubmitted=!1,this._previousSearchMethod=()=>{},this._suppliers=[],this._selectedSuppliers=[],this._showPosList=!1,this._posSelected=!1,this.subscriptions=[]}set geolocationCoordinates(t){var e,s;this._geolocationCoordinates=t,(e=t==null?void 0:t.coords)!=null&&e.latitude&&((s=t==null?void 0:t.coords)!=null&&s.longitude)&&this.setGeolocation()}get geolocationCoordinates(){return this._geolocationCoordinates}_nameOfStore(t){return`${t.supplier.attributes.name} - ${t.attributes.name}`}connectedCallback(){super.connectedCallback(),this.initLeaflet(),this.fetchSuppliers(),this.initEvents()}disconnectedCallback(){this.subscriptions.forEach(t=>t.unsubscribe()),super.disconnectedCallback(),this._leafletCss.remove(),this._miamDs.remove(),this._leafletJs.remove()}render(){if(this.show)return this.posSelectionTemplate()}firstUpdated(){this._posSelected=!1,this.loadMap(),this.geolocationTimeout(),this.listenFormSubmit()}posSelectionTemplate(){return a`
|
|
1
|
+
import{i as h,h as u,a as c,k as a}from"./no-shadow-element-l9trQfcI.js";import{t as m}from"./custom-element-BhZVzxrc.js";import{n as p}from"./property-leIVgCvV.js";import{r as g}from"./state-CccUMzBZ.js";import{e as b}from"./query-BApjzB0v.js";class f{get extId(){return this.attributes["ext-id"]}}var _=Object.defineProperty,x=Object.getOwnPropertyDescriptor,r=(t,e,s,i)=>{for(var o=i>1?void 0:i?x(e,s):e,n=t.length-1,d;n>=0;n--)(d=t[n])&&(o=(i?d(e,s,o):d(o))||o);return i&&o&&_(e,s,o),o};let l=class extends u{constructor(){var t,e,s,i,o,n;super(...arguments),this.selectedRadius=50,this.getByAddress=(e=(t=c)==null?void 0:t.pos)==null?void 0:e.getByAddress,this.getByCoordinates=(i=(s=c)==null?void 0:s.pos)==null?void 0:i.getByCoordinates,this.getAffiliateSuppliers=(n=(o=c)==null?void 0:o.supplier)==null?void 0:n.getAffiliateSuppliers,this._posList=[],this._markers=[],this._searchingPos=!1,this._searchSubmitted=!1,this._previousSearchMethod=()=>{},this._suppliers=[],this._selectedSuppliers=[],this._showPosList=!1,this._posSelected=!1,this.subscriptions=[]}set geolocationCoordinates(t){var e,s;this._geolocationCoordinates=t,(e=t==null?void 0:t.coords)!=null&&e.latitude&&((s=t==null?void 0:t.coords)!=null&&s.longitude)&&this.setGeolocation()}get geolocationCoordinates(){return this._geolocationCoordinates}_nameOfStore(t){return`${t.supplier.attributes.name} - ${t.attributes.name}`}connectedCallback(){super.connectedCallback(),this.initLeaflet(),this.fetchSuppliers(),this.initEvents()}disconnectedCallback(){this.subscriptions.forEach(t=>t.unsubscribe()),super.disconnectedCallback(),this._leafletCss.remove(),this._miamDs.remove(),this._leafletJs.remove()}render(){if(this.show)return this.posSelectionTemplate()}firstUpdated(){this._posSelected=!1,this.loadMap(),this.geolocationTimeout(),this.listenFormSubmit()}posSelectionTemplate(){return a`
|
|
10
2
|
<div class="wrapper mealz-ds-body">
|
|
11
3
|
<div class="pos-selection">
|
|
12
4
|
<div class="title">
|
|
@@ -85,7 +77,7 @@ import{i as u,h as m,a as c,k as a}from"./no-shadow-element-l9trQfcI.js";import{
|
|
|
85
77
|
</div>
|
|
86
78
|
`)}
|
|
87
79
|
</div>
|
|
88
|
-
`}getButtonLabel(){if(this._showPosList)return"Voir la carte";const t=this._posList.length;return t===1?"Voir le magasin":`Voir les ${t} magasins`}setAddress(t=!1){!this._addressInput.value||this._addressInput.value.length<3||this._searchingPos||!t&&this._prevAddress===this._addressInput.value+", France"||(this._previousSearchMethod=this.setAddress,this._prevAddress=this._addressInput.value+", France",this._searchingPos=!0,this.requestUpdate(),this.subscriptions.push(this.getByAddress(this._prevAddress,this.selectedRadius,this._selectedSuppliers).subscribe(e=>{this.setPosList(e),this.setNewLocation(),this.dispatchSearch(this._prevAddress,e.data.length),this._searchingPos=!1,this._searchSubmitted=!0,this.togglePosList(!1),this.requestUpdate()})))}setGeolocation(){this._prevAddress="",this._previousSearchMethod=this.setGeolocation,this.getPosByCoordinates()}getPosByCoordinates(){this._searchingPos=!0,this.requestUpdate(),this.subscriptions.push(this.getByCoordinates(this.geolocationCoordinates.coords.latitude,this.geolocationCoordinates.coords.longitude,this.selectedRadius,this._selectedSuppliers).subscribe(t=>{this._addressInput.value="",this.setPosList(t),this._searchingPos=!1,this.setNewLocation(),this._searchSubmitted=!0,this.togglePosList(!1),this.requestUpdate()}))}setPosList(t){this._posList=t.data.map(e=>{const s=Object.assign(new
|
|
80
|
+
`}getButtonLabel(){if(this._showPosList)return"Voir la carte";const t=this._posList.length;return t===1?"Voir le magasin":`Voir les ${t} magasins`}setAddress(t=!1){!this._addressInput.value||this._addressInput.value.length<3||this._searchingPos||!t&&this._prevAddress===this._addressInput.value+", France"||(this._previousSearchMethod=this.setAddress,this._prevAddress=this._addressInput.value+", France",this._searchingPos=!0,this.requestUpdate(),this.subscriptions.push(this.getByAddress(this._prevAddress,this.selectedRadius,this._selectedSuppliers).subscribe(e=>{this.setPosList(e),this.setNewLocation(),this.dispatchSearch(this._prevAddress,e.data.length),this._searchingPos=!1,this._searchSubmitted=!0,this.togglePosList(!1),this.requestUpdate()})))}setGeolocation(){this._prevAddress="",this._previousSearchMethod=this.setGeolocation,this.getPosByCoordinates()}getPosByCoordinates(){this._searchingPos=!0,this.requestUpdate(),this.subscriptions.push(this.getByCoordinates(this.geolocationCoordinates.coords.latitude,this.geolocationCoordinates.coords.longitude,this.selectedRadius,this._selectedSuppliers).subscribe(t=>{this._addressInput.value="",this.setPosList(t),this._searchingPos=!1,this.setNewLocation(),this._searchSubmitted=!0,this.togglePosList(!1),this.requestUpdate()}))}setPosList(t){this._posList=t.data.map(e=>{const s=Object.assign(new f,e);return s.supplier=t.included.find(i=>i.id===s.relationships.supplier.data.id),s}).sort((e,s)=>e.attributes.name.includes("onoprix")?-1:s.attributes.name.includes("onoprix")?1:0)}dispatchPos(t){this._posSelected=!0,this.requestUpdate();const e={detail:{posId:t.id,posExtId:t.extId,supplierId:t.supplier.id,supplierName:t.supplier.attributes.name,posName:this._nameOfStore(t)},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("posIdChange",e))}dispatchShow(t){const e={detail:{show:t},bubbles:!0,composed:!0};this.dispatchEvent(new CustomEvent("showChange",e))}dispatchSearch(t,e){const s={detail:{searchTerm:t,storesFoundCount:e},bubbles:!0,composed:!0};console.debug("[MealzComponents] dispatchEvent searchChange",s),this.dispatchEvent(new CustomEvent("searchChange",s))}initLeaflet(){this._leafletCss=document.createElement("link"),this._leafletCss.setAttribute("rel","stylesheet"),this._leafletCss.setAttribute("href","https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"),this._leafletCss.setAttribute("integrity","sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="),this._leafletCss.setAttribute("crossorigin",""),this._leafletJs=document.createElement("script"),this._leafletJs.setAttribute("src","https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"),this._leafletJs.setAttribute("integrity","sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="),this._leafletJs.setAttribute("crossorigin",""),this._miamDs=document.createElement("link"),this._miamDs.setAttribute("rel","stylesheet"),this._miamDs.setAttribute("href","https://unpkg.com/mealz-ds@2.0.0/mealz-ds.min.css"),this.shadowRoot.appendChild(this._miamDs),this.shadowRoot.appendChild(this._leafletCss),document.head.appendChild(this._leafletJs)}waitForLeaflet(t){let i=50;console.debug("[Map] Checking for window.L");const o=setInterval(()=>{window.L!==void 0||i===0?(clearInterval(o),window.L!==void 0?(console.debug("[Map] window.L is defined"),t(!0)):(console.error("[Map] Failed to load Leaflet after",5e3,"ms"),t(!1))):i--},100)}initMap(){this._map&&(this._map.off(),this._map.remove()),this.setNewLocation(),window.L.tileLayer("https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png",{maxZoom:19,attribution:"Map tiles by Carto, under CC BY 3.0. Data by OpenStreetMap, under ODbL."}).addTo(this._map)}loadMap(){this.waitForLeaflet(t=>{t&&this.initMap()})}initEvents(){this._filterEvent=new CustomEvent("filterChange",{detail:{supplierName:""},bubbles:!0,composed:!0})}fetchSuppliers(){this.subscriptions.push(this.getAffiliateSuppliers().subscribe(t=>{this._suppliers=t.map(e=>({id:e.id,name:e.attributes.name})),this.requestUpdate()}))}setNewLocation(){var e;const t=this.shadowRoot.getElementById("map");t&&(this._map?(this._markers.forEach(s=>{this._map.removeLayer(s)}),this._markers=[],this._map.panTo(this.getCoordinates())):this._map=(e=window.L)==null?void 0:e.map(t).setView(this.getCoordinates(),13),this.addMarkers())}getCoordinates(){return this._posList.length<1?[48.866667,2.333333]:[this._posList[0].attributes.latitude,this._posList[0].attributes.longitude]}addMarkers(){this._posList.length>0&&this._posList.forEach((t,e)=>{this._markers.push(window.L.marker([t.attributes.latitude,t.attributes.longitude],{icon:this.buildIcon(t.supplier)}).addTo(this._map));const s=window.L.popup({content:`
|
|
89
81
|
<div class="pos-item">
|
|
90
82
|
<div class="top">
|
|
91
83
|
<img class="pos-img" src="${t.supplier.attributes.logo}" alt="${t.supplier.attributes.name}"/>
|
|
@@ -98,7 +90,7 @@ import{i as u,h as m,a as c,k as a}from"./no-shadow-element-l9trQfcI.js";import{
|
|
|
98
90
|
<button id="select" class="mealz-ds-button primary select-pos-button">Sélectionner</button>
|
|
99
91
|
</div>
|
|
100
92
|
</div>
|
|
101
|
-
`});this._markers[e].bindPopup(s).on("popupopen",i=>{i.target.getPopup().getElement().querySelector("#select").addEventListener("click",()=>{this.dispatchPos(t)})})})}buildIcon(t){return window.L.icon({iconUrl:t.attributes.logo||"https://cdn-icons-png.flaticon.com/512/3515/3515146.png",shadowUrl:"https://storage.googleapis.com/assets.miam.tech/mealz-components/store-locator/marker.svg",iconSize:[32,32],shadowSize:[44,53],iconAnchor:[16,45],shadowAnchor:[22,45],popupAnchor:[0,-55]})}togglePosList(t){this._showPosList=!t;const e=this.shadowRoot.getElementById("pos-list"),s={bubbles:!0,composed:!0};e&&(t?(e.style.display="none",this.dispatchEvent(new CustomEvent("mapSelected",s))):(e.style.display="flex",this.dispatchEvent(new CustomEvent("listSelected",s))),this.requestUpdate())}geolocationTimeout(){setTimeout(()=>{this.geolocationCoordinates===void 0&&(this.geolocationCoordinates={})},2e4)}listenFormSubmit(){this.shadowRoot.getElementById("store-locator-form").addEventListener("submit",e=>{e.preventDefault(),this.setAddress()})}};l.styles=[
|
|
93
|
+
`});this._markers[e].bindPopup(s).on("popupopen",i=>{i.target.getPopup().getElement().querySelector("#select").addEventListener("click",()=>{this.dispatchPos(t)})})})}buildIcon(t){return window.L.icon({iconUrl:t.attributes.logo||"https://cdn-icons-png.flaticon.com/512/3515/3515146.png",shadowUrl:"https://storage.googleapis.com/assets.miam.tech/mealz-components/store-locator/marker.svg",iconSize:[32,32],shadowSize:[44,53],iconAnchor:[16,45],shadowAnchor:[22,45],popupAnchor:[0,-55]})}togglePosList(t){this._showPosList=!t;const e=this.shadowRoot.getElementById("pos-list"),s={bubbles:!0,composed:!0};e&&(t?(e.style.display="none",this.dispatchEvent(new CustomEvent("mapSelected",s))):(e.style.display="flex",this.dispatchEvent(new CustomEvent("listSelected",s))),this.requestUpdate())}geolocationTimeout(){setTimeout(()=>{this.geolocationCoordinates===void 0&&(this.geolocationCoordinates={})},2e4)}listenFormSubmit(){this.shadowRoot.getElementById("store-locator-form").addEventListener("submit",e=>{e.preventDefault(),this.setAddress()})}};l.styles=[h`
|
|
102
94
|
:host {
|
|
103
95
|
display: block;
|
|
104
96
|
height: 100%;
|
|
@@ -405,4 +397,4 @@ import{i as u,h as m,a as c,k as a}from"./no-shadow-element-l9trQfcI.js";import{
|
|
|
405
397
|
top: 0;
|
|
406
398
|
}
|
|
407
399
|
}
|
|
408
|
-
`];r([p({type:Boolean})],l.prototype,"show",2);r([p({type:Number})],l.prototype,"selectedRadius",2);r([p({type:GeolocationPosition})],l.prototype,"geolocationCoordinates",1);r([p()],l.prototype,"getByAddress",2);r([p()],l.prototype,"getByCoordinates",2);r([p()],l.prototype,"getAffiliateSuppliers",2);r([
|
|
400
|
+
`];r([p({type:Boolean})],l.prototype,"show",2);r([p({type:Number})],l.prototype,"selectedRadius",2);r([p({type:GeolocationPosition})],l.prototype,"geolocationCoordinates",1);r([p()],l.prototype,"getByAddress",2);r([p()],l.prototype,"getByCoordinates",2);r([p()],l.prototype,"getAffiliateSuppliers",2);r([g()],l.prototype,"_geolocationCoordinates",2);r([b("input")],l.prototype,"_addressInput",2);l=r([m("mealz-store-locator")],l);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../../assets/store-locator-
|
|
1
|
+
import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../../assets/store-locator-Crx8huGH.js";import{N as R,k as l,m as d,D as k,a as U,s as O,R as D}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as x}from"../../assets/custom-element-BhZVzxrc.js";import{n as E}from"../../assets/property-leIVgCvV.js";import"../../counter/counter.min.js";import"../../price/price.min.js";import"../../modal/modal.min.js";import{P as N}from"../../assets/price-BoM226Kw.js";import{c as M}from"../../assets/capitalize-DUAqYmp4.js";import{e as q,i as L,t as V}from"../../assets/unsafe-html-CmALAWuN.js";import{d as F}from"../../assets/delay-ILvLVH1b.js";import"../../assets/state-CccUMzBZ.js";import"../../assets/query-BApjzB0v.js";import"../../assets/debounceTime-Bo5F3ux-.js";import"../../assets/async-D3oCs_PQ.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/take-DO4w5a1Y.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/map-C4rf5Jbc.js";import"../../assets/mergeMap-buGewtOo.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/executeSchedule-DfyZaGAH.js";import"../../assets/timer-BOl4bYNY.js";var j=Object.defineProperty,H=Object.getOwnPropertyDescriptor,B=(e,t,i,a)=>{for(var s=a>1?void 0:a?H(t,i):t,n=e.length-1,r;n>=0;n--)(r=e[n])&&(s=(a?r(t,i,s):r(s))||s);return a&&s&&j(t,i,s),s};let g=class extends R{constructor(){super(),this.analyticsPath="",this.styleURL=new URL("./product-addition/product-addition.css",this.getBaseURL())}render(){return l`
|
|
2
2
|
<div class="mealz-product-addition">
|
|
3
3
|
<span class="mealz-product-addition__title mealz-ds-text">Besoin de quelque chose en particulier ?</span>
|
|
4
4
|
<button @click=${()=>this.openProductAdditionModal()}
|
|
@@ -6,7 +6,7 @@ import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/sl
|
|
|
6
6
|
Ajouter un produit
|
|
7
7
|
</button>
|
|
8
8
|
</div>
|
|
9
|
-
`}openProductAdditionModal(){this.sendbasketEntryAddEvent(),d.productAddition.open()}sendbasketEntryAddEvent(){d.analytics.sendEvent("basket.entry.add",this.analyticsPath,{})}};B([E({type:String})],g.prototype,"analyticsPath",2);g=B([x("mealz-product-addition")],g);customElements.get("mealz-product-addition")||customElements.define("mealz-product-addition",g);var G=Object.defineProperty,K=Object.getOwnPropertyDescriptor,f=(e,t,a
|
|
9
|
+
`}openProductAdditionModal(){this.sendbasketEntryAddEvent(),d.productAddition.open()}sendbasketEntryAddEvent(){d.analytics.sendEvent("basket.entry.add",this.analyticsPath,{})}};B([E({type:String})],g.prototype,"analyticsPath",2);g=B([x("mealz-product-addition")],g);customElements.get("mealz-product-addition")||customElements.define("mealz-product-addition",g);var G=Object.defineProperty,K=Object.getOwnPropertyDescriptor,f=(e,t,i,a)=>{for(var s=a>1?void 0:a?K(t,i):t,n=e.length-1,r;n>=0;n--)(r=e[n])&&(s=(a?r(t,i,s):r(s))||s);return a&&s&&G(t,i,s),s};let z=class extends R{constructor(){super(),this.analyticsPath="",this.loading=!1,this.isRecipeModalDisplayed=!1,this.priceService=N.getInstance(),this.styleURL=new URL("./catalog/basket-preview/basket-preview-product/basket-preview-product.css",this.getBaseURL())}renderSponsorisedBadge(){return l`
|
|
10
10
|
<div class="mealz-basket-preview-product__sponsorised mealz-ds-badge mealz-ds-text size-s weight-l">
|
|
11
11
|
<span>Sponsorisé</span>
|
|
12
12
|
</div>
|
|
@@ -107,11 +107,11 @@ import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/sl
|
|
|
107
107
|
* @license
|
|
108
108
|
* Copyright 2020 Google LLC
|
|
109
109
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
110
|
-
*/const{I:Q}=O,S=()=>document.createComment(""),w=(e,t,
|
|
110
|
+
*/const{I:Q}=O,S=()=>document.createComment(""),w=(e,t,i)=>{var n;const a=e._$AA.parentNode,s=t===void 0?e._$AB:t._$AA;if(i===void 0){const r=a.insertBefore(S(),s),p=a.insertBefore(S(),s);i=new Q(r,p,e,e.options)}else{const r=i._$AB.nextSibling,p=i._$AM,m=p!==e;if(m){let b;(n=i._$AQ)==null||n.call(i,e),i._$AM=e,i._$AP!==void 0&&(b=e._$AU)!==p._$AU&&i._$AP(b)}if(r!==s||m){let b=i._$AA;for(;b!==r;){const y=b.nextSibling;a.insertBefore(b,s),b=y}}}return i},_=(e,t,i=e)=>(e._$AI(t,i),e),W={},J=(e,t=W)=>e._$AH=t,Y=e=>e._$AH,P=e=>{var a;(a=e._$AP)==null||a.call(e,!1,!0);let t=e._$AA;const i=e._$AB.nextSibling;for(;t!==i;){const s=t.nextSibling;t.remove(),t=s}};/**
|
|
111
111
|
* @license
|
|
112
112
|
* Copyright 2017 Google LLC
|
|
113
113
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
114
|
-
*/const T=(e,t,
|
|
114
|
+
*/const T=(e,t,i)=>{const a=new Map;for(let s=t;s<=i;s++)a.set(e[s],s);return a},Z=q(class extends L{constructor(e){if(super(e),e.type!==V.CHILD)throw Error("repeat() can only be used in text expressions")}dt(e,t,i){let a;i===void 0?i=t:t!==void 0&&(a=t);const s=[],n=[];let r=0;for(const p of e)s[r]=a?a(p,r):r,n[r]=i(p,r),r++;return{values:n,keys:s}}render(e,t,i){return this.dt(e,t,i).values}update(e,[t,i,a]){const s=Y(e),{values:n,keys:r}=this.dt(t,i,a);if(!Array.isArray(s))return this.ut=r,n;const p=this.ut??(this.ut=[]),m=[];let b,y,c=0,u=s.length-1,o=0,h=n.length-1;for(;c<=u&&o<=h;)if(s[c]===null)c++;else if(s[u]===null)u--;else if(p[c]===r[o])m[o]=_(s[c],n[o]),c++,o++;else if(p[u]===r[h])m[h]=_(s[u],n[h]),u--,h--;else if(p[c]===r[h])m[h]=_(s[c],n[h]),w(e,m[h+1],s[c]),c++,h--;else if(p[u]===r[o])m[o]=_(s[u],n[o]),w(e,s[c],s[u]),u--,o++;else if(b===void 0&&(b=T(r,o,h),y=T(p,c,u)),b.has(p[c]))if(b.has(p[u])){const v=y.get(r[o]),$=v!==void 0?s[v]:null;if($===null){const C=w(e,s[c]);_(C,n[o]),m[o]=C}else m[o]=_($,n[o]),w(e,s[c],$),s[v]=null;o++}else P(s[u]),u--;else P(s[c]),c++;for(;o<=h;){const v=w(e,m[h+1]);_(v,n[o]),m[o++]=v}for(;c<=u;){const v=s[c++];v!==null&&P(v)}return this.ut=r,J(e,m),D}}),A={isRecipeDetailsVisible:{paramName:"displayRecipe",getValue:()=>{var t;const e=d.recipes.displayedRecipe$.value;return((t=e==null?void 0:e.recipe)==null?void 0:t.id)||null},openDrawer:e=>{d.recipes.openDetails(e)}},isBasketPreviewVisible:{paramName:"myMeals",getValue:()=>{const{activeTabIndex:e}=d.basket.basketPreviewState$.getValue();return e===1?"products":"recipes"},openDrawer:e=>{d.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:e==="products"?1:0})}}};function X(){return Object.values(A).map(e=>e.paramName)}function Re(){const e=new URL(window.location.href);for(const t of Object.values(A)){const i=e.searchParams.get(t.paramName);if(i&&t.openDrawer){t.openDrawer(i);return}}}function xe(e){e.subscribe(t=>{const i=new URL(window.location.href);X().forEach(s=>{i.searchParams.delete(s)});const a=A[t];if(a){const s=a.getValue();s&&i.searchParams.set(a.paramName,s)}window.history.replaceState({},"",i.toString())})}function ee(e){const t=new URL(window.location.href);t.searchParams.delete("myMeals"),e===0?t.searchParams.append("myMeals","recipes"):e===1&&t.searchParams.append("myMeals","products"),window.history.replaceState({},"",t.toString())}var te=Object.getOwnPropertyDescriptor,se=(e,t,i,a)=>{for(var s=a>1?void 0:a?te(t,i):t,n=e.length-1,r;n>=0;n--)(r=e[n])&&(s=r(s)||s);return s};let I=class extends R{constructor(){super(),this.priceService=N.getInstance(),this.subscriptions=[],this.recipePrices=[],this.recipePreviews=[],this.products=[],this.tabs=["Recettes","Produits"],this.selectedTabIndex=0,this.analyticsPath="/basket/recipes",this.drawerStoreIndicator=null,this.styleURL=new URL("./catalog/basket-preview/basket-preview.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.pageview(),this.listenToActiveTab(),this.listenToCloseEvent(),this.priceService.initFormatter(),this.noSupplier=d.supplier.isNoSupplier(),this.noSupplier&&this.appendStoreIndicatorToDrawerHeader(),this.updateRecipeView(),this.subscriptions.push(U.basket.recipeCount().subscribe(e=>{this.recipesCount=e,this.requestUpdate()}),d.basket.entries$().subscribe(e=>{this.products=e.filter(t=>t.attributes.status==="active"),this.requestUpdate()}),d.productAddition.productAdded$.pipe(F(200)).subscribe(e=>{this.selectedTabIndex=1,setTimeout(()=>this.scrollToAddedProduct(e),0),this.requestUpdate()}),d.basket.recipePricesInBasket$().subscribe(e=>{this.recipePrices=e,this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}updated(){this.drawerStoreIndicator&&this.drawerStoreIndicator.setAttribute("analyticsPath",this.analyticsPath)}render(){return l`
|
|
115
115
|
<div class="mealz-basket-preview">
|
|
116
116
|
${this.renderNbrMealsInBasket()}
|
|
117
117
|
${this.noSupplier||d.basket.displayProductsInBasket()?l`
|
|
@@ -137,10 +137,10 @@ import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/sl
|
|
|
137
137
|
<div class="mealz-basket-preview__products">
|
|
138
138
|
${Z(this.products,e=>e.id,(e,t)=>this.renderProductCard(e,t===this.products.length-1))}
|
|
139
139
|
</div>
|
|
140
|
-
`}renderProductCard(e,t=!1){if(e.selectedItem){const
|
|
140
|
+
`}renderProductCard(e,t=!1){if(e.selectedItem){const i=this.recipePreviews.reduce((a,s)=>(e.recipesIds.includes(+s.id)&&a.push(s.title),a),[]);return l`
|
|
141
141
|
<mealz-basket-preview-product
|
|
142
142
|
.basketEntry=${e}
|
|
143
|
-
.recipeNames=${
|
|
143
|
+
.recipeNames=${i}
|
|
144
144
|
.analyticsPath=${this.analyticsPath}
|
|
145
145
|
></mealz-basket-preview-product>
|
|
146
146
|
${t?k:l`
|
|
@@ -194,7 +194,7 @@ import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/sl
|
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
196
196
|
</div>
|
|
197
|
-
`}calculateTotalPrice(){var e;return(e=this.recipePrices)==null?void 0:e.reduce((t,
|
|
197
|
+
`}calculateTotalPrice(){var e;return(e=this.recipePrices)==null?void 0:e.reduce((t,i)=>t+ +i.price,0)}renderPlaceOrderFooter(){return l`
|
|
198
198
|
<div class="mealz-basket-preview__footer mealz-basket-preview__place-order-footer">
|
|
199
199
|
<div class="mealz-basket-preview__basket-price">
|
|
200
200
|
<span class="mealz-basket-preview__basket-price-label mealz-ds-text weight-xl size-l">
|
|
@@ -225,4 +225,4 @@ import"../../store-indicator/store-indicator.min.js";import"../../slider-tabs/sl
|
|
|
225
225
|
panier
|
|
226
226
|
</h2>
|
|
227
227
|
</div>
|
|
228
|
-
`}appendStoreIndicatorToDrawerHeader(){const e=document.querySelector("mealz-drawer"),t=document.querySelector("mealz-store-indicator");!e||t||(this.drawerStoreIndicator=document.createElement("mealz-store-indicator"),this.drawerStoreIndicator.setAttribute("analyticsPath",this.analyticsPath),e.appendToHeaderComponent(this.drawerStoreIndicator))}placeOrder(){d.basket.transfer()}recipeCardClick(e){d.recipes.openDetails(e.id,e.guests,this.analyticsPath)}removeRecipeClick(e){e.isGettingRemoved=!0,this.requestUpdate(),d.basket.removeRecipe(e.id,this.analyticsPath).subscribe(()=>{e.isGettingRemoved=!1,this.recipePreviews=this.recipePreviews.filter(t=>t.id!==e.id),this.requestUpdate()})}updateTabIndex(e){this.selectedTabIndex=e,ee(e),this.selectedTabIndex===0?(this.analyticsPath="/basket/recipes",this.updateRecipeView(),this.pageview()):(this.analyticsPath="/basket/products",this.pageview()),this.requestUpdate()}updateRecipeView(){this.subscriptions.push(d.basket.buildPreview().subscribe(e=>{e.map(t=>t.isGettingRemoved=!1),this.recipePreviews=e,this.requestUpdate()}))}scrollToAddedProduct(e){var
|
|
228
|
+
`}appendStoreIndicatorToDrawerHeader(){const e=document.querySelector("mealz-drawer"),t=document.querySelector("mealz-store-indicator");!e||t||(this.drawerStoreIndicator=document.createElement("mealz-store-indicator"),this.drawerStoreIndicator.setAttribute("analyticsPath",this.analyticsPath),e.appendToHeaderComponent(this.drawerStoreIndicator))}placeOrder(){d.basket.transfer()}recipeCardClick(e){d.recipes.openDetails(e.id,e.guests,this.analyticsPath)}removeRecipeClick(e){e.isGettingRemoved=!0,this.requestUpdate(),d.basket.removeRecipe(e.id,this.analyticsPath).subscribe(()=>{e.isGettingRemoved=!1,this.recipePreviews=this.recipePreviews.filter(t=>t.id!==e.id),this.requestUpdate()})}updateTabIndex(e){this.selectedTabIndex=e,ee(e),this.selectedTabIndex===0?(this.analyticsPath="/basket/recipes",this.updateRecipeView(),this.pageview()):(this.analyticsPath="/basket/products",this.pageview()),this.requestUpdate()}updateRecipeView(){this.subscriptions.push(d.basket.buildPreview().subscribe(e=>{e.map(t=>t.isGettingRemoved=!1),this.recipePreviews=e,this.requestUpdate()}))}scrollToAddedProduct(e){var i;const t=document.querySelector(`#mealz-basket-preview-product-${e}`);if(t)t.scrollIntoView({block:"center",behavior:"smooth"});else{const a=this.getElementsByTagName("MEALZ-BASKET-PREVIEW-PRODUCT");(i=a.item(a.length-1))==null||i.scrollIntoView({block:"center",behavior:"smooth"})}}listenToActiveTab(){this.subscriptions.push(d.basket.basketPreviewState$.subscribe(({activeTabIndex:e})=>{e!==void 0&&(this.selectedTabIndex=e)}))}listenToCloseEvent(){const e=document.querySelector("mealz-drawer");e&&e.addEventListener("drawerClosed",this.sendCloseEvent.bind(this))}isHidden(){return this.classList.contains("hidden")}pageview(){this.isHidden()||d.analytics.sendEvent("pageview",this.analyticsPath,{})}sendCloseEvent(){this.isHidden()||d.analytics.sendEvent("basket.close",this.analyticsPath,{})}};I=se([x("mealz-basket-preview")],I);customElements.get("mealz-basket-preview")||customElements.define("mealz-basket-preview",I);export{xe as l,Re as o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../basket-preview/basket-preview.min.js";import"../../drawer-view-swapper/drawer-view-swapper.min.js";import{N as n,m}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as l}from"../../assets/custom-element-BhZVzxrc.js";import"../../store-indicator/store-indicator.min.js";import"../../assets/store-locator-
|
|
1
|
+
import"../basket-preview/basket-preview.min.js";import"../../drawer-view-swapper/drawer-view-swapper.min.js";import{N as n,m}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as l}from"../../assets/custom-element-BhZVzxrc.js";import"../../store-indicator/store-indicator.min.js";import"../../assets/store-locator-Crx8huGH.js";import"../../assets/property-leIVgCvV.js";import"../../assets/state-CccUMzBZ.js";import"../../assets/query-BApjzB0v.js";import"../../slider-tabs/slider-tabs.min.js";import"../../counter/counter.min.js";import"../../assets/debounceTime-Bo5F3ux-.js";import"../../assets/async-D3oCs_PQ.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../price/price.min.js";import"../../assets/price-BoM226Kw.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../assets/delay-ILvLVH1b.js";import"../../assets/take-DO4w5a1Y.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/map-C4rf5Jbc.js";import"../../assets/mergeMap-buGewtOo.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/executeSchedule-DfyZaGAH.js";import"../../assets/timer-BOl4bYNY.js";import"../../drawer/drawer.min.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-DuMEda_n.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/filter-CEeE8t7I.js";import"../../assets/combineLatest-P4GAEtOW.js";import"../../assets/from-jBe2xW5a.js";import"../../assets/mapOneOrManyArgs-DNd_tswl.js";import"../../assets/of-BTA69Qgj.js";import"../../assets/tap-BCGrRktL.js";import"../../assets/recipe-BwGs-blm.js";import"../../assets/merge-C-u9uFzU.js";import"../../assets/product-card-DqcKyf1c.js";import"../../assets/promotion-badge-BwN2GpDz.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../../planner/planner-onboarding/planner-onboarding.min.js";import"../../onboarding/onboarding.min.js";import"../../planner/planner-catalog/planner-catalog.min.js";import"../catalog-load-more.min.js";import"../../assets/http-aOzufNsj.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-BkBiB4M3.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";var c=Object.getOwnPropertyDescriptor,u=(t,i,r,s)=>{for(var e=s>1?void 0:s?c(i,r):i,o=t.length-1,p;o>=0;o--)(p=t[o])&&(e=p(e)||e);return e};let a=class extends n{constructor(){super(...arguments),this.analyticsPath="",this.subscriptions=[]}connectedCallback(){super.connectedCallback(),this.subscriptions.push(mealz.basket.recipeCount().subscribe(t=>{this.recipesCount=t,this.updateDOM()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(t=>t.unsubscribe())}render(){var i;if(this.button=this.querySelector(".mealz-my-meals-button"),!this.button)return;const t=(i=this.attributes["starting-data"])==null?void 0:i.value;if(t){const{path:r}=JSON.parse(t);this.analyticsPath=r,this.removeAttribute("starting-data")}this.button.addEventListener("click",r=>{r.stopPropagation(),this.toggleBasketPreview()})}toggleBasketPreview(){this.sendBasketDisplayEvent(),m.basket.basketPreviewState$.next({isOpen:!0})}updateDOM(){var i;if(!this.button)return;this.recipesCount?this.button.classList.remove("hidden"):this.button.classList.add("hidden");const t=(i=this.button.querySelector(".mealz-my-meals-button__text"))==null?void 0:i.firstElementChild;t&&(t.innerHTML=`${this.recipesCount||0}`)}sendBasketDisplayEvent(){m.analytics.sendEvent("basket.display",this.analyticsPath,{})}};a=u([l("mealz-my-meals-button")],a);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-drawer.min.js";import{N as w,D as d,k as t,m as n,B as c,w as z}from"../assets/no-shadow-element-l9trQfcI.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{n as g}from"../assets/property-leIVgCvV.js";import"../recipe-details/recipe-details.min.js";import"../assets/store-locator-
|
|
1
|
+
import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-drawer.min.js";import{N as w,D as d,k as t,m as n,B as c,w as z}from"../assets/no-shadow-element-l9trQfcI.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{n as g}from"../assets/property-leIVgCvV.js";import"../recipe-details/recipe-details.min.js";import"../assets/store-locator-Crx8huGH.js";import"../planner/planner-catalog/planner-catalog.min.js";import"../replace-item/replace-item.min.js";import"../replace-item-planner/replace-item-planner.min.js";import"../history-drawer/history-drawer.min.js";import{o as k,l as R}from"../catalog/basket-preview/basket-preview.min.js";import{m as f}from"../assets/merge-C-u9uFzU.js";import{m as p}from"../assets/map-C4rf5Jbc.js";import"../assets/unsafe-html-CmALAWuN.js";import"../assets/state-CccUMzBZ.js";import"../assets/skipWhile-DuMEda_n.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/switchMap-D8q0hRYH.js";import"../assets/innerFrom-CfKCbnvr.js";import"../recipe-pricing/recipe-pricing.min.js";import"../assets/filter-CEeE8t7I.js";import"../assets/combineLatest-P4GAEtOW.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/of-BTA69Qgj.js";import"../assets/take-DO4w5a1Y.js";import"../assets/empty-Cv-4tfKR.js";import"../assets/tap-BCGrRktL.js";import"../assets/price-BoM226Kw.js";import"../assets/recipe-BwGs-blm.js";import"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/product-card-DqcKyf1c.js";import"../price/price.min.js";import"../assets/promotion-badge-BwN2GpDz.js";import"../assets/delay-ILvLVH1b.js";import"../assets/mergeMap-buGewtOo.js";import"../assets/timer-BOl4bYNY.js";import"../store-indicator/store-indicator.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"../planner/planner-onboarding/planner-onboarding.min.js";import"../onboarding/onboarding.min.js";import"../catalog/catalog-load-more.min.js";import"../assets/http-aOzufNsj.js";import"../replace-item/replace-item-card/replace-item-card.min.js";import"../assets/price-utils-BRFZa-3D.js";import"../assets/distinctUntilChanged-BkBiB4M3.js";import"../replace-item-planner/replace-item-card-planner/replace-item-card-planner.min.js";import"../slider-tabs/slider-tabs.min.js";import"../modal/modal.min.js";var C=Object.defineProperty,S=Object.getOwnPropertyDescriptor,V=(e,s,r,o)=>{for(var i=o>1?void 0:o?S(s,r):s,a=e.length-1,l;a>=0;a--)(l=e[a])&&(i=(o?l(s,r,i):l(i))||i);return o&&i&&C(s,r,i),i};let m=class extends w{constructor(){super(),this.styleURL=new URL("./recipe-details/sponsor-block/sponsor-block.css",this.getBaseURL())}render(){var b,$,y;if(!this.sponsorBlock)return d;const{pictureUrl:e,content:s,backgroundColor:r="#FFFFFF",fontSize:o=16,fontColor:i="#000000"}=this.sponsorBlock,a=(y=($=(b=this.sponsorBlock.relationships)==null?void 0:b["sponsor-block-type"])==null?void 0:$.data)==null?void 0:y.name;if(!a)return t``;const l=a.toLowerCase(),h=`background-color: ${r}; font-size: ${o}px; color: ${i};`;switch(a){case"TEXT":case"SMALL_TEXT":case"TITLE":case"SMALL_TITLE":return t`
|
|
2
2
|
<div class="sponsor-text-blocks sponsor-${l}-block" style="background-color: ${r};">
|
|
3
|
-
<span class="sponsor-${l}-block__text" style="font-size: ${
|
|
3
|
+
<span class="sponsor-${l}-block__text" style="font-size: ${a.includes("TITLE")?32:16}px; color: ${i};">
|
|
4
4
|
${s}
|
|
5
5
|
</span>
|
|
6
6
|
</div>`;case"LOGO":case"PICTURE":case"SMALL_PICTURE":return t`
|
|
@@ -23,7 +23,7 @@ import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-dra
|
|
|
23
23
|
${s}
|
|
24
24
|
</span>
|
|
25
25
|
<img class="sponsor-text-and-image-block__image" src="${e}">
|
|
26
|
-
</div>`;default:return d}}};V([g()],m.prototype,"sponsorBlock",2);m=V([v("mealz-sponsor-block")],m);customElements.get("mealz-sponsor-block")||customElements.define("mealz-sponsor-storytelling",m);var D=Object.getOwnPropertyDescriptor,I=(e,s,r,
|
|
26
|
+
</div>`;default:return d}}};V([g()],m.prototype,"sponsorBlock",2);m=V([v("mealz-sponsor-block")],m);customElements.get("mealz-sponsor-block")||customElements.define("mealz-sponsor-storytelling",m);var D=Object.getOwnPropertyDescriptor,I=(e,s,r,o)=>{for(var i=o>1?void 0:o?D(s,r):s,a=e.length-1,l;a>=0;a--)(l=e[a])&&(i=l(i)||i);return i};let P=class extends w{constructor(){super(),this.sponsorBlocks=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/recipe-addon/recipe-addon.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenToCloseEvent(),this.subscriptions.push(n.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.getSponsorBlocks())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}getSponsorBlocks(){var s,r;const e=(r=(s=this.recipe.relationships)==null?void 0:s.sponsors)==null?void 0:r.data[0];e&&this.subscriptions.push(n.sponsor.getSponsorBlocks(e.id).subscribe(o=>{o&&(this.sponsorBlocks=o,this.requestUpdate())}))}render(){var e;return t`
|
|
27
27
|
<div class="mealz-recipe-addon">
|
|
28
28
|
<div class="mealz-recipe-addon__header">
|
|
29
29
|
<button class="mealz-recipe-addon__header-back-button mealz-ds-button ghost" @click="${this.closeRecipeAddon}">
|
|
@@ -46,7 +46,7 @@ import"../drawer/drawer.min.js";import"../store-locator-drawer/store-locator-dra
|
|
|
46
46
|
${this.sponsorBlocks.map(r=>t`
|
|
47
47
|
<mealz-sponsor-block .sponsorBlock=${r}></mealz-sponsor-block>
|
|
48
48
|
`)}
|
|
49
|
-
`}listenToCloseEvent(){document.querySelector("mealz-drawer").addEventListener("drawerClosed",()=>{this.closeRecipeAddon()})}closeRecipeAddon(){const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayRecipeAddon$.next(!1)}};P=I([v("mealz-recipe-addon")],P);var L=Object.defineProperty,x=Object.getOwnPropertyDescriptor,_=(e,s,r,
|
|
49
|
+
`}listenToCloseEvent(){document.querySelector("mealz-drawer").addEventListener("drawerClosed",()=>{this.closeRecipeAddon()})}closeRecipeAddon(){const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayRecipeAddon$.next(!1)}};P=I([v("mealz-recipe-addon")],P);var L=Object.defineProperty,x=Object.getOwnPropertyDescriptor,_=(e,s,r,o)=>{for(var i=o>1?void 0:o?x(s,r):s,a=e.length-1,l;a>=0;a--)(l=e[a])&&(i=(o?l(s,r,i):l(i))||i);return o&&i&&L(s,r,i),i};let u=class extends w{constructor(){super(),this.displayBasketPreview=!1,this.displayProductAddition=!1,this.displayReplaceProduct=!1,this.displayPreferences$=new c(!1),this.displayStoreLocator$=new c(!1),this.displayRecipeAddon$=new c(!1),this.displayPlannerCatalog$=new c(!1),this.displayHistoryDrawer$=new c(null),this.currentView$=new c(void 0),this.subscriptions=[],this.scrollPositions=new Map,this.viewSelector=[{isStoreLocatorVisible:()=>this.displayStoreLocator$.value},{isRecipeAddonVisible:()=>this.displayRecipeAddon$.value},{isReplaceItemVisible:()=>!!this.displayReplaceItem},{isReplaceItemPlannerVisible:()=>!!this.displayReplaceItemPlanner},{isRecipeDetailsVisible:()=>!!this.displayedRecipeDetails},{isBasketPreviewVisible:()=>this.displayBasketPreview},{isProductAdditionVisible:()=>this.displayProductAddition},{isReplaceProductVisible:()=>this.displayReplaceProduct},{isPlannerCatalogVisible:()=>this.displayPlannerCatalog$.value},{isHistoryDrawerVisible:()=>!!this.displayHistoryDrawer$.value},{isPreferencesVisible:()=>this.displayPreferences$.value}],this.styleURL=new URL("./drawer-view-swapper/drawer-view-swapper.css",this.getBaseURL()),k(),R(this.currentView$)}connectedCallback(){super.connectedCallback(),this.waitForSDKAndSetup()}waitForSDKAndSetup(){try{z().then(()=>{this.setupSubscriptions()})}catch(e){console.error("Error waiting for MealzInternal SDK:",e)}}setupSubscriptions(){this.subscriptions.push(f(n.pos.currentPos().pipe(p(e=>{this.pos=e,this.noSupplier=n.supplier.isNoSupplier()})),n.recipes.displayedRecipe$.pipe(p(e=>{this.displayedRecipeDetails=e,this.noSupplier&&!this.pos&&e&&this.displayStoreLocator$.next(!0)})),f(n.replaceItem.basketEntryToReplace$.pipe(p(e=>e||{displayReplaceItem:void 0})),n.replaceItem.replaceProductFromPreviewOpen$.pipe(p(e=>e?{basketEntry:e}:{displayReplaceItem:void 0})),n.replaceItem.additionModalOpen$.pipe(p(e=>e?{addProductMode:!0}:{displayReplaceItem:void 0}))).pipe(p(e=>{this.displayReplaceItem="displayReplaceItem"in e?void 0:e})),n.basket.basketPreviewState$.pipe(p(({isOpen:e})=>this.displayBasketPreview=e)),n.planner.itemToReplace$.pipe(p(e=>this.displayReplaceItemPlanner=e)),this.displayRecipeAddon$,this.displayStoreLocator$,this.displayPlannerCatalog$,this.displayHistoryDrawer$,this.displayPreferences$).subscribe(()=>{this.findView(),this.requestUpdate()}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}getDrawerContentContainer(){return this.querySelector(".mealz-drawer__content-container")}findView(){const e=this.getNextViewName();e!==this.currentView$.value?(this.saveCurrentScrollPosition(),this.currentView$.next(e),this.requestUpdate(),e?this.restoreScrollPosition(e):this.resetScrollPositions()):this.currentView$.next(e)}getNextViewName(){for(const e of this.viewSelector){const[s,r]=Object.entries(e)[0];if(r())return s}}saveCurrentScrollPosition(){if(this.currentView$.value){const e=this.getDrawerContentContainer();e&&this.scrollPositions.set(this.currentView$.value,e.scrollTop)}}restoreScrollPosition(e){requestAnimationFrame(()=>{const s=this.getDrawerContentContainer();s&&this.scrollPositions.has(e)&&(s.scrollTop=this.scrollPositions.get(e)??0)})}resetScrollPositions(){this.scrollPositions.clear()}render(){return t`
|
|
50
50
|
<div class="mealz-drawer-view-swapper">${this.drawerIsOpen()?this.displayDrawer():d}</div>`}drawerIsOpen(){return this.currentView$.value!==void 0}closeDrawer(){n.recipes.displayedRecipe$.next(null),n.basket.basketPreviewState$.next({isOpen:!1}),this.displayPlannerCatalog$.next(!1),this.displayPreferences$.next(!1)}displayDrawer(){return this.drawerIsOpen()?t`
|
|
51
51
|
<mealz-drawer @drawerClosed=${this.closeDrawer}
|
|
52
52
|
.titleSlot=
|
package/dist/modal/modal.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{N as m,k as
|
|
1
|
+
import{N as m,k as h}from"../assets/no-shadow-element-l9trQfcI.js";import{t as p}from"../assets/custom-element-BhZVzxrc.js";import{n as d}from"../assets/property-leIVgCvV.js";import{a as c}from"../assets/unsafe-html-CmALAWuN.js";var v=Object.defineProperty,u=Object.getOwnPropertyDescriptor,i=(r,o,s,l)=>{for(var e=l>1?void 0:l?u(o,s):o,a=r.length-1,n;a>=0;a--)(n=r[a])&&(e=(l?n(o,s,e):n(e))||e);return l&&e&&v(o,s,e),e};let t=class extends m{constructor(){super(),this.styleURL=new URL("./modal/modal.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.createCloseEvent(),this.addEventListener("onboardingConfirmed",this.closeModal)}disconnectedCallback(){this.closeEvent=null,this.removeEventListener("onboardingConfirmed",this.closeModal),super.disconnectedCallback()}createCloseEvent(){this.closeEvent=new CustomEvent("modalClosed",{bubbles:!0,composed:!0})}render(){return h`
|
|
2
2
|
<div @click=${()=>this.closeModal()} class="mealz-shadow-overlay"></div>
|
|
3
3
|
<div class="mealz-modal">
|
|
4
4
|
<div class="mealz-modal__header">
|
|
5
5
|
<div class="mealz-modal__title mealz-ds-text weight-xxl">
|
|
6
|
-
${typeof this.titleSlot=="string"?
|
|
6
|
+
${typeof this.titleSlot=="string"?c(this.titleSlot):this.titleSlot}
|
|
7
7
|
</div>
|
|
8
8
|
<button @click=${()=>this.closeModal()}
|
|
9
9
|
class="mealz-modal__close-icon mealz-ds-button square small">
|
|
@@ -12,7 +12,7 @@ import{N as m,k as v}from"../assets/no-shadow-element-l9trQfcI.js";import{t as h
|
|
|
12
12
|
</button>
|
|
13
13
|
</div>
|
|
14
14
|
<div class="mealz-modal__content-container">
|
|
15
|
-
${typeof this.contentSlot=="string"?
|
|
15
|
+
${typeof this.contentSlot=="string"?c(this.contentSlot):this.contentSlot}
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
18
|
-
`}closeModal(){this.dispatchEvent(this.closeEvent),this.remove()}};
|
|
18
|
+
`}closeModal(){this.dispatchEvent(this.closeEvent),this.remove()}openOnboardingModal(){this.titleSlot="Comment faire un menu ?",this.contentSlot="<mealz-planner-onboarding-modal></mealz-planner-onboarding-modal>",document.body.appendChild(this)}};i([d({type:String})],t.prototype,"titleSlot",2);i([d({type:String})],t.prototype,"contentSlot",2);t=i([p("mealz-modal")],t);customElements.get("mealz-modal")||customElements.define("mealz-modal",t);export{t as M};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mealz-onboarding-overlay{position:fixed;z-index:calc(var(--m-z-index-modal-overlay) - 1);top:0;left:0;width:100vw;height:100dvh;-webkit-tap-highlight-color:transparent;opacity:0;animation:fadeIn .3s ease-in-out forwards}@keyframes fadeIn{to{opacity:1}}.mealz-onboarding-stage{position:fixed;box-shadow:0 0 0 9999px var(--mealz-ds-color-neutral-black, #0F191F);opacity:0;border-radius:12px;outline-offset:0;z-index:10001;pointer-events:none;animation:fadeInStage .3s ease-in-out forwards;transition:all .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeInStage{to{opacity:.7}}.mealz-onboarding-highlight{position:relative;z-index:10002}.mealz-onboarding-popover{position:fixed;top:auto;bottom:110px;left:50%;transform:translate(-50%) translateY(20px);background-color:var(--mealz-ds-color-neutral-white, #fff);padding:24px;border-radius:16px;min-width:336px;width:336px;box-shadow:0 8px 24px #1018282e;z-index:10003;opacity:0;animation:slideUpFadeIn .3s ease-in-out forwards}@keyframes slideUpFadeIn{to{opacity:1;transform:translate(-50%) translateY(0)!important}}.mealz-onboarding-popover__no-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}@media (max-width: 768px){.mealz-onboarding-popover{width:100%}.mealz-onboarding-popover .mealz-onboarding-popover__footer-button{width:100%;flex:1}}.mealz-onboarding-popover .mealz-onboarding-popover__header{display:flex;justify-content:space-between;align-items:center}.mealz-onboarding-popover .mealz-onboarding-popover__header>*:not(:last-child){margin-right:8px}.mealz-onboarding-popover .mealz-onboarding-popover__content{padding:24px 0}.mealz-onboarding-popover .mealz-onboarding-popover__footer{display:flex;justify-content:space-between;align-items:center}.mealz-onboarding-popover .mealz-onboarding-popover__footer>*:not(:last-child){margin-right:24px}.mealz-onboarding-popover .mealz-onboarding-popover__footer-centered{justify-content:center}.mealz-onboarding-popover__progress{--progress: calc(var(--value) / var(--total) * 360deg);width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--mealz-ds-color-primary, #24748F) var(--progress),var(--mealz-ds-color-primary-100, #E4EAEC) 0deg);display:grid;place-items:center}.mealz-onboarding-popover__progress-inner{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}.mealz-onboarding-popover__progress-inner span{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.7}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{N as m,k as h}from"../assets/no-shadow-element-l9trQfcI.js";import{t as v}from"../assets/custom-element-BhZVzxrc.js";import{n as d}from"../assets/property-leIVgCvV.js";import{r as c}from"../assets/state-CccUMzBZ.js";import{e as u}from"../assets/query-BApjzB0v.js";var f=Object.defineProperty,b=Object.getOwnPropertyDescriptor,l=(t,e,o,r)=>{for(var i=r>1?void 0:r?b(e,o):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(i=(r?a(e,o,i):a(i))||i);return r&&i&&f(e,o,i),i};let s=class extends m{constructor(t){super(),this.isTourActive=!1,this.stepIndex=0,this.popoverTitle="",this.popoverDescription="",this.steps=[],this.showProgress=!0,this.bottomMargin=110,this.highlightedElement=null,this.isThrottling=!1,this.originalBodyOverflow=null,this.originalDrawerOverflow=null,this.drawerContainer=null,this.drawerScrollTimeout=null,this.cachedChildren=[],this.cachedRootElement=null,this.focusableSelector='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',this.boundThrottledStageUpdate=this.throttledStageUpdate.bind(this),this.boundHandleDocumentClick=this.handleDocumentClick.bind(this),this.boundHandleKeydown=this.handleKeydown.bind(this),this.boundPreventScroll=this.preventScroll.bind(this),this.boundOnDrawerScroll=this.onDrawerScroll.bind(this),this.configurations=t,this.styleURL=new URL("./onboarding/onboarding.css",this.getBaseURL())}get currentStep(){return this.steps[this.stepIndex]}disconnectedCallback(){super.disconnectedCallback(),this.removeHighlight(),this.disableHoverBlock(),this.bindGlobalEvents(!1)}startOnboardingTour(){!this.steps||this.steps.length===0||(this.stepIndex=0,this.applyCurrentStep(),this.isTourActive=!0,this.bindGlobalEvents(!0),this.focusPopoverAsync(),this.lockScroll())}endOnboardingTour(){var t;this.removeHighlight(),this.disableHoverBlock(),this.isTourActive=!1,this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""}),this.bindGlobalEvents(!1),(t=this.triggerButton)==null||t.focus(),this.unlockScroll(),this.dispatchEvent(new CustomEvent("onboarding-closed"))}shouldShowProgress(){return this.showProgress}render(){return this.isTourActive?h`
|
|
2
|
+
<div class="mealz-onboarding-overlay" aria-hidden="true"></div>
|
|
3
|
+
<div class="mealz-onboarding-stage" aria-hidden="true" @click=${()=>this.goToNextStep()}></div>
|
|
4
|
+
<div class="mealz-onboarding-popover ${this.bottomMargin===0?"mealz-onboarding-popover__no-bottom-radius":""}"
|
|
5
|
+
style="bottom: ${this.bottomMargin}px !important;"
|
|
6
|
+
role="dialog"
|
|
7
|
+
aria-modal="true"
|
|
8
|
+
tabindex="-1"
|
|
9
|
+
aria-labelledby=${this.popoverTitle}
|
|
10
|
+
aria-describedby=${this.popoverDescription}
|
|
11
|
+
>
|
|
12
|
+
<div class="mealz-onboarding-popover__header">
|
|
13
|
+
${this.popoverTitleTemplate()}
|
|
14
|
+
<button aria-label="Fermer le tutoriel" @click=${()=>this.endOnboardingTour()}
|
|
15
|
+
class="mealz-ds-button square small">
|
|
16
|
+
<img src="https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_Black.svg" alt="">
|
|
17
|
+
</button>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="mealz-onboarding-popover__content">
|
|
20
|
+
${this.popoverDescriptionTemplate()}
|
|
21
|
+
</div>
|
|
22
|
+
<div class="mealz-onboarding-popover__footer ${this.shouldShowProgress()?"":"mealz-onboarding-popover__footer-centered"}">
|
|
23
|
+
${this.shouldShowProgress()?h`
|
|
24
|
+
<div class="mealz-onboarding-popover__progress"
|
|
25
|
+
style="--value:${this.stepIndex+1}; --total:${this.steps.length}">
|
|
26
|
+
<div class="mealz-onboarding-popover__progress-inner">
|
|
27
|
+
<span class="mealz-ds-text size-s weight-xl">${this.stepIndex+1}/${this.steps.length}</span>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
`:null}
|
|
31
|
+
${this.popoverNextButtonTemplate()}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
`:null}popoverTitleTemplate(){return this.popoverTitle?h`<span class="mealz-ds-text weight-xxl size-m">${this.popoverTitle}</span>`:null}popoverDescriptionTemplate(){return this.popoverDescription?h`<div class="mealz-ds-text size-m" .innerHTML=${this.popoverDescription}></div>`:null}popoverNextButtonTemplate(){return h`
|
|
35
|
+
<button class="mealz-onboarding-popover__footer-button mealz-ds-button primary"
|
|
36
|
+
@click=${()=>this.goToNextStep()}>
|
|
37
|
+
<span class="mealz-ds-text size-m">
|
|
38
|
+
${this.isFinalStep()?"J'ai compris":"Suivant"}
|
|
39
|
+
</span>
|
|
40
|
+
</button>
|
|
41
|
+
`}isFinalStep(){return this.stepIndex>=this.steps.length-1}goToNextStep(){if(this.isFinalStep())return this.endOnboardingTour();this.disableHoverBlock(),this.stepIndex+=1,this.applyCurrentStep()}applyCurrentStep(){var o;if(this.removeHighlight(),!this.currentStep)return;const t=this.getCurrentElement();t&&(this.highlightedElement=t,t.classList.add("mealz-onboarding-highlight"),!this.isElementFullyVisible(t)&&t.tagName.toLowerCase()!=="div"&&t.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}),requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition()}));const e=((o=this.currentStep)==null?void 0:o.popover)||{};this.popoverTitle=e.title||"",this.popoverDescription=e.description||"",this.enableHoverBlock(),this.focusPopoverAsync()}getCurrentElement(){var e;const t=(e=this.currentStep)==null?void 0:e.element;try{if(typeof t=="string"){const o=document.querySelector(t);if(o&&this.isElementFullyVisible(o))return o;const r=Array.from(document.querySelectorAll(t));return r.length===0?null:r.find(n=>this.isElementFullyVisible(n))||r[0]||null}return t||null}catch(o){return console.warn("Failed to get element for onboarding:",o),null}}isElementFullyVisible(t){if(!(t instanceof HTMLElement))return!1;const e=t.getBoundingClientRect();return e.top>=0&&e.bottom<=window.innerHeight}resetStageElement(){this.stageElement&&Object.assign(this.stageElement.style,{top:"",left:"",width:"",height:""})}updateStagePosition(){if(!this.stageElement)return;const t=this.highlightedElement;if(!t){this.resetStageElement();return}const e=10,o=t.getBoundingClientRect(),r={top:0,left:0,right:window.innerWidth,bottom:window.innerHeight},i={top:Math.max(o.top,r.top),bottom:Math.min(o.bottom,r.bottom),left:Math.max(o.left,r.left),right:Math.min(o.right,r.right)};if(this.applyClippingElements(t,i),i.top>=i.bottom||i.left>=i.right){this.resetStageElement();return}Object.assign(this.stageElement.style,{position:"fixed",top:`${i.top-e}px`,left:`${i.left-e}px`,width:`${i.right-i.left+e*2}px`,height:`${i.bottom-i.top+e*2}px`})}applyClippingElements(t,e){[".mealz-planner-current-menu__footer"].forEach(r=>{var a,p;const i=document.querySelector(r);if(!i||!((a=i.parentElement)!=null&&a.contains(t))||(p=t.parentElement)!=null&&p.contains(i))return;const n=i.getBoundingClientRect();n.top<e.bottom&&n.bottom>e.top&&(e.bottom=Math.min(e.bottom,n.top))})}throttledStageUpdate(){this.isThrottling||(this.isThrottling=!0,requestAnimationFrame(()=>{this.updateStagePosition(),this.updatePopoverPosition(),this.isThrottling=!1}))}updatePopoverPosition(){var p,g;if(!this.popoverElement||!((g=(p=this.currentStep)==null?void 0:p.popover)!=null&&g.overElement))return;let t=null;const e=this.currentStep.popover.overElement;if(typeof e=="string"?t=document.querySelector(e):e instanceof HTMLElement&&(t=e),!t)return;const o=t.getBoundingClientRect(),r=this.currentStep.popover.spacerTop??0,i=this.currentStep.popover.spacerLeft??0,n=this.currentStep.popover.spacerRight??0,a=this.currentStep.popover.spacerBottom??0;this.popoverElement.style.top=`${o.top}px`,this.popoverElement.style.left=`${o.left}px`,this.popoverElement.style.right="initial",this.popoverElement.style.bottom="initial",this.popoverElement.style.transform="initial",n&&(this.popoverElement.style.left="initial",this.popoverElement.style.right=`${o.right+n}px`),a&&(this.popoverElement.style.top="initial",this.popoverElement.style.bottom=`${o.bottom+a}px`),r&&(this.popoverElement.style.top=`${o.top+r}px`),i&&(this.popoverElement.style.left=`${o.left+i}px`)}onDrawerScroll(){this.drawerScrollTimeout&&clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=window.setTimeout(()=>{this.updateStagePosition()},120)}handleKeydown(t){this.isTourActive&&(t.key==="Escape"&&this.endOnboardingTour(),t.key==="Tab"&&this.popoverElement&&this.trapFocusWithinPopover(t))}handleDocumentClick(t){!this.isTourActive||t.target.closest(".mealz-onboarding-popover")||(t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),this.goToNextStep())}getDrawerContainer(){return this.drawerContainer||(this.drawerContainer=document.querySelector(".mealz-drawer__content-container")),this.drawerContainer}preventScroll(t){t.preventDefault(),t.stopPropagation()}lockScroll(){this.originalBodyOverflow===null&&(this.originalBodyOverflow=document.body.style.overflow||""),document.body.style.overflow="hidden";const t=this.getDrawerContainer();t&&(this.originalDrawerOverflow===null&&(this.originalDrawerOverflow=t.style.overflow||""),t.style.overflow="hidden")}unlockScroll(){this.originalBodyOverflow!==null&&(document.body.style.overflow=this.originalBodyOverflow,this.originalBodyOverflow=null);const t=this.getDrawerContainer();t&&this.originalDrawerOverflow!==null&&(t.style.overflow=this.originalDrawerOverflow,this.originalDrawerOverflow=null)}enableHoverBlock(){this.getCurrentElement()&&this.toggleHoverBlock("none","default")}disableHoverBlock(){this.getCurrentElement()&&this.toggleHoverBlock("auto","")}toggleHoverBlock(t,e){const o=this.getCurrentElement();o&&(o.style.pointerEvents=t,o.style.cursor=e,(this.cachedRootElement!==o||this.cachedChildren.length===0)&&(this.cachedRootElement=o,this.cachedChildren=Array.from(o.querySelectorAll("*"))),this.cachedChildren.forEach(r=>{r.style.pointerEvents=t,r.style.cursor=e}))}removeHighlight(){this.highlightedElement&&(this.highlightedElement.classList.remove("mealz-onboarding-highlight"),this.highlightedElement=null)}getConfig(t){return this.configurations[t]||this.configurations.guide}hasSeenOnboarding(t){const e=this.getConfig(t);return e.localStorageKey?localStorage.getItem(e.localStorageKey)==="true":!1}markOnboardingAsSeen(t){const e=this.getConfig(t);e.localStorageKey&&localStorage.setItem(e.localStorageKey,"true")}bindGlobalEvents(t){var o;const e=t?"addEventListener":"removeEventListener";window[e]("scroll",this.boundThrottledStageUpdate,!0),window[e]("resize",this.boundThrottledStageUpdate,!0),window[e]("wheel",this.boundPreventScroll,{passive:!1,capture:!0}),window[e]("touchmove",this.boundPreventScroll,{passive:!1,capture:!0}),document[e]("click",this.boundHandleDocumentClick,!0),document[e]("keydown",this.boundHandleKeydown,!0),this.drawerContainer=this.getDrawerContainer(),(o=this.drawerContainer)==null||o[e]("scroll",this.boundOnDrawerScroll,{passive:!0}),t||(this.drawerContainer=null,this.drawerScrollTimeout&&(clearTimeout(this.drawerScrollTimeout),this.drawerScrollTimeout=null))}focusPopoverAsync(){this.updateComplete.then(()=>{if(!this.popoverElement)return;const t=this.popoverElement.querySelector(".mealz-onboarding-popover__footer button");if(t){t.focus({preventScroll:!0});return}})}trapFocusWithinPopover(t){if(!this.popoverElement)return;const e=this.popoverElement.querySelectorAll(this.focusableSelector),o=e[0],r=e[e.length-1],i=document.activeElement;if(!(!!i&&this.popoverElement.contains(i))){t.preventDefault(),(o||this.popoverElement).focus();return}if(t.shiftKey&&i===o){t.preventDefault(),(r||this.popoverElement).focus();return}!t.shiftKey&&i===r&&(t.preventDefault(),(o||this.popoverElement).focus())}};l([c()],s.prototype,"isTourActive",2);l([c()],s.prototype,"stepIndex",2);l([c()],s.prototype,"popoverTitle",2);l([c()],s.prototype,"popoverDescription",2);l([u(".mealz-onboarding-stage")],s.prototype,"stageElement",2);l([u(".mealz-onboarding-popover")],s.prototype,"popoverElement",2);l([u('button[aria-label="Start onboarding"]')],s.prototype,"triggerButton",2);l([d({type:Array})],s.prototype,"steps",2);l([d({type:Boolean})],s.prototype,"showProgress",2);l([d({type:Number})],s.prototype,"bottomMargin",2);s=l([v("mealz-onboarding")],s);export{s as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__menu-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-catalog-toolbar__loader{position:relative;top:-10px}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__menu-badge{right:8px;background-color:var(--mealz-ds-color-danger-500, #E02D2D)}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-catalog-toolbar__loader{right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;height:80vh}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-content{flex-grow:1;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-content::-webkit-scrollbar{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts .mealz-planner-current-menu__menu-subtitle{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.7}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-recipes{margin-bottom:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:8px 16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras{padding:16px;margin-bottom:24px;background-color:var(--mealz-ds-color-primary-100, #E4EAEC)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices{display:flex;overflow-x:scroll;scrollbar-width:none;-ms-overflow-style:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>*:not(:last-child){margin-right:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>*{display:flex;flex-direction:column;align-items:flex-start;width:min-content;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>* img{margin-bottom:4px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices::-webkit-scrollbar{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras>*:not(:last-child){margin-bottom:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;position:relative;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1023px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:375px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 375px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,166px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:166px;height:224px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer{flex-direction:column-reverse;padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}}@media (max-width: 850px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:320px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 320px)}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header{display:flex;justify-content:space-between;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
|
|
1
|
+
.mealz-planner-current-menu{color:var(--miam-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-breadcrumb{margin:0}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu{display:flex}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__menu-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-catalog-toolbar__loader{position:relative;top:-10px}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__menu-badge{right:8px;background-color:var(--mealz-ds-color-danger-500, #E02D2D)}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-planner-current-menu__preferences-badge,.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .mealz-catalog-toolbar__loader{right:12px}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header .mealz-planner-current-menu__mobile-preferences-and-menu .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content{display:flex;height:80vh}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:480px;flex-shrink:0}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{position:relative;width:calc(100% - 480px);flex-grow:1;display:flex;flex-direction:column;height:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-content{flex-grow:1;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-content::-webkit-scrollbar{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:24px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts{display:flex;flex-direction:column}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-texts .mealz-planner-current-menu__menu-subtitle{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.7}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-actions{display:flex;align-items:center}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences{height:100%;margin-left:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){text-decoration:none;display:flex;gap:4px;padding:8px 12px;background:var(--mealz-ds-color-primary-100, #E4EAEC);border-radius:90px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences img{width:16px;height:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-recipes{margin-bottom:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu{display:flex;justify-content:center;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu.hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button{display:flex;align-items:center;justify-content:center;padding:8px 16px;border:none;background:none;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__cancel-menu .mealz-planner-current-menu__cancel-menu-button .mealz-planner-current-menu__cancel-menu-text{color:var(--mealz-ds-color-neutral-black, #0F191F);opacity:.5;margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras{padding:16px;margin-bottom:24px;background-color:var(--mealz-ds-color-primary-100, #E4EAEC)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices{display:flex;overflow-x:scroll;scrollbar-width:none;-ms-overflow-style:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>*:not(:last-child){margin-right:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>*{display:flex;flex-direction:column;align-items:flex-start;width:min-content;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices>* img{margin-bottom:4px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras .mealz-planner-current-menu__meal-extras-choices::-webkit-scrollbar{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__meal-extras>*:not(:last-child){margin-bottom:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;position:relative;width:100%;bottom:0;padding:24px;box-sizing:border-box;background:#fff;box-shadow:0 -2px 8px #0f191f1f}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-budget{display:flex;flex:1;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{height:fit-content}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button.disabled{color:var(--mealz-ds-color-neutral-500, #8C96A2);cursor:auto}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button .hidden{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button>*:not(:last-child){margin-right:4px}.mealz-planner-current-menu .mealz-planner-current-menu__badges{display:flex;justify-content:center;align-items:center;height:18px;width:18px;color:var(--mealz-ds-color-neutral-white, #fff);border-radius:50%}.mealz-planner-current-menu .mealz-planner-current-menu__preferences-badge{flex-shrink:0;background-color:var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader .mealz-loader{margin:0;height:18px;width:18px;border-top:5px solid var(--mealz-ds-color-neutral-black, #0F191F)}.mealz-planner-current-menu .mealz-catalog-toolbar__loader.hidden{display:none}@media (max-width: 1023px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:375px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 375px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,166px)}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:166px;height:224px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content{padding:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu .mealz-planner-recipe-card__content .mealz-planner-recipe-card__remove-button{right:8px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer{flex-direction:column-reverse;padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-budget-gauge{margin-right:0;margin-bottom:16px;align-items:center}}@media (max-width: 850px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:320px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{width:calc(100% - 320px)}}@media (max-width: 768px){.mealz-planner-current-menu .mealz-breadcrumb{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__mobile-header{display:flex;justify-content:space-between;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe{width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__recipe .mealz-planner-recipe-suggestion__infos-and-actions{padding:24px 16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu{display:none;width:100%}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top{padding:16px}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__menu-header-preferences:not(.ghost):not(.hidden){display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-current-menu__menu-header .mealz-planner-current-menu__onboarding-button{display:none}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__menu-top .mealz-planner-recipe-list{justify-content:center}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-current-menu__footer .mealz-planner-current-menu__footer-button{width:100%}}@media (max-width: 425px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,calc((100% - 8px)/2))}.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-card,.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list .mealz-planner-recipe-list__add-to-menu{width:100%;height:224px}}@media (max-width: 375px){.mealz-planner-current-menu .mealz-planner-current-menu__content .mealz-planner-current-menu__menu .mealz-planner-recipe-list{grid-template-columns:repeat(auto-fill,100%)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../drawer-view-swapper/drawer-view-swapper.min.js";import"../../slider-tabs/slider-tabs.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{M as d}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as u}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{N as m,B as h,m as s}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as g}from"../../assets/custom-element-BhZVzxrc.js";import{t as o}from"../../assets/take-DO4w5a1Y.js";import{f}from"../../assets/filter-CEeE8t7I.js";import{m as l}from"../../assets/map-C4rf5Jbc.js";import{c as b}from"../../assets/combineLatest-P4GAEtOW.js";import"../../drawer/drawer.min.js";import"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/state-CccUMzBZ.js";import"../../assets/skipWhile-DuMEda_n.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/from-jBe2xW5a.js";import"../../assets/executeSchedule-DfyZaGAH.js";import"../../assets/mapOneOrManyArgs-DNd_tswl.js";import"../../assets/of-BTA69Qgj.js";import"../../assets/tap-BCGrRktL.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/price-BoM226Kw.js";import"../../assets/recipe-BwGs-blm.js";import"../../assets/merge-C-u9uFzU.js";import"../../assets/mergeMap-buGewtOo.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/debounceTime-Bo5F3ux-.js";import"../../assets/async-D3oCs_PQ.js";import"../../assets/product-card-DqcKyf1c.js";import"../../price/price.min.js";import"../../assets/promotion-badge-BwN2GpDz.js";import"../../assets/delay-ILvLVH1b.js";import"../../assets/timer-BOl4bYNY.js";import"../../store-indicator/store-indicator.min.js";import"../../assets/store-locator-m8sx3XDc.js";import"../../last-order-badge/last-order-badge.min.js";import"../../order-again/order-again.min.js";import"../../like-button/like-button.min.js";import"../../last-order-modal/last-order-modal.min.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-aOzufNsj.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-BkBiB4M3.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"../../catalog/basket-preview/basket-preview.min.js";import"../../modal/modal.min.js";var y=Object.getOwnPropertyDescriptor,B=(e,t,n,r)=>{for(var i=r>1?void 0:r?y(t,n):t,a=e.length-1,p;a>=0;a--)(p=e[a])&&(i=p(i)||i);return i};let c=class extends m{constructor(){super(...arguments),this.wasDesktop=window.innerWidth>768,this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new h(!1),this.subscriptions=[]}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayMenuButton:".mealz-planner-current-menu__mobile-menu-button",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",returnButton:".mealz-planner-current-menu__mobile-return-button",preferencesButton:".mealz-planner-current-menu__menu-header-preferences",preferencesMobileButton:".mealz-planner-current-menu__mobile-preferences-button",cancelMenuButton:".mealz-planner-current-menu__cancel-menu-button",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",recipeCounterBadge:".mealz-planner-current-menu__menu-badge",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],mealExtras:[".mealz-planner-current-menu__meal-extras-choice"]}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners(),this.handleResize(),window.addEventListener("resize",()=>this.handleResize()),s.recipes.setIsRecipeDetailsFromPlanner(!0),this.setDefaultMobileView(),this.subscriptions.push(s.preferences.preferencesCount().subscribe(e=>this.updatePreferencesCount(e))),this.updateRecipeCounterBadge(this.nbrRecipeInMenu)}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"))}addEventListeners(){this.addClickListener("displayMenuButton",()=>{this.toggleMobileView(!0)}),this.addClickListener("displayRecipeButton",()=>{this.toggleMobileView(!1)}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",this.cancelMenu.bind(this)),this.addClickListener("footerButton",()=>{this.handleMenu()});const{mealExtras:e}=this.elements;e==null||e.forEach(t=>{t.addEventListener("click",this.openCatalogSelection.bind(this))})}toggleMobileView(e){const{recipe:t,menu:n,displayMenuButton:r,displayRecipeButton:i,returnButton:a}=this.elements;!t||!n||!r||!i||!a||(t.style.display=e?"none":"block",n.style.display=e?"flex":"none",r.style.display=e?"none":"flex",i.style.display=e?"block":"none",a.style.display=e?"none":"block")}setDefaultMobileView(){window.innerWidth<=768&&!this.wasDesktop&&this.toggleMobileView(!0)}handleResize(){const{menu:e,recipe:t}=this.elements;if(!e||!t)return;const n=window.innerWidth>768;n?(e.style.display="flex",t.style.display="block"):this.wasDesktop&&this.toggleMobileView(!1),this.wasDesktop=n}async openPreferences(){const e=document.querySelector("mealz-drawer-view-swapper");e.displayPreferences$.next(!0),await e.updateComplete}updatePreferencesCount(e){const{preferencesCounterBadges:t}=this.elements;t&&t.forEach(n=>{const r=n.querySelector("p");r.textContent=e.toString(),n.classList.toggle("hidden",e===0)})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const n=t.querySelector("p");n.textContent=e.toString(),t.classList.toggle("hidden",e===0)}openCatalogSelection(e){const t=e.target.closest(".mealz-planner-current-menu__meal-extras-choice");if(!t)return;const r=["starter","dessert","drink"].find(i=>t.classList.contains(i));r&&(this.openCatalogDrawer(r),this.categoryDisplayEvent(r))}cancelMenu(){const e=new d;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=s.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(o(1)).subscribe(()=>{this.updateRecipeCounterBadge(0),this.redirectToDashboard()})}redirectToDashboard(){var e;(e=this.plannerRoutes)!=null&&e.dashboard&&(window.location.href=this.plannerRoutes.dashboard)}redirectToHomeWithBasketPreview(){var e;(e=this.plannerRoutes)!=null&&e.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){this.storeId?(this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone()):console.log("register menu")}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(f(n=>n===!0),o(1)),t=s.planner.menuToBasket(this.basket.id).pipe(o(1),l(()=>s.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(b([t,e]).pipe(o(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToHomeWithBasketPreview()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(n=>{if(n.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=n.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");e&&(e.style.display="none");const t=this.retrieveRecipesImgs();this.loaderToBasketElement=document.querySelector("mealz-to-basket-loader"),this.loaderToBasketElement||(this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",()=>{this.loaderToBasketComplete$.next(!0)}),e.insertAdjacentElement("afterend",this.loaderToBasketElement))}updateFooterButton(e){const{footerButton:t,footerIcon:n,footerDisabledIcon:r}=this.elements;!t||!n||!r||(t.classList.toggle("disabled",!e),n.classList.toggle("hidden",!e),r.classList.toggle("hidden",e))}openCatalogModal(){const e=new u;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e){const t=document.querySelector("mealz-drawer-view-swapper");t.displayPlannerCatalog$.next(!0),await t.updateComplete;const n=document.querySelector("mealz-planner-catalog");n&&(n.setConfig(this.storeId,this.catalogURL,this.sessionId,e),n.getPlannerCatalog(),n.pageview())}addRecipe(e,t){var i,a;const n=(a=(i=s.recipes)==null?void 0:i.productsPlannerByCategory$)==null?void 0:a.value,r=(n==null?void 0:n.toPickProducts)||[];return s.planner.addRecipeToMenu(e,t,!!s.pos.currentPos().value,r).pipe(o(1),l(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.updateRecipeCounterBadge(this.nbrRecipeInMenu),this.recipeAddedEvent(e)}))}removeRecipe(e){return s.planner.removeRecipeFromMenu(e).pipe(o(1),l(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.updateFooterButtonState(),this.updateRecipeCounterBadge(this.nbrRecipeInMenu),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")}updateFooterButtonState(){const e=this.nbrRecipeInMenu>0;this.updateFooterButton(e)}findRecipeIndexById(e){const t=document.querySelectorAll("mealz-planner-recipe-card");for(let n=0;n<t.length;n++)if(t[n].recipeId===e)return n;return-1}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:0,recipe_count:this.nbrRecipeInMenu,guests:this.guests})}recipeAddedEvent(e){s.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e})}recipeRemovedEvent(e){s.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}categoryDisplayEvent(e){s.analytics.sendEvent("category.display",this.analyticsPath,{category_id:e})}};c=B([g("mealz-planner-current-menu")],c);customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",c);
|
|
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{M as h}from"../../modal/modal.min.js";import{M as b}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{M as p}from"../planner-onboarding/planner-onboarding.min.js";import{M as g}from"../planner-open-catalog-modal/planner-open-catalog-modal.min.js";import{M as f}from"../planner-welcome-modal/planner-welcome-modal.min.js";import{N as M,B as y,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as w}from"../../assets/custom-element-BhZVzxrc.js";import{r as C}from"../../assets/state-CccUMzBZ.js";import{t as a}from"../../assets/take-DO4w5a1Y.js";import{f as d}from"../../assets/filter-CEeE8t7I.js";import{m as u}from"../../assets/map-C4rf5Jbc.js";import{c as v}from"../../assets/combineLatest-P4GAEtOW.js";import"../../drawer/drawer.min.js";import"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../store-locator-drawer/store-locator-drawer.min.js";import"../../assets/skipWhile-DuMEda_n.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../recipe-details/recipe-details.min.js";import"../../recipe-pricing/recipe-pricing.min.js";import"../../assets/from-jBe2xW5a.js";import"../../assets/executeSchedule-DfyZaGAH.js";import"../../assets/mapOneOrManyArgs-DNd_tswl.js";import"../../assets/of-BTA69Qgj.js";import"../../assets/tap-BCGrRktL.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/price-BoM226Kw.js";import"../../assets/recipe-BwGs-blm.js";import"../../assets/merge-C-u9uFzU.js";import"../../assets/mergeMap-buGewtOo.js";import"../../assets/capitalize-DUAqYmp4.js";import"../../counter/counter.min.js";import"../../assets/debounceTime-Bo5F3ux-.js";import"../../assets/async-D3oCs_PQ.js";import"../../assets/product-card-DqcKyf1c.js";import"../../price/price.min.js";import"../../assets/promotion-badge-BwN2GpDz.js";import"../../assets/delay-ILvLVH1b.js";import"../../assets/timer-BOl4bYNY.js";import"../../store-indicator/store-indicator.min.js";import"../../assets/store-locator-Crx8huGH.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"../../onboarding/onboarding.min.js";import"../planner-catalog/planner-catalog.min.js";import"../../catalog/catalog-load-more.min.js";import"../../assets/http-aOzufNsj.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-BkBiB4M3.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"../../catalog/basket-preview/basket-preview.min.js";var B=Object.defineProperty,z=Object.getOwnPropertyDescriptor,m=(e,t,n,r)=>{for(var i=r>1?void 0:r?z(t,n):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(i=(r?c(t,n,i):c(i))||i);return r&&i&&B(t,n,i),i};let l=class extends M{constructor(){super(...arguments),this.analyticsPath="/meals-planner/current",this.loaderToBasketComplete$=new y(!1),this.subscriptions=[],this.isCustomMenu=!1,this.isMobile=window.innerWidth<=768}get selectors(){return{recipe:".mealz-planner-current-menu__recipe",menu:".mealz-planner-current-menu__menu",displayMenuButton:".mealz-planner-current-menu__mobile-menu-button",displayRecipeButton:".mealz-planner-current-menu__mobile-recipe-button",returnButton:".mealz-planner-current-menu__mobile-return-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",footerButton:".mealz-planner-current-menu__footer-button",footerIcon:".mealz-planner-current-menu__footer-icon",footerDisabledIcon:".mealz-planner-current-menu__footer-disabled-icon",recipeCounterBadge:".mealz-planner-current-menu__menu-badge",preferencesCounterBadges:[".mealz-planner-current-menu__preferences-badge"],mealExtras:[".mealz-planner-current-menu__meal-extras-choice"]}}get nbrRecipeInMenu(){return this.querySelectorAll(".mealz-planner-recipe-card").length}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners(),this.handleResize(),window.addEventListener("resize",()=>this.handleResize()),o.recipes.setIsRecipeDetailsFromPlanner(!0),this.isCustomMenu=localStorage.getItem("_miam/isCustomMenu")==="true",this.isCustomMenu||this.setDefaultMobileView(),this.subscriptions.push(o.preferences.preferencesCount().subscribe(e=>this.updatePreferencesCount(e))),this.updateRecipeCounterBadge(this.nbrRecipeInMenu),this.showWelcomeModal()}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"))}showWelcomeModal(){const e=this.isCustomMenu?"_miam/customMenuOnboarding":"_miam/suggestionOnboarding";if(localStorage.getItem(e)==="true")return;const n=new f;n.isCustomMenu=this.isCustomMenu,n.addEventListener("openOnboarding",r=>{const i=r.detail??{};this.startPlannerOnboarding(i.isCustomMenu??this.isCustomMenu,!1)}),n.addEventListener("onboarding-skipped",()=>{localStorage.setItem(e,"true"),this.startPlannerOnboarding(!1,!0)}),n.displayPlannerWelcomeModal(),this.autoCloseWelcomeOnDrawerOpen(n)}autoCloseWelcomeOnDrawerOpen(e){requestAnimationFrame(()=>{const n=document.querySelector("mealz-drawer-view-swapper");if(!n)return;const r=n.currentView$.subscribe(i=>{i!==void 0&&(document.body.contains(e)&&e.remove(),r.unsubscribe())})})}startPlannerOnboarding(e,t){this.scrollIntoView({behavior:"smooth",block:"center"});const n=new p;n.isCustomMenu=e,document.body.appendChild(n),t?(n.type=this.isMobile?"guide-mobile":"guide",n.launchOnboardingTour()):(this.isMobile?n.type=e?"custom-mobile":"suggestion-mobile":n.type=e?"custom":"suggestion",n.startTour())}addEventListeners(){this.addClickListener("displayMenuButton",()=>{this.toggleMobileView(!0)}),this.addClickListener("displayRecipeButton",()=>{this.toggleMobileView(!1)}),this.addClickListener("preferencesButton",()=>{this.openPreferences()}),this.addClickListener("preferencesMobileButton",()=>{this.openPreferences()}),this.addClickListener("cancelMenuButton",this.cancelMenu.bind(this)),this.addClickListener("footerButton",()=>{this.handleMenu()}),this.addClickListener("onboardingButton",()=>this.openOnboardingModal()),this.addClickListener("onboardingButtonMobile",()=>this.openOnboardingModal());const{mealExtras:e}=this.elements;e==null||e.forEach(t=>{t.addEventListener("click",this.openCatalogSelection.bind(this))})}toggleMobileView(e){const{recipe:t,menu:n,displayMenuButton:r,displayRecipeButton:i,returnButton:s}=this.elements;!t||!n||!r||!i||!s||(t.style.display=e?"none":"block",n.style.display=e?"flex":"none",r.style.display=e?"none":"flex",i.style.display=e?"block":"none",s.style.display=e?"none":"block")}setDefaultMobileView(){this.isMobile&&this.toggleMobileView(!0)}handleResize(){const{menu:e,recipe:t}=this.elements;!e||!t||(this.isMobile?this.toggleMobileView(!1):(e.style.display="flex",t.style.display="block"))}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(n=>{const r=n.querySelector("p");r&&(r.textContent=e.toString(),n.classList.toggle("hidden",e===0))})}updateRecipeCounterBadge(e){const{recipeCounterBadge:t}=this.elements;if(!t)return;const n=t.querySelector("p");n.textContent=e.toString(),t.classList.toggle("hidden",e===0)}openCatalogSelection(e){const t=e.target.closest(".mealz-planner-current-menu__meal-extras-choice");if(!t)return;const r=["starter","dessert","drink"].find(i=>t.classList.contains(i));r&&(this.openCatalogDrawer(r),this.categoryDisplayEvent(r))}openOnboardingModal(){new h().openOnboardingModal()}cancelMenu(){const e=new b;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=o.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(a(1)).subscribe(()=>{this.updateRecipeCounterBadge(0),this.redirectToDashboard()})}redirectToDashboard(){var e;(e=this.plannerRoutes)!=null&&e.dashboard&&(window.location.href=this.plannerRoutes.dashboard)}redirectToHomeWithBasketPreview(){var e;(e=this.plannerRoutes)!=null&&e.catalogHome&&(window.location.href=this.plannerRoutes.catalogHome+"?myMeals=products")}handleMenu(){this.storeId?(this.displayAddToBasketLoaderView(),this.finalizeMenuEvent(),this.navigateOnceDone()):console.log("register menu")}navigateOnceDone(){const e=this.loaderToBasketComplete$.pipe(d(n=>n===!0),a(1)),t=o.planner.menuToBasket(this.basket.id).pipe(a(1),u(()=>o.basket.updateRetailerBasketFromPlanner()));this.subscriptions.push(v([t,e]).pipe(a(1)).subscribe(()=>{this.loaderToBasketElement.remove(),this.redirectToHomeWithBasketPreview()}))}retrieveRecipesImgs(){const e=[];return document.querySelectorAll(".mealz-planner-recipe-card").forEach(n=>{if(n.querySelector(".mealz-planner-recipe-card__in-basket:not(.hidden)"))return;const i=n.querySelector("img");i&&i.src&&e.push(i.src)}),e}displayAddToBasketLoaderView(){const e=document.querySelector(".mealz-planner-current-menu");if(!e)return;e.style.display="none";const t=this.retrieveRecipesImgs();this.loaderToBasketElement=document.querySelector("mealz-to-basket-loader")||document.createElement("mealz-to-basket-loader"),document.querySelector("mealz-to-basket-loader")||(this.loaderToBasketElement.recipeImgs=t,this.loaderToBasketElement.addEventListener("basketComplete",()=>{this.loaderToBasketComplete$.next(!0)}),e.insertAdjacentElement("afterend",this.loaderToBasketElement))}updateFooterButton(e){const{footerButton:t,footerIcon:n,footerDisabledIcon:r}=this.elements;!t||!n||!r||(t.classList.toggle("disabled",!e),n.classList.toggle("hidden",!e),r.classList.toggle("hidden",e))}openCatalogModal(){const e=new g;e.addEventListener("openCatalog",()=>{this.openCatalogDrawer()}),e.displayMealzPlannerOpenCatalogModal()}async openCatalogDrawer(e){const t=document.querySelector("mealz-drawer-view-swapper");if(!t)return;t.displayPlannerCatalog$.next(!0),await t.updateComplete;const n=document.querySelector("mealz-planner-catalog");n&&(n.setConfig(this.storeId,this.catalogURL,this.sessionId,e),n.getPlannerCatalog(),n.pageview())}addRecipe(e,t){var i,s;const n=(s=(i=o.recipes)==null?void 0:i.productsPlannerByCategory$)==null?void 0:s.value,r=(n==null?void 0:n.toPickProducts)||[];return o.planner.addRecipeToMenu(e,t,!!o.pos.currentPos().value,r).pipe(a(1),u(async()=>{await this.addRecipeToList(e),this.showResetMenuButton(),this.updateFooterButtonState(),this.updateRecipeCounterBadge(this.nbrRecipeInMenu),this.recipeAddedEvent(e),this.shouldShowMenuToBasketOnboarding()}))}removeRecipe(e){return o.planner.removeRecipeFromMenu(e).pipe(a(1),u(()=>{const t=this.findRecipeIndexById(e);t!==-1&&(this.removeRecipeFromList(t),this.updateFooterButtonState(),this.updateRecipeCounterBadge(this.nbrRecipeInMenu),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 r;if(localStorage.getItem("_miam/menuToBasketOnboarding")==="true")return;this.isMobile&&this.toggleMobileView(!0);const t=document.querySelector("mealz-drawer-view-swapper");((r=t==null?void 0:t.currentView$)==null?void 0:r.value)!==void 0?this.subscriptions.push(t.currentView$.pipe(d(i=>i===void 0),a(1)).subscribe(()=>{this.showMenuToBasketOnboarding()})):this.showMenuToBasketOnboarding()}showMenuToBasketOnboarding(){this.updateComplete.then(()=>{const e=new p;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 n=0;n<t.length;n++)if(t[n].recipeId===e)return n;return-1}pageview(){o.analytics.sendEvent("pageview",this.analyticsPath,{})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}finalizeMenuEvent(){o.analytics.sendEvent("planner.finalize",this.analyticsPath,{budget_user:0,recipe_count:this.nbrRecipeInMenu,guests:this.guests})}recipeAddedEvent(e){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e})}recipeRemovedEvent(e){o.analytics.sendEvent("planner.recipe.delete",this.analyticsPath,{recipe_id:e})}categoryDisplayEvent(e){o.analytics.sendEvent("category.display",this.analyticsPath,{category_id:e})}};m([C()],l.prototype,"isMobile",2);l=m([w("mealz-planner-current-menu")],l);customElements.get("mealz-planner-current-menu")||customElements.define("mealz-planner-current-menu",l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.mealz-planner-dashboard .mealz-planner-dashboard__title{color:#000;margin:32px 0;padding:0 80px;display:flex;align-items:center;gap:12px}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]){width:18px;height:18px;background-color:var(--mealz-ds-color-primary-100, #E4EAEC)}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]) img{cursor:pointer;width:13px;height:13px}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 80px;box-sizing:border-box;min-height:90dvh}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options{display:flex;margin-bottom:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options mealz-planner-menu-option{flex:1;height:auto;display:flex;align-items:stretch}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options>*:not(:last-child){margin-right:16px}
|
|
1
|
+
.mealz-planner-dashboard .mealz-planner-dashboard__title{color:#000;margin:32px 0;padding:0 80px;display:flex;align-items:center;gap:12px}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]){width:18px;height:18px;background-color:var(--mealz-ds-color-primary-100, #E4EAEC)}.mealz-planner-dashboard .mealz-planner-dashboard__title .mealz-planner-dashboard__title-icon:not(.ghost):not(.disabled):not([disabled]) img{cursor:pointer;width:13px;height:13px}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 80px;box-sizing:border-box;min-height:90dvh}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options{display:flex;margin-bottom:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options mealz-planner-menu-option{flex:1;height:auto;display:flex;align-items:stretch}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options>*:not(:last-child){margin-right:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history{display:flex;justify-content:space-between;align-items:center}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history>*:not(:last-child){margin-right:16px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-container,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-container{display:flex;flex:1;justify-content:space-between;align-items:center;width:100%;padding:16px;border:1px solid var(--mealz-ds-color-neutral-200, #D9DDE1);border-radius:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-container{color:var(--mealz-ds-color-neutral-black, #0F191F);text-decoration:none}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-container{cursor:pointer}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-content,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-content{display:flex;align-items:center;margin-right:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-content>*:not(:last-child),.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-content>*:not(:last-child){margin-right:8px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__onboarding-icon,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history .mealz-planner-dashboard__history-icon{width:24px;height:24px}@media (max-width: 1023px){.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options,.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history{flex-direction:column;margin-bottom:12px}.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__options>*:not(:last-child),.mealz-planner-dashboard .mealz-planner-dashboard__content .mealz-planner-dashboard__onboarding-and-history>*:not(:last-child){margin-right:0;margin-bottom:12px}}@media (max-width: 1023px){.mealz-planner-dashboard .mealz-planner-dashboard__title{margin:24px 0;padding:0 24px}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 24px}}@media (max-width: 700px){.mealz-planner-dashboard .mealz-planner-dashboard__title{margin:16px 0}.mealz-planner-dashboard .mealz-planner-dashboard__content{padding:0 16px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as c,m as l}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as
|
|
1
|
+
import"../planner-onboarding-modal/planner-onboarding-modal.min.js";import{M as d}from"../../modal/modal.min.js";import{N as c,m as l}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as m}from"../../assets/custom-element-BhZVzxrc.js";import"../../assets/state-CccUMzBZ.js";import"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";var h=Object.getOwnPropertyDescriptor,p=(e,a,t,s)=>{for(var n=s>1?void 0:s?h(a,t):a,r=e.length-1,i;r>=0;r--)(i=e[r])&&(n=i(n)||n);return n};let o=class extends c{constructor(){super(...arguments),this.analyticsPath="/meals-planner/dashboard"}get selectors(){return{historyLink:".mealz-planner-dashboard__history-container",onboardingButton:".mealz-planner-dashboard__onboarding-container"}}connectedCallback(){super.connectedCallback(),this.pageview(),this.initSelectors(),this.addEventListeners()}addEventListeners(){var e,a;(e=this.elements.historyLink)==null||e.addEventListener("click",t=>this.navigateToHistory(t)),(a=this.elements.onboardingButton)==null||a.addEventListener("click",t=>this.openOnboardingModal(t))}navigateToHistory(e){e.preventDefault();const a=e.currentTarget;l.hook.hookCallback().subscribe(t=>{t&&(window.location.href=a.href)})}openOnboardingModal(e){e.preventDefault(),new d().openOnboardingModal()}pageview(){l.analytics.sendEvent("pageview",this.analyticsPath,{})}};o=p([m("mealz-planner-dashboard")],o);customElements.get("mealz-planner-dashboard")||customElements.define("mealz-planner-dashboard",o);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../planner-form/planner-form.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{M as h}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as M}from"../../assets/custom-element-BhZVzxrc.js";import{t as c}from"../../assets/take-DO4w5a1Y.js";import"../../assets/property-leIVgCvV.js";import"../planner-current-menu-modal/planner-current-menu-modal.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/state-CccUMzBZ.js";var f=Object.getOwnPropertyDescriptor,y=(e,t,n
|
|
1
|
+
import"../planner-form/planner-form.min.js";import"../to-basket-loader/to-basket-loader.min.js";import{M as h}from"../planner-abandon-modal/planner-abandon-modal.min.js";import{N as p,m as o}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as M}from"../../assets/custom-element-BhZVzxrc.js";import{t as c}from"../../assets/take-DO4w5a1Y.js";import"../../assets/property-leIVgCvV.js";import"../planner-current-menu-modal/planner-current-menu-modal.min.js";import"../../modal/modal.min.js";import"../../assets/unsafe-html-CmALAWuN.js";import"../../assets/switchMap-D8q0hRYH.js";import"../../assets/innerFrom-CfKCbnvr.js";import"../../assets/OperatorSubscriber-EGuECN6g.js";import"../../assets/empty-Cv-4tfKR.js";import"../../assets/state-CccUMzBZ.js";var f=Object.getOwnPropertyDescriptor,y=(e,t,s,n)=>{for(var i=n>1?void 0:n?f(t,s):t,r=e.length-1,a;r>=0;r--)(a=e[r])&&(i=a(i)||i);return i};let d=class extends p{constructor(){super(...arguments),this.menuId="",this.isCustomMenu=!1,this.guests=4,this.recipeIds=[],this.recipeImgs=[],this.analyticsPath="/meals-planner/dashboard",this.isRedirecting=!1}get selectors(){return{cancelMenuButton:".mealz-planner-menu-option__cancel",menuOption:".mealz-planner-menu-option__container"}}connectedCallback(){super.connectedCallback(),this.initSelectors(),this.addEventListeners()}render(){var u;const e=(u=this.attributes["starting-data"])==null?void 0:u.value;if(!e)return;const{isCustomMenu:t,guestsPreference:s,storeId:n,hasCustomRecipes:i,menuId:r,recipesId:a,currentMenuPageUrl:l,recipeImgs:m}=JSON.parse(e);this.isCustomMenu=t,this.storeId=n,this.hasCustomRecipes=i,this.menuId=r,this.currentMenuPageUrl=l,this.recipeImgs=m||[],a&&(this.recipeIds=a),s&&(this.guests=s),this.removeAttribute("starting-data")}addEventListeners(){this.addClickListener("cancelMenuButton",()=>this.cancelMenu()),this.addClickListener("menuOption",()=>this.navigateToMenuOrShowForm())}navigateToMenuOrShowForm(){o.hook.hookCallback().subscribe(e=>{e&&(localStorage.setItem("_miam/isCustomMenu",this.isCustomMenu.toString()),!this.isCustomMenu||this.recipeIds.length===0?this.displayPlannerForm():this.redirectToMenu())})}displayPlannerForm(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");let t=document.querySelector("mealz-planner-form");t||(t=document.createElement("mealz-planner-form"),t.guests=this.guests,t.isCustomMenu=this.isCustomMenu,t.hideBudget=!this.isCustomMenu||!this.storeId,t.currentMenuModal=!this.isCustomMenu&&this.hasCustomRecipes,t.menuId=this.menuId,t.addEventListener("displayDashboard",()=>this.displayDashboard()),t.addEventListener("generateMenu",s=>this.generateMenu(s)),e?e.insertAdjacentElement("afterend",t):document.body.appendChild(t))}generateMenu(e){if(this.recipeIds.length===0){this.redirectToMenu();return}this.displayAddToBasketLoaderView(e.detail.guests)}displayAddToBasketLoaderView(e){this.hideUIElements(),this.setupBasketLoader(e)}hideUIElements(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="none");const t=document.querySelector("mealz-planner-form");t&&(t.style.display="none")}setupBasketLoader(e){if(this.loaderToBasketElement=document.querySelector("mealz-to-basket-loader"),!this.loaderToBasketElement){this.loaderToBasketElement=document.createElement("mealz-to-basket-loader"),this.loaderToBasketElement.recipeImgs=this.recipeImgs,this.setupSynchronization(this.loaderToBasketElement,e);const t=document.querySelector("mealz-planner-form");t?t.insertAdjacentElement("afterend",this.loaderToBasketElement):document.body.appendChild(this.loaderToBasketElement)}}setupSynchronization(e,t){let s=!1,n=!1;const i=()=>{s&&n&&this.redirectToMenu()};e.addEventListener("basketComplete",()=>{s=!0,i()}),this.addRecipesSequentially(0,t,()=>{n=!0,i()})}addRecipesSequentially(e,t,s){var r,a;if(e>=this.recipeIds.length){s&&s();return}const n=(a=(r=o.recipes)==null?void 0:r.productsPlannerByCategory$)==null?void 0:a.value,i=(n==null?void 0:n.toPickProducts)||[];o.planner.addRecipeToMenu(this.recipeIds[e],t,!!o.pos.currentPos().value,i).pipe(c(1)).subscribe({next:()=>{this.recipeAddedEvent(this.recipeIds[e]),this.addRecipesSequentially(e+1,t,s)},error:l=>{console.error("Error adding recipe to menu:",l),this.addRecipesSequentially(e+1,t,s)}})}redirectToMenu(){if(this.isRedirecting)return;this.isRedirecting=!0,this.loaderToBasketElement&&this.loaderToBasketElement.remove(),this.sendRedirectToMenuEvent();const e=this.currentMenuPageUrl;e&&e!==window.location.href&&(window.location.href=e)}sendRedirectToMenuEvent(){const e=new CustomEvent("redirectToMenu",{bubbles:!0,composed:!0,detail:{url:this.currentMenuPageUrl}});this.dispatchEvent(e)}displayDashboard(){const e=document.querySelector(".mealz-planner-dashboard");e&&(e.style.display="block")}cancelMenu(){const e=new h;e.addEventListener("resetMenu",()=>this.resetMenu()),e.displayPlannerAbandonModal()}resetMenu(){const e=o.planner.deleteMenu(this.menuId);this.resetMenuEvent(),e.pipe(c(1)).subscribe(()=>{window.location.reload()})}resetMenuEvent(){o.analytics.sendEvent("planner.reset",this.analyticsPath,{})}recipeAddedEvent(e){o.analytics.sendEvent("planner.recipe.add",this.analyticsPath,{recipe_id:e})}};d=y([M("mealz-planner-menu-option")],d);customElements.get("mealz-planner-menu-option")||customElements.define("mealz-planner-menu-option",d);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as p}from"../../assets/custom-element-BhZVzxrc.js";import{n as l}from"../../assets/property-leIVgCvV.js";import{r as m}from"../../assets/state-CccUMzBZ.js";import{M as c}from"../../onboarding/onboarding.min.js";import{N as g}from"../../assets/no-shadow-element-l9trQfcI.js";import"../../assets/query-BApjzB0v.js";var d=Object.defineProperty,b=Object.getOwnPropertyDescriptor,s=(e,t,n,i)=>{for(var o=i>1?void 0:i?b(t,n):t,a=e.length-1,u;a>=0;a--)(u=e[a])&&(o=(i?u(t,n,o):u(o))||o);return i&&o&&d(t,n,o),o};const v={custom:{type:"custom",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>. ',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Autre suggestion"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},"custom-mobile":{type:"custom-mobile",steps:[{element:".mealz-planner-current-menu__mobile-menu-button img",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici.",overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.",overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion__actions-add-button",popover:{title:"Cette recette vous plaît ?",description:'Ajoutez-la en 1 clic à votre menu grâce au bouton <b>"Ajouter au menu"</b>.',overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}},{element:".mealz-planner-recipe-suggestion__actions-swap-button",popover:{title:"Cette recette ne vous plaît pas ?",description:'Cliquez sur <b>"Autre suggestion"</b> pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue',overElement:".mealz-planner-recipe-suggestion__content",spacerTop:89}}],localStorageKey:"_miam/customMenuOnboarding",showProgress:!0},suggestion:{type:"suggestion",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-suggestion",popover:{title:"Inspirez-vous avec nos suggestions",description:"Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0},"suggestion-mobile":{type:"suggestion-mobile",steps:[{element:".mealz-planner-current-menu__menu-top",popover:{title:"Retrouvez votre menu ici",description:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."}},{element:".mealz-planner-recipe-card",popover:{title:"Vos recettes en un coup d’œil",description:"Consultez le détail d’une recette ou retirez-la de votre menu en un clic."}}],localStorageKey:"_miam/suggestionOnboarding",showProgress:!0,bottomMargin:0},guide:{type:"guide",steps:[{element:".mealz-planner-current-menu__onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:0},"guide-mobile":{type:"guide-mobile",steps:[{element:".mealz-planner-current-menu__mobile-onboarding-button",popover:{title:"Besoin d'aide ?",description:"Retrouvez à tout moment notre guide en quelques étapes simples."}}],localStorageKey:"_miam/guideOnboarding",showProgress:!1,bottomMargin:0},"recipe-details":{type:"recipe-details",steps:[{element:"mealz-product-card-planner:first-of-type .mealz-product-card-planner__checkbox input",popover:{title:"Personnalisez votre recette",description:"Vous avez déjà certains produits ? Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>Les produits sélectionnés seront eux ajoutés automatiquement au panier."}}],localStorageKey:"_miam/recipeDetailsOnboarding",showProgress:!1,bottomMargin:0},"menu-to-basket":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',overElement:".mealz-planner-current-menu__meal-extras",spacerTop:16,spacerLeft:16}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1},"menu-to-basket-mobile":{type:"menu-to-basket",steps:[{element:".mealz-planner-current-menu__footer-button:not(.disabled)",popover:{title:"Votre menu est terminé ?",description:'Quand votre menu sera terminé, utiliser le bouton <b>"Mettre le menu au panier"</b> pour mettre les produits de toutes les recettes dans votre panier.',overElement:".mealz-planner-current-menu__footer",spacerLeft:0,spacerTop:-272}}],localStorageKey:"_miam/menuToBasketOnboarding",showProgress:!1}};let r=class extends g{constructor(){super(...arguments),this.isCustomMenu=!1,this.type="custom",this.isMobile=window.innerWidth<=768,this.onboardingComponent=null}connectedCallback(){super.connectedCallback(),this.initOnboarding()}initOnboarding(){this.onboardingComponent||(this.onboardingComponent=new c(v),this.appendChild(this.onboardingComponent),this.listenToOnboardingClosed()),this.updateOnboardingConfig()}listenToOnboardingClosed(){var e;(e=this.onboardingComponent)==null||e.addEventListener("onboarding-closed",()=>{var t,n;(t=this.onboardingComponent)==null||t.markOnboardingAsSeen(this.type),(this.type==="custom"||this.type==="suggestion"||this.type==="custom-mobile"||this.type==="suggestion-mobile")&&!((n=this.onboardingComponent)!=null&&n.hasSeenOnboarding("guide"))?this.openGuideOnboarding():this.remove()})}updateOnboardingConfig(){if(!this.onboardingComponent)return;const e=this.onboardingComponent.getConfig(this.type);this.onboardingComponent.steps=e.steps,this.onboardingComponent.showProgress=e.showProgress??!0;let t=e.bottomMargin??110;t===0&&!this.isMobile&&(t=24),this.onboardingComponent.bottomMargin=t}openGuideOnboarding(){this.type=this.isMobile?"guide-mobile":"guide",setTimeout(()=>{this.onboardingComponent&&(this.updateOnboardingConfig(),this.launchOnboardingTour())},300)}startTour(){this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}launchOnboardingTour(){this.onboardingComponent&&(this.updateOnboardingConfig(),this.onboardingComponent.startOnboardingTour())}startOnboardingByType(e){this.type=e,this.onboardingComponent||this.initOnboarding(),this.launchOnboardingTour()}disconnectedCallback(){super.disconnectedCallback(),this.onboardingComponent&&(this.onboardingComponent.remove(),this.onboardingComponent=null)}};s([l({type:Boolean})],r.prototype,"isCustomMenu",2);s([l({type:String})],r.prototype,"type",2);s([m()],r.prototype,"isMobile",2);r=s([p("mealz-planner-onboarding")],r);export{r as M};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mealz-modal{height:680px;max-width:600px;max-height:100%;padding:0;z-index:calc(var(--m-z-index-modal) + 2)}.mealz-modal .mealz-modal__header{padding:24px}.mealz-modal .mealz-modal__content-container{padding-top:0;height:calc(100% - 80px);box-sizing:border-box}@media (max-width: 768px){.mealz-modal{height:740px;width:100%;max-width:unset;top:unset;left:0;bottom:0;right:0;border-radius:16px 16px 0 0;transform:none}}.mealz-planner-onboarding-modal{display:flex;flex-direction:column;height:100%}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body{display:flex;flex-direction:column;justify-content:space-between;align-items:center;flex:1;padding:0 24px;overflow:scroll}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__img{width:100%;height:auto;margin-bottom:16px;max-width:552px}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__img{max-width:343px}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__title{margin-bottom:4px;text-align:center}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text{text-align:center}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text span{display:inline;padding:0 4px 0 0}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text .mealz-planner-onboarding-modal__bold{font-weight:700}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__content .mealz-planner-onboarding-modal__text .mealz-planner-onboarding-modal__bold:last-of-type{color:var(--mealz-ds-color-primary)}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track{display:flex;justify-content:center;width:100%;margin-top:24px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track>*:not(:last-child){margin-right:8px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track .mealz-planner-onboarding-modal__indicator{width:32px;height:8px;border-radius:50px;background-color:var(--mealz-ds-color-primary, #24748F);opacity:.4;transition:all .3s ease-in-out}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body .mealz-planner-onboarding-modal__track .mealz-planner-onboarding-modal__indicator.active{width:80px;height:8px;opacity:1}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__body{padding:0 16px}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons{display:flex;justify-content:center;width:100%;margin-bottom:16px;margin-top:24px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:last-child){margin-right:8px}@media (max-width: 768px){.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons{flex-direction:column-reverse;padding:0 16px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:last-child){margin-right:0}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons>*:not(:first-child){margin-bottom:8px}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons .mealz-planner-onboarding-modal__previous,.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__navigation-buttons .mealz-planner-onboarding-modal__next{width:100%;flex:1}}.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__previous.hidden,.mealz-planner-onboarding-modal .mealz-planner-onboarding-modal__next.hidden{display:none}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import{N as g,k as e}from"../../assets/no-shadow-element-l9trQfcI.js";import{t as d}from"../../assets/custom-element-BhZVzxrc.js";import{r as m}from"../../assets/state-CccUMzBZ.js";import"../../assets/property-leIVgCvV.js";var c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,p=(s,t,a,o)=>{for(var n=o>1?void 0:o?u(t,a):t,r=s.length-1,l;r>=0;r--)(l=s[r])&&(n=(o?l(t,a,n):l(n))||n);return o&&n&&c(t,a,n),n};let i=class extends g{constructor(){super(),this.step=1,this.isMobile=window.innerWidth<=768,this.steps=[{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step1.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step1-mobile.png",title:"Retrouvez votre menu",content:"Toutes les recettes que vous sélectionnerez et l'accès au catalogue de recettes seront visibles ici."},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step2.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step2-mobile.png",title:"Inspirez-vous avec nos suggestions",content:e`Visualisez notre proposition de recette rien que pour vous ici.<br>Cliquez dessus pour en voir les détails.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step3.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step3-mobile.png",title:"Une recette vous plaît ?",content:e`
|
|
2
|
+
Ajoutez-la en 1 clic à votre menu grâce au bouton
|
|
3
|
+
<span class="mealz-ds-text weight-xl">"Ajouter au menu"</span>.
|
|
4
|
+
`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step4.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step4-mobile.png",title:"Une recette ne vous plaît pas ?",content:e`
|
|
5
|
+
Cliquez sur
|
|
6
|
+
<span class="mealz-ds-text weight-xl">"Autre suggestion"</span>
|
|
7
|
+
pour découvrir une nouvelle suggestion, ou sélectionnez la recette de votre choix en explorant notre catalogue.
|
|
8
|
+
`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step5.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step5-mobile.png",title:"Personnalisez votre recette",content:e`
|
|
9
|
+
Vous avez déjà certains produits ?<br>
|
|
10
|
+
Désélectionnez-les pour qu’ils ne soient pas ajoutés à votre panier.<br>
|
|
11
|
+
Les produits sélectionnés seront eux ajoutés automatiquement au panier.`},{imgDesktop:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step6.png",imgMobile:"https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/onboarding/planner-onboarding-step6-mobile.png",title:"Votre menu est terminé ?",content:e`
|
|
12
|
+
Quand votre menu sera terminé, utilisez le bouton
|
|
13
|
+
<span class="mealz-ds-text weight-xl">"Mettre le menu au panier"</span>
|
|
14
|
+
pour mettre les produits de toutes les recettes dans votre panier.
|
|
15
|
+
`}],this.styleURL=new URL("./planner/planner-onboarding-modal/planner-onboarding-modal.css",this.getBaseURL()),this.boundHandleResize=this.handleResize.bind(this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.boundHandleResize)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.boundHandleResize)}handleResize(){this.isMobile=window.innerWidth<=768}render(){const{imgDesktop:s,imgMobile:t,title:a,content:o}=this.steps[this.step-1],n=this.isMobile?t:s;return e`
|
|
16
|
+
<div class="mealz-planner-onboarding-modal">
|
|
17
|
+
<div class="mealz-planner-onboarding-modal__body">
|
|
18
|
+
<div class="mealz-planner-onboarding-modal__content step${this.step}">
|
|
19
|
+
<img class="mealz-planner-onboarding-modal__img" src="${n}">
|
|
20
|
+
<span class="mealz-planner-onboarding-modal__title mealz-ds-text size-m weight-xxl">
|
|
21
|
+
${a}
|
|
22
|
+
</span>
|
|
23
|
+
<span class="mealz-planner-onboarding-modal__text mealz-ds-text size-m">
|
|
24
|
+
${o}
|
|
25
|
+
</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="mealz-planner-onboarding-modal__track">
|
|
28
|
+
${this.renderStepIndicators()}
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
${this.renderNavigationButtons()}
|
|
32
|
+
</div>
|
|
33
|
+
`}renderStepIndicators(){return this.steps.map((s,t)=>e`
|
|
34
|
+
<div class="mealz-planner-onboarding-modal__indicator ${this.step===t+1?"active":""}"></div>
|
|
35
|
+
`)}renderNavigationButtons(){const s=this.step===this.steps.length;return e`
|
|
36
|
+
<div class="mealz-planner-onboarding-modal__navigation-buttons">
|
|
37
|
+
<button @click="${()=>this.previousStep()}"
|
|
38
|
+
class="mealz-planner-onboarding-modal__previous mealz-ds-button ${this.step===1?"hidden":""}">
|
|
39
|
+
<span class="mealz-ds-text size-s weight-xl">Précédent </span>
|
|
40
|
+
</button>
|
|
41
|
+
${s?e`
|
|
42
|
+
<button @click="${()=>this.closeModal()}"
|
|
43
|
+
class="mealz-planner-onboarding-modal__next mealz-ds-button primary">
|
|
44
|
+
<span class="mealz-ds-text size-s weight-xl">J'ai compris</span>
|
|
45
|
+
</button>
|
|
46
|
+
`:e`
|
|
47
|
+
<button @click="${()=>this.nextStep()}"
|
|
48
|
+
class="mealz-planner-onboarding-modal__next mealz-ds-button primary">
|
|
49
|
+
<span class="mealz-ds-text size-s weight-xl">Suivant</span>
|
|
50
|
+
</button>
|
|
51
|
+
`}
|
|
52
|
+
</div>
|
|
53
|
+
`}previousStep(){this.step=Math.max(this.step-1,1)}nextStep(){this.step=Math.min(this.step+1,this.steps.length)}closeModal(){this.dispatchEvent(new CustomEvent("onboardingConfirmed",{bubbles:!0,composed:!0}))}};p([m()],i.prototype,"step",2);p([m()],i.prototype,"isMobile",2);i=p([d("mealz-planner-onboarding-modal")],i);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
mealz-planner-welcome-modal .mealz-modal{width:480px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container{padding-top:0}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__description{display:flex;flex-direction:column;margin:24px 0;gap:12px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container{width:100%;display:flex;justify-content:center;margin-top:24px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:last-child){margin-right:8px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container .mealz-planner-welcome-modal__refuse-button,mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container .mealz-planner-welcome-modal__start-button{padding:12px 20px}@media (max-width: 600px){mealz-planner-welcome-modal .mealz-modal{width:unset}}@media (max-width: 768px){mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container{flex-direction:column-reverse}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:first-child){margin-bottom:8px}mealz-planner-welcome-modal .mealz-modal .mealz-modal__content-container .mealz-planner-welcome-modal__button-container>*:not(:last-child){margin-right:0}}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{N as d,k as r}from"../../assets/no-shadow-element-l9trQfcI.js";import{M as p}from"../../modal/modal.min.js";import{t as c}from"../../assets/custom-element-BhZVzxrc.js";import{n as u}from"../../assets/property-leIVgCvV.js";import"../../assets/unsafe-html-CmALAWuN.js";var v=Object.defineProperty,h=Object.getOwnPropertyDescriptor,m=(e,o,t,s)=>{for(var n=s>1?void 0:s?h(o,t):o,a=e.length-1,l;a>=0;a--)(l=e[a])&&(n=(s?l(o,t,n):l(n))||n);return s&&n&&v(o,t,n),n};let i=class extends d{constructor(){super(),this.isCustomMenu=!1,this.styleURL=new URL("./planner/planner-welcome-modal/planner-welcome-modal.css",this.getBaseURL())}displayPlannerWelcomeModal(){const e=new p;document.body.appendChild(this);const o=this.isCustomMenu?"Bienvenue dans votre premier menu personnalisé":"Bienvenue dans votre première sélection du moment";e.titleSlot=r`<span>${o}</span>`,e.contentSlot=this.renderModal(),this.appendChild(e),e.addEventListener("modalClosed",()=>this.openGuideModal())}openGuideModal(){const e=new CustomEvent("onboarding-skipped");this.dispatchEvent(e),this.remove()}startOnboardingTour(){const e=new CustomEvent("openOnboarding",{detail:{isCustomMenu:this.isCustomMenu}});this.dispatchEvent(e),this.remove()}renderModal(){const e=this.isCustomMenu?"Découvrez comment composer facilement votre menu selon vos envies.":"Découvrez le menu de la semaine que nous avons composé pour vous.";return r`
|
|
2
|
+
<div class="mealz-planner-welcome-modal__content">
|
|
3
|
+
<div class="mealz-planner-welcome-modal__description mealz-ds-text size-m">
|
|
4
|
+
<span>${e}</span>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="mealz-planner-welcome-modal__button-container">
|
|
7
|
+
<button @click=${()=>this.openGuideModal()}
|
|
8
|
+
class="mealz-ds-button ghost mealz-planner-welcome-modal__refuse-button">
|
|
9
|
+
<span class="mealz-ds-text size-s weight-xl">Passer le guide</span>
|
|
10
|
+
</button>
|
|
11
|
+
<button @click=${()=>this.startOnboardingTour()}
|
|
12
|
+
class="mealz-ds-button primary mealz-planner-welcome-modal__start-button">
|
|
13
|
+
<span class="mealz-ds-text size-s weight-xl">Commencer</span>
|
|
14
|
+
</button>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
`}};m([u({type:Boolean})],i.prototype,"isCustomMenu",2);i=m([c("mealz-planner-welcome-modal")],i);export{i as M};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{N as u,m as
|
|
1
|
+
import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";import{N as u,m as r,D as o,k as s}from"../assets/no-shadow-element-l9trQfcI.js";import{t as h}from"../assets/custom-element-BhZVzxrc.js";import{n as p}from"../assets/property-leIVgCvV.js";import{P as B}from"../assets/price-BoM226Kw.js";import{R as A}from"../assets/recipe-BwGs-blm.js";import{m as w}from"../assets/merge-C-u9uFzU.js";import{m as d}from"../assets/map-C4rf5Jbc.js";import{t as P}from"../assets/take-DO4w5a1Y.js";import{c as D}from"../assets/capitalize-DUAqYmp4.js";import"../counter/counter.min.js";import{G as L}from"../assets/product-card-DqcKyf1c.js";import"../price/price.min.js";import"../assets/promotion-badge-BwN2GpDz.js";import"../store-indicator/store-indicator.min.js";import"../last-order-badge/last-order-badge.min.js";import"../order-again/order-again.min.js";import"../like-button/like-button.min.js";import{L as M}from"../last-order-modal/last-order-modal.min.js";import{a as N}from"../assets/unsafe-html-CmALAWuN.js";import{M as q}from"../planner/planner-onboarding/planner-onboarding.min.js";import{f as I}from"../assets/filter-CEeE8t7I.js";import{t as G}from"../assets/tap-BCGrRktL.js";import{s as T}from"../assets/switchMap-D8q0hRYH.js";import{c as E}from"../assets/combineLatest-P4GAEtOW.js";import"../assets/skipWhile-DuMEda_n.js";import"../assets/OperatorSubscriber-EGuECN6g.js";import"../assets/innerFrom-CfKCbnvr.js";import"../assets/from-jBe2xW5a.js";import"../assets/executeSchedule-DfyZaGAH.js";import"../assets/mapOneOrManyArgs-DNd_tswl.js";import"../assets/of-BTA69Qgj.js";import"../assets/mergeMap-buGewtOo.js";import"../assets/empty-Cv-4tfKR.js";import"../assets/debounceTime-Bo5F3ux-.js";import"../assets/async-D3oCs_PQ.js";import"../assets/delay-ILvLVH1b.js";import"../assets/timer-BOl4bYNY.js";import"../assets/store-locator-Crx8huGH.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";import"../onboarding/onboarding.min.js";var F=Object.defineProperty,V=Object.getOwnPropertyDescriptor,v=(e,t,a,n)=>{for(var i=n>1?void 0:n?V(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&F(t,a,i),i};let m=class extends u{constructor(){super(),this.noPosDisplay=!1,this.noSupplier=!1,this.recipeId="",this.plannerMode=!1,this.subscriptions=[],this.remainingBasketEntries=[],this.recipePrice={remaining:0,inBasket:0,total:0,totalPerGuest:0},this.priceService=B.getInstance(),this.allIngredientsToBasketLoading=!1,this.inMenu=!1,this.menuUpdateLoading=!1,this.styleURL=new URL("./recipe-details/details-footer/details-footer.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.priceService.initFormatter(),this.analyticsPath=`/recipes/${this.recipeId}/shopping`,this.subscriptions.push(w(r.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e})),r.recipes.recipePrice$.pipe(d(e=>{const t=e.remaining+e.inBasket;this.recipePrice={...e,total:t,totalPerGuest:0}})),r.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{this.allIngredientsToBasketLoading=e})),r.recipes.ingredientToBasketLoading$.pipe(d(e=>{this.ingredientToBasketLoading=e})),r.recipes.updateIngredientFromBasketLoading$.pipe(d(e=>{this.updateIngredientFromBasketLoading=e})),r.recipes.productsLoading$.pipe(d(e=>{this.productsLoading=e})),r.planner.isRecipeInMenu$(this.recipeId).pipe(d(e=>this.inMenu=e)),r.planner.plannerRecipePrice$.pipe(d(e=>{this.recipePrice.totalPerGuest=this.guests>0?e/this.guests:e}))).subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}closeRecipeDetails(e=!1){r.recipes.displayedRecipe$.next(null),e&&r.basket.basketPreviewState$.next({isOpen:!0,activeTabIndex:r.basket.basketPreviewState$.getValue().activeTabIndex})}continueShopping(){this.closeRecipeDetails(),this.sendContinueEvent()}addToMenu(){var a,n;this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");e.recipeId=this.recipeId;const t=document.querySelector("mealz-planner-current-menu");if(!t){const i=(n=(a=r.recipes)==null?void 0:a.productsPlannerByCategory$)==null?void 0:n.value,l=(i==null?void 0:i.toPickProducts)||[];r.planner.addRecipeToMenu(this.recipeId,this.guests,!!r.pos.currentPos().value,l).pipe(P(1)).subscribe(()=>{this.inMenu=!0;const c=document.querySelector("mealz-planner-recipe-list");c==null||c.addRecipeCardToList(this.recipeId),this.menuUpdateLoading=!1,this.requestUpdate()});return}t.addRecipe(this.recipeId,this.guests).subscribe(()=>{this.inMenu=!0,e.addAndSelectNewSuggestion(this.recipe),this.menuUpdateLoading=!1,this.requestUpdate()})}removeFromMenu(){this.menuUpdateLoading=!0,this.requestUpdate();const e=document.querySelector("mealz-planner-recipe-suggestion");if(!e){r.planner.removeRecipeFromMenu(this.recipeId).pipe(P(1)).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()});return}e.removeRecipe(this.recipeId).subscribe(()=>{this.inMenu=!1,this.menuUpdateLoading=!1,this.requestUpdate()})}addAllIngredients(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}}),this.sendAddAllEvent(),this.recipePrice.inBasket===0&&this.sendAddRecipeEvent()}render(){if(this.noPosDisplay&&!this.plannerMode)return o;const e=this.remainingBasketEntries.length>0&&!this.plannerMode,t=this.plannerMode&&this.noPosDisplay,a=this.plannerMode&&!this.inMenu;return s`
|
|
2
2
|
<div class="mealz-recipe-details__footer">
|
|
3
3
|
${this.productsLoading&&!this.plannerMode?o:s`
|
|
4
4
|
<!-- ADD TO BASKET CTA -->
|
|
5
|
-
${e||t||
|
|
5
|
+
${e||t||a?this.renderAddToBasketButton():s`
|
|
6
6
|
<div class="mealz-recipe-details__recipe-is-in-basket-cta-container">
|
|
7
7
|
${this.renderBasketActions()}
|
|
8
8
|
</div>
|
|
@@ -91,7 +91,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
91
91
|
${this.plannerMode?"par personne":"dans votre panier"}
|
|
92
92
|
</span>
|
|
93
93
|
</div>
|
|
94
|
-
`}sendAddAllEvent(){
|
|
94
|
+
`}sendAddAllEvent(){r.analytics.sendEvent("entry.add-all",this.analyticsPath,{recipe_id:this.recipeId,entry_count:this.remainingBasketEntries.length})}sendAddRecipeEvent(){r.analytics.sendEvent("recipe.add",this.analyticsPath,{recipe_id:this.recipeId})}sendContinueEvent(){r.analytics.sendEvent("recipe.continue",this.analyticsPath,{recipe_id:this.recipeId})}};v([p({type:Boolean})],m.prototype,"noPosDisplay",2);v([p({type:Boolean})],m.prototype,"noSupplier",2);v([p({type:String})],m.prototype,"recipeId",2);v([p({type:Boolean})],m.prototype,"plannerMode",2);v([p({type:Number})],m.prototype,"guests",2);v([p({type:A})],m.prototype,"recipe",2);m=v([h("mealz-details-footer")],m);customElements.get("mealz-details-footer")||customElements.define("mealz-details-footer",m);var H=Object.getOwnPropertyDescriptor,j=(e,t,a,n)=>{for(var i=n>1?void 0:n?H(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let C=class extends u{constructor(){super(),this.tags=[],this.displayTags=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-infos/details-infos.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.tags=e.recipe.relationships.tags.data.map(t=>t.attributes.name),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}toggleTags(){this.displayTags=!this.displayTags,this.requestUpdate()}noTimePlaceholder(){return s`<span class="mealz-recipe-details-infos__no-time-placeholder">0 min</span>`}noDataPlaceholder(){return s`<span class="mealz-recipe-details-infos__no-data-placeholder">-</span>`}getRecipeDifficultyIntoClassName(){switch(this.recipe.attributes.difficulty){case 1:return"easy";case 2:return"medium";case 3:return"hard";default:return"no-difficulty-defined"}}getRecipeDifficultyIntoText(){switch(this.recipe.attributes.difficulty){case 1:return s`<span class="mealz-ds-text">Facile</span>`;case 2:return s`<span class="mealz-ds-text">Moyen</span>`;case 3:return s`<span class="mealz-ds-text">Difficile</span>`;default:return o}}renderPreparationTime(){return s`
|
|
95
95
|
<!-- PREPARATION TIME -->
|
|
96
96
|
<div
|
|
97
97
|
class="
|
|
@@ -157,7 +157,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
157
157
|
${this.renderRecipeDifficulty()}
|
|
158
158
|
${this.renderMoreTags()}
|
|
159
159
|
</div>
|
|
160
|
-
`}};
|
|
160
|
+
`}};C=j([h("mealz-details-infos")],C);var K=Object.getOwnPropertyDescriptor,Q=(e,t,a,n)=>{for(var i=n>1?void 0:n?K(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let x=class extends u{constructor(){super(),this.steps=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-steps/details-steps.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.steps=e.recipe.relationships["recipe-steps"].data.sort((t,a)=>t.attributes["step-number"]-a.attributes["step-number"]).map(t=>t.attributes.description),this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return s`
|
|
161
161
|
<div class="mealz-details-steps">
|
|
162
162
|
<!-- HEADER -->
|
|
163
163
|
<div class="mealz-ds-text weight-xxl mealz-details-steps__header">
|
|
@@ -180,7 +180,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
180
180
|
`)}
|
|
181
181
|
</div>
|
|
182
182
|
</div>
|
|
183
|
-
`}};
|
|
183
|
+
`}};x=Q([h("mealz-details-steps")],x);var Y=Object.getOwnPropertyDescriptor,J=(e,t,a,n)=>{for(var i=n>1?void 0:n?Y(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let S=class extends u{constructor(){super(),this.ingredients=[],this.subscriptions=[],this.styleURL=new URL("./recipe-details/details-ingredients/details-ingredients.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.ingredients=e.recipe.relationships.ingredients.data,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){var e,t;return s`
|
|
184
184
|
<div class="mealz-details-ingredients">
|
|
185
185
|
<!-- HEADER -->
|
|
186
186
|
<div class="mealz-ds-text weight-xxl mealz-details-ingredients__header">
|
|
@@ -189,27 +189,27 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
189
189
|
</div>
|
|
190
190
|
<!-- LIST -->
|
|
191
191
|
<div class="mealz-details-ingredients__list">
|
|
192
|
-
${this.ingredients.map(
|
|
192
|
+
${this.ingredients.map(a=>s`
|
|
193
193
|
<div class="mealz-details-ingredients__item">
|
|
194
194
|
<!-- PICTURE -->
|
|
195
195
|
<div class="mealz-ds-avatar mealz-details-ingredients__picture_container">
|
|
196
196
|
<img class="mealz-details-ingredients__picture"
|
|
197
|
-
src="${this.ingredientPicture(
|
|
198
|
-
alt="${
|
|
197
|
+
src="${this.ingredientPicture(a)}"
|
|
198
|
+
alt="${a.attributes.name} picture">
|
|
199
199
|
</div>
|
|
200
200
|
<!-- NAME -->
|
|
201
201
|
<span class="mealz-ds-text size-s weight-xxl mealz-details-ingredients__name">
|
|
202
|
-
${D(
|
|
202
|
+
${D(a.attributes.name)}
|
|
203
203
|
</span>
|
|
204
204
|
<!-- QUANTITY -->
|
|
205
205
|
<div class="mealz-ds-text size-s weight-l mealz-details-ingredients__row__qty">
|
|
206
|
-
${
|
|
206
|
+
${a.attributes.quantity} ${a.attributes.unit}
|
|
207
207
|
</div>
|
|
208
208
|
</div>
|
|
209
209
|
`)}
|
|
210
210
|
</div>
|
|
211
211
|
</div>
|
|
212
|
-
`}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}};S=
|
|
212
|
+
`}ingredientPicture(e){return e.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}};S=J([h("mealz-details-ingredients")],S);var W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,b=(e,t,a,n)=>{for(var i=n>1?void 0:n?X(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&W(t,a,i),i};const f=["unavailable"],Z=["ticked","unselected"];let g=class extends u{constructor(){super(),this.isSponsored=!1,this.subscriptions=[],this.guestObserverService=L.getInstance(),this.modifiedIngQty=0,this.analyticsPath="/meals-planner/current",this.styleURL=new URL("./product-card/product-card-planner.css",this.getBaseURL())}get status(){var e;return(e=this.product)==null?void 0:e.status}set status(e){this.product.status=e,this.requestUpdate()}get productImage(){var e;return((e=this.product.item)==null?void 0:e.attributes.image)||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}get ingredientPicture(){return this.product.ingredient.picture||"https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg"}updated(){var e,t;this.product&&(this.isSponsored=((t=(e=this.product.item)==null?void 0:e.attributes)==null?void 0:t.sponsored)===!0)}connectedCallback(){super.connectedCallback(),this.listenGuestsChange(),this.calculateQty()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenGuestsChange(){this.subscriptions.push(this.guestObserverService.guests$.subscribe(e=>{this.currentGuests=e,this.calculateQty()}))}calculateQty(){const e=this.product.ingredient.attributes.quantity/this.initialGuests;this.modifiedIngQty=Number((e*this.currentGuests).toFixed(2)),this.requestUpdate()}openReplaceItemView(){r.planner.openReplaceItemView(this.product),this.replaceItemViewEvent()}onCheckboxChange(e){e.target.checked?(this.status="ticked",r.planner.selectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.addItemEvent()):(this.status="unselected",r.planner.unselectProduct(+this.product.item.id,this.product.ingredient.relationships.definition.data.id),this.deleteItemEvent()),this.requestUpdate()}render(){return s`
|
|
213
213
|
<div class="mealz-product-card-planner
|
|
214
214
|
${this.status==="ticked"?"added":""}
|
|
215
215
|
${f.includes(this.status)||this.oftenIgnored?"disabled":""}
|
|
@@ -220,7 +220,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
220
220
|
${this.oftenIgnored?"disabled":""}
|
|
221
221
|
${this.status==="unavailable"?"unavailable":""}"
|
|
222
222
|
>
|
|
223
|
-
${
|
|
223
|
+
${Z.includes(this.status)&&!this.oftenIgnored?this.renderEnabledProductCard():this.renderDisabledOrUnavailableProduct()}
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
`}renderEnabledProductCard(){return s`
|
|
@@ -318,7 +318,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
318
318
|
<span>Remplacer</span>
|
|
319
319
|
</button>
|
|
320
320
|
`:""}
|
|
321
|
-
`}addItemEvent(){
|
|
321
|
+
`}addItemEvent(){r.analytics.sendEvent("planner.item.add",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}deleteItemEvent(){r.analytics.sendEvent("planner.item.delete",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}replaceItemViewEvent(){r.analytics.sendEvent("planner.item.replace",this.analyticsPath,{recipe_id:this.recipeId,item_id:this.product.item.id})}};b([p({type:Object})],g.prototype,"product",2);b([p({type:String})],g.prototype,"recipeId",2);b([p({type:Number})],g.prototype,"initialGuests",2);b([p({type:Number})],g.prototype,"currentGuests",2);b([p({type:Boolean})],g.prototype,"oftenIgnored",2);g=b([h("mealz-product-card-planner")],g);customElements.get("mealz-product-card-planner")||customElements.define("mealz-product-card-planner",g);var ee=Object.defineProperty,te=Object.getOwnPropertyDescriptor,U=(e,t,a,n)=>{for(var i=n>1?void 0:n?te(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&ee(t,a,i),i};let y=class extends u{constructor(){super(),this.styleURL=new URL("./legal-notice/legal-notice.css",this.getBaseURL())}get containsAlcohol(){var t;return(((t=this.tags)==null?void 0:t.data)||[]).some(a=>a.id==="ingredient_category_alcool")}render(){return this.containsAlcohol?s`
|
|
322
322
|
<div class="mealz-products-picker__legal-notices">
|
|
323
323
|
<span class="mealz-ds-text weight-xxl mealz-products-picker__legal-notices-header">Mentions légales</span>
|
|
324
324
|
<div class="mealz-products-picker__legal-notices-content">
|
|
@@ -330,7 +330,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
330
330
|
</span>
|
|
331
331
|
</div>
|
|
332
332
|
</div>
|
|
333
|
-
`:o}};U([p()],y.prototype,"tags",2);y=U([h("mealz-legal-notice")],y);var
|
|
333
|
+
`:o}};U([p()],y.prototype,"tags",2);y=U([h("mealz-legal-notice")],y);var se=Object.getOwnPropertyDescriptor,ie=(e,t,a,n)=>{for(var i=n>1?void 0:n?se(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let R=class extends u{constructor(){super(),this.styleURL=[new URL("./product-card/product-card-skeleton/product-card-skeleton.css",this.getBaseURL()),new URL("./product-card/product-card.css",this.getBaseURL())]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}render(){return s`
|
|
334
334
|
<!-- PRODUCT CARD -->
|
|
335
335
|
<div class="mealz-product-card skeleton">
|
|
336
336
|
<!-- HEADER -->
|
|
@@ -373,7 +373,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
373
373
|
</div>
|
|
374
374
|
</div>
|
|
375
375
|
</div>
|
|
376
|
-
`}};
|
|
376
|
+
`}};R=ie([h("mealz-products-card-skeleton")],R);var ae=Object.defineProperty,re=Object.getOwnPropertyDescriptor,k=(e,t,a,n)=>{for(var i=n>1?void 0:n?re(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=(n?c(t,a,i):c(i))||i);return n&&i&&ae(t,a,i),i};let z=class extends u{constructor(){super(),this.inBasket=!1,this.plannerMode=!1,this.numberUnavailableProducts=0,this.subscriptions=[],this.noSupplier=r.supplier.isNoSupplier(),this.hasEmittedReady=!1,this.styleURL=new URL("./products-picker/products-picker.css",this.getBaseURL())}get totalProducts(){return this.recipe.relationships.ingredients.data.length}connectedCallback(){super.connectedCallback(),this.resetProducts(),this.listenToProducts(),this.subscriptions.push(r.recipes.displayedRecipe$.subscribe(e=>{e&&(this.recipe=e.recipe,this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.requestUpdate())}))}disconnectedCallback(){super.disconnectedCallback(),this.resetProducts(),this.subscriptions.forEach(e=>e.unsubscribe())}resetProducts(){this.productsByCategory={toPickProducts:[],oftenIgnoredProducts:[]},this.numberUnavailableProducts=0,this.requestUpdate()}listenToProducts(){const e=this.plannerMode?r.recipes.productsPlannerByCategory$:r.recipes.productsByCategory$;this.subscriptions.push(e.subscribe(t=>{this.productsByCategory=t,this.plannerMode?this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(a=>a.status==="unavailable").length:this.numberUnavailableProducts=[...t.oftenIgnoredProducts,...t.toPickProducts].filter(a=>a.basketEntry.status==="out_of_stock").length,this.requestUpdate(),this.notifyReadyIfRendered()}))}async notifyReadyIfRendered(){if(this.hasEmittedReady)return;if(await this.updateComplete,this.querySelector(".mealz-product-card-planner__checkbox")||this.querySelector(".mealz-product-card__checkbox")){this.hasEmittedReady=!0;const t=new CustomEvent("products-picker-ready",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}scrollToFirstUnavailable(){const e=document.querySelector(this.plannerMode?".mealz-products-picker":".mealz-products-picker__container");if(e){const t=e.querySelector(this.plannerMode?".mealz-product-card-planner.unavailable":".mealz-product-card__container.out_of_stock");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}}isAlreadyOnCatalogPage(){return window.location.href.includes(r.router.getCatalogUrl())}closeRecipeModal(){}currentPath(){return""}guestsChange(){const e=new CustomEvent("guestChange",{bubbles:!0,composed:!0});this.dispatchEvent(e)}render(){var e,t,a;return s`
|
|
377
377
|
<div class="mealz-products-picker">
|
|
378
378
|
${this.inBasket&&this.plannerMode?s`
|
|
379
379
|
<div class="mealz-products-picker__overlay">
|
|
@@ -388,17 +388,17 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
388
388
|
${this.renderHeader()}
|
|
389
389
|
<div class="mealz-products-picker__list">
|
|
390
390
|
<!-- TO PICK PRODUCTS -->
|
|
391
|
-
${((e=this.productsByCategory)==null?void 0:e.toPickProducts.length)>0?this.productsByCategory.toPickProducts.map(
|
|
391
|
+
${((e=this.productsByCategory)==null?void 0:e.toPickProducts.length)>0?this.productsByCategory.toPickProducts.map(n=>{var i,l,c,_;return this.plannerMode?s`
|
|
392
392
|
<mealz-product-card-planner
|
|
393
|
-
.product="${
|
|
393
|
+
.product="${n}"
|
|
394
394
|
.recipeId="${this.recipe.id}"
|
|
395
395
|
.oftenIgnored="${!1}"
|
|
396
396
|
.initialGuests="${((i=this.recipe)==null?void 0:i.attributes["number-of-guests"])||4}"
|
|
397
|
-
.currentGuests="${this.recipe.modifiedGuests||((
|
|
397
|
+
.currentGuests="${this.recipe.modifiedGuests||((l=this.recipe)==null?void 0:l.attributes["number-of-guests"])||4}"
|
|
398
398
|
></mealz-product-card-planner>
|
|
399
399
|
`:s`
|
|
400
400
|
<mealz-product-card
|
|
401
|
-
.product="${
|
|
401
|
+
.product="${n}"
|
|
402
402
|
.recipeId="${this.recipe.id}"
|
|
403
403
|
.initialGuests="${((c=this.recipe)==null?void 0:c.attributes["number-of-guests"])||4}"
|
|
404
404
|
.currentGuests="${this.recipe.modifiedGuests||((_=this.recipe)==null?void 0:_.attributes["number-of-guests"])||4}"
|
|
@@ -409,22 +409,22 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
409
409
|
</div>
|
|
410
410
|
<!-- OFTEN IGNORED PRODUCTS -->
|
|
411
411
|
<div class="mealz-products-picker__secondary-list">
|
|
412
|
-
${((
|
|
412
|
+
${((a=(t=this.productsByCategory)==null?void 0:t.oftenIgnoredProducts)==null?void 0:a.length)>0?s`
|
|
413
413
|
<span class="mealz-ds-text weight-xl">
|
|
414
414
|
Déjà dans le placard
|
|
415
415
|
</span>
|
|
416
416
|
<div class="mealz-products-picker__list">
|
|
417
|
-
${this.productsByCategory.oftenIgnoredProducts.map(
|
|
417
|
+
${this.productsByCategory.oftenIgnoredProducts.map(n=>{var i,l,c,_;return this.plannerMode?s`
|
|
418
418
|
<mealz-product-card-planner
|
|
419
|
-
.product="${
|
|
419
|
+
.product="${n}"
|
|
420
420
|
.recipeId="${this.recipe.id}"
|
|
421
421
|
.oftenIgnored="${!0}"
|
|
422
422
|
.initialGuests="${((i=this.recipe)==null?void 0:i.attributes["number-of-guests"])||4}"
|
|
423
|
-
.currentGuests="${this.recipe.modifiedGuests||((
|
|
423
|
+
.currentGuests="${this.recipe.modifiedGuests||((l=this.recipe)==null?void 0:l.attributes["number-of-guests"])||4}"
|
|
424
424
|
></mealz-product-card-planner>
|
|
425
425
|
`:s`
|
|
426
426
|
<mealz-product-card
|
|
427
|
-
.product="${
|
|
427
|
+
.product="${n}"
|
|
428
428
|
.recipeId="${this.recipe.id}"
|
|
429
429
|
.initialGuests="${((c=this.recipe)==null?void 0:c.attributes["number-of-guests"])||4}"
|
|
430
430
|
.currentGuests="${this.recipe.modifiedGuests||((_=this.recipe)==null?void 0:_.attributes["number-of-guests"])||4}"
|
|
@@ -475,7 +475,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
475
475
|
<div class="mealz-products-picker__more">
|
|
476
476
|
${!this.isAlreadyOnCatalogPage()&&!this.plannerMode?s`
|
|
477
477
|
<a class="mealz-products-picker__more-anchor"
|
|
478
|
-
href="${
|
|
478
|
+
href="${r.router.getCatalogUrl()}"
|
|
479
479
|
@click="${this.sendHomeDisplayEvent}">
|
|
480
480
|
<button class="mealz-products-picker__go-to-catalog-button mealz-ds-button secondary">
|
|
481
481
|
<span class="mealz-ds-text weight-l size-s">Voir plus d'idées repas</span>
|
|
@@ -488,7 +488,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
488
488
|
`}
|
|
489
489
|
</div>
|
|
490
490
|
<mealz-legal-notice .tags="${this.recipe.relationships.tags}"></mealz-legal-notice>
|
|
491
|
-
`}sendHomeDisplayEvent(){
|
|
491
|
+
`}sendHomeDisplayEvent(){r.analytics.sendEvent("home.display",this.analyticsPath,{})}};k([p({type:Boolean})],z.prototype,"inBasket",2);k([p({type:Boolean})],z.prototype,"plannerMode",2);z=k([h("mealz-products-picker")],z);customElements.get("mealz-products-picker")||customElements.define("mealz-products-picker",z);var ne=Object.getOwnPropertyDescriptor,le=(e,t,a,n)=>{for(var i=n>1?void 0:n?ne(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let $=class extends u{constructor(){super(),this.invalidPos=!1,this.subscriptions=[],this.styleURL=new URL("./recipe-details/no-pos-selected/no-pos-selected.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.listenIfPosInvalid()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}listenIfPosInvalid(){this.subscriptions.push(r.recipes.invalidPosDisplay$.subscribe(e=>{this.invalidPos=e,this.requestUpdate()}))}callPosSelector(){const e=new CustomEvent("posSelected",{bubbles:!0,composed:!0});this.dispatchEvent(e)}openStoreLocator(){const e=document.querySelector("mealz-drawer-view-swapper");e&&e.displayStoreLocator$.next(!0)}render(){return s`
|
|
492
492
|
<div class="mealz-no-pos-selected">
|
|
493
493
|
${this.invalidPos?s`
|
|
494
494
|
<!-- INVALID POS -->
|
|
@@ -528,7 +528,7 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
528
528
|
Sélectionner un magasin
|
|
529
529
|
</button>
|
|
530
530
|
</div>
|
|
531
|
-
`}};$=
|
|
531
|
+
`}};$=le([h("mealz-no-pos-selected")],$);customElements.get("mealz-no-pos-selected")||customElements.define("mealz-no-pos-selected",$);var ce=Object.getOwnPropertyDescriptor,oe=(e,t,a,n)=>{for(var i=n>1?void 0:n?ce(t,a):t,l=e.length-1,c;l>=0;l--)(c=e[l])&&(i=c(i)||i);return i};let O=class extends u{constructor(){super(),this.activeTabIndex=0,this.subscriptions=[],this.remainingBasketEntries=[],this.guestObserverService=L.getInstance(),this.isSticky=!1,this.styleURL=new URL("./recipe-details/recipe-details.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.handleNoSupplierMode(),this.subscriptions.push(w(r.recipes.displayedRecipe$.pipe(I(e=>!!e),G(e=>{this.recipe=e.recipe,this.sponsor=e.recipe.relationships.sponsors.data[0],this.analyticsPath=`/recipes/${this.recipe.id}/shopping`,this.plannerMode=e.planner,this.getLikeButton(),this.checkSponsorStorytelling(),this.pageview(),this.listenToCloseEvent(),this.setStickyObserver(),this.startRecipeDetailsOnboardingIfNeeded()}),T(()=>this.listenToRecipeInBasket())),this.listenPosStatus(),this.listenRemainingBasketEntries(),this.listenLastOrderDate(),this.listenToLoadingStates(),this.listenToAddAllToBasket()).subscribe(()=>{this.requestUpdate()})),this.addEventListener("products-picker-ready",()=>this.startRecipeDetailsOnboardingIfNeeded())}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe()),this.topObserver&&this.topObserver.disconnect(),this.stickyTimeout&&clearTimeout(this.stickyTimeout)}setStickyObserver(){this.topObserver||this.updateComplete.then(()=>{const e=this.querySelector(".mealz-recipe-details__sticky-anchor");e&&(this.topObserver=new IntersectionObserver(([t])=>{this.stickyTimeout&&clearTimeout(this.stickyTimeout),this.stickyTimeout=window.setTimeout(()=>{const a=!t.isIntersecting;this.isSticky!==a&&(this.isSticky=a,this.requestUpdate())},150)},{threshold:0}),this.topObserver.observe(e))})}startRecipeDetailsOnboardingIfNeeded(){localStorage.getItem("_miam/recipeDetailsOnboarding")==="true"||!this.plannerMode||this.updateComplete.then(()=>{this.scrollJustAfterImage();let t=document.querySelector("mealz-planner-onboarding");t?t.type="recipe-details":(t=new q,t.type="recipe-details",document.body.appendChild(t)),t.launchOnboardingTour()})}scrollJustAfterImage(){const e=this.querySelector(".mealz-recipe-details__tabs");if(!e)return;const t=document.querySelector(".mealz-drawer__content-container");if(t){const a=e.getBoundingClientRect(),n=t.getBoundingClientRect();t.scrollTop+=a.top-n.top;return}e.scrollIntoView({behavior:"smooth",block:"start"})}handleNoSupplierMode(){this.noSupplier=r.supplier.isNoSupplier(),this.requestUpdate()}close(){this.sendCloseEvent(),r.recipes.displayedRecipe$.next(null)}listenToCloseEvent(){document.querySelector("mealz-drawer").addEventListener("drawerClosed",()=>{this.sendCloseEvent()})}selectTab(e){this.activeTabIndex=e,this.activeTabIndex===1&&this.sendCookingDisplayEvent(),this.requestUpdate()}getLikeButton(){this.noSupplier||this.subscriptions.push(r.user.isAuthenticated().pipe(I(e=>e),T(()=>r.html.like(this.recipe.id))).subscribe(e=>{this.likeButtonHTML=e,this.requestUpdate()}))}checkSponsorStorytelling(){this.sponsor&&this.subscriptions.push(r.sponsor.hasStorytelling(this.sponsor.id).subscribe(e=>{this.hasSponsorStorytelling=e,this.requestUpdate()}))}listenPosStatus(){return E({noPosDisplay:r.recipes.noPosDisplay$,invalidPosDisplay:r.recipes.invalidPosDisplay$}).pipe(d(({noPosDisplay:e,invalidPosDisplay:t})=>{this.noPosDisplay=e,this.invalidPosDisplay=t,this.activeTabIndex=e?1:0}))}listenLastOrderDate(){return r.recipes.orderHistoryDate$.pipe(d(e=>{this.orderHistoryDate=e}))}listenToLoadingStates(){return E([r.recipes.ingredientToBasketLoading$,r.recipes.updateIngredientFromBasketLoading$]).pipe(d(([e,t])=>{this.basketIsUpdating=e||t}))}listenRemainingBasketEntries(){return r.recipes.remainingBasketEntries$.pipe(d(e=>{this.remainingBasketEntries=e}))}listenToAddAllToBasket(){return r.recipes.allIngredientsToBasketLoading$.pipe(d(e=>{e&&(this.selectTab(0),setTimeout(()=>{this.scrollToPicker()},50))}))}listenToRecipeInBasket(){return r.recipes.isRecipeInBasket(this.recipe.id).pipe(d(e=>{this.inBasket=e}))}scrollToPicker(){const e=this.querySelector(".mealz-products-picker");if(e){const t=this.querySelector(".mealz-recipe-details__title-container"),a=(t==null?void 0:t.offsetHeight)||0;e.style.scrollMarginTop=`${a}px`,e.scrollIntoView({behavior:"instant",block:"start"})}}scrollToReplacedItem(e){var a,n;const t=this.querySelectorAll("mealz-product-card-planner");for(const i of Array.from(t)){const l=i;if(((n=(a=l.product)==null?void 0:a.item)==null?void 0:n.id)===e){l.scrollIntoView({behavior:"instant",block:"center"});break}}}openLastOrderModal(){this.sendOrderedDisplayEvent();const e=new M;e.recipeId=this.recipe.id,e.addEventListener("orderAgain",()=>this.orderAgain()),e.displayLastOrderModal(this.orderHistoryDate)}orderAgain(){r.recipes.addAllIngredientsToBasket({originPath:this.analyticsPath,props:{}})}updateGuests(e){if(this.recipe.modifiedGuests===e.detail.value)return;this.recipe.modifiedGuests=e.detail.value,this.guestObserverService.updateGuests(this.recipe.modifiedGuests);const t={originPath:this.analyticsPath,props:{}};this.plannerMode?r.planner.updateGuests(this.recipe.modifiedGuests,t):r.recipes.updateGuests(t),this.requestUpdate()}render(){return s`
|
|
532
532
|
<div class="mealz-recipe-details">
|
|
533
533
|
<!-- IF IS LOADING -->
|
|
534
534
|
${this.recipe?o:s`
|
|
@@ -695,4 +695,4 @@ import"../drawer/drawer.min.js";import"../recipe-pricing/recipe-pricing.min.js";
|
|
|
695
695
|
</div>
|
|
696
696
|
`:o}
|
|
697
697
|
</div>
|
|
698
|
-
`}showRecipeAddon(){this.sendSponsorDisplayEvent(),document.querySelector("mealz-drawer-view-swapper").displayRecipeAddon$.next(!0)}pageview(){
|
|
698
|
+
`}showRecipeAddon(){this.sendSponsorDisplayEvent(),document.querySelector("mealz-drawer-view-swapper").displayRecipeAddon$.next(!0)}pageview(){r.analytics.sendEvent("pageview",this.analyticsPath,{})}sendSponsorDisplayEvent(){r.analytics.sendEvent("sponsor.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendCloseEvent(){r.analytics.sendEvent("recipe.close",this.analyticsPath,{recipe_id:this.recipe.id})}sendCookingDisplayEvent(){r.analytics.sendEvent("recipe.cooking.display",this.analyticsPath,{recipe_id:this.recipe.id})}sendOrderedDisplayEvent(){r.analytics.sendEvent("recipe.ordered.display",this.analyticsPath,{recipe_id:this.recipe.id})}};O=oe([h("mealz-recipe-details")],O);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../assets/store-locator-
|
|
1
|
+
import"../assets/store-locator-Crx8huGH.js";import{N as h,k as c}from"../assets/no-shadow-element-l9trQfcI.js";import{t as o}from"../assets/custom-element-BhZVzxrc.js";import{n as b}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(e,t,i,l)=>{for(var s=l>1?void 0:l?m(t,i):t,d=e.length-1,r;d>=0;d--)(r=e[d])&&(s=(l?r(t,i,s):r(s))||s);return l&&s&&p(t,i,s),s};let a=class extends h{constructor(){super(),this._selectedTabIndex=0,this.styleURL=new URL("./slider-tabs/slider-tabs.css",this.getBaseURL())}get selectedTabIndex(){return this._selectedTabIndex}set selectedTabIndex(e){this._selectedTabIndex!==e&&(this._selectedTabIndex=e,this.sliderElement&&this.updateSlider())}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}firstUpdated(){this.sliderElement=this.querySelector(".mealz-slider-tab__background"),this.updateSlider()}render(){return c`
|
|
2
2
|
<div class="mealz-slider-tabs">
|
|
3
3
|
${this.tabs.map((e,t)=>c`
|
|
4
4
|
<button
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../assets/store-locator-
|
|
1
|
+
import"../assets/store-locator-Crx8huGH.js";import{N as p,D as m,k as u,m as l}from"../assets/no-shadow-element-l9trQfcI.js";import{t as d}from"../assets/custom-element-BhZVzxrc.js";import{n as h}from"../assets/property-leIVgCvV.js";import"../assets/state-CccUMzBZ.js";import"../assets/query-BApjzB0v.js";var b=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,i,a)=>{for(var t=a>1?void 0:a?w(s,i):s,o=e.length-1,n;o>=0;o--)(n=e[o])&&(t=(a?n(s,i,t):n(t))||t);return a&&t&&b(s,i,t),t};let r=class extends p{constructor(){super(),this.analyticsPath="",this.subscriptions=[],this.styleURL=new URL("./store-indicator/store-indicator.css",this.getBaseURL())}connectedCallback(){super.connectedCallback(),this.setCurrentPosLabel()}disconnectedCallback(){super.disconnectedCallback(),this.subscriptions.forEach(e=>e.unsubscribe())}render(){return this.currentPosLabel?u`
|
|
2
2
|
<div class="mealz-store-indicator">
|
|
3
3
|
<span class="mealz-store-indicator__pos-label mealz-ds-text weight-xl">
|
|
4
4
|
${this.currentPosLabel}
|