ng-miam 8.0.3 → 8.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/bundles/ng-miam.umd.js +170 -113
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +1 -1
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/icon/icon.component.js +1 -1
  6. package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +1 -1
  7. package/esm2015/lib/_components/product-card/product-card.component.js +20 -23
  8. package/esm2015/lib/_services/context.service.js +1 -1
  9. package/esm2015/lib/_services/ingredients.service.js +1 -1
  10. package/esm2015/lib/_services/interceptor.service.js +2 -2
  11. package/esm2015/lib/_services/items.service.js +1 -1
  12. package/esm2015/lib/_services/recipe-details.service.js +54 -35
  13. package/esm2015/lib/_utils/directives/in-viewport.directive.js +66 -0
  14. package/esm2015/lib/_utils/directives/index.js +2 -1
  15. package/esm2015/lib/_utils/utils.module.js +10 -7
  16. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +15 -15
  17. package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
  18. package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +1 -1
  19. package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +1 -1
  20. package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
  21. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +18 -42
  22. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +1 -1
  23. package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +1 -1
  24. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +1 -1
  25. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +1 -1
  26. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +2 -1
  27. package/fesm2015/ng-miam.js +164 -112
  28. package/fesm2015/ng-miam.js.map +1 -1
  29. package/lib/_components/product-card/product-card.component.d.ts +1 -1
  30. package/lib/_components/product-card/product-card.component.d.ts.map +1 -1
  31. package/lib/_services/items.service.d.ts +3 -1
  32. package/lib/_services/items.service.d.ts.map +1 -1
  33. package/lib/_services/recipe-details.service.d.ts +19 -7
  34. package/lib/_services/recipe-details.service.d.ts.map +1 -1
  35. package/lib/_utils/directives/in-viewport.directive.d.ts +20 -0
  36. package/lib/_utils/directives/in-viewport.directive.d.ts.map +1 -0
  37. package/lib/_utils/directives/index.d.ts +1 -0
  38. package/lib/_utils/directives/index.d.ts.map +1 -1
  39. package/lib/_utils/utils.module.d.ts +2 -1
  40. package/lib/_utils/utils.module.d.ts.map +1 -1
  41. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +2 -2
  42. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts.map +1 -1
  43. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +3 -9
  44. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts.map +1 -1
  45. package/miam-style.css +1 -1
  46. package/package.json +1 -1
@@ -7066,6 +7066,72 @@
7066
7066
  }] });
7067
7067
  })();
7068
7068
 
7069
+ var InViewportDirective = /** @class */ (function () {
7070
+ function InViewportDirective(elementRef) {
7071
+ this.elementRef = elementRef;
7072
+ this.threshold = 0.8;
7073
+ this.debounceTime = 1000;
7074
+ this.condition = true;
7075
+ this.inViewport = new i0.EventEmitter();
7076
+ this.intersectionSubject = new rxjs.Subject();
7077
+ this.isObserving = false;
7078
+ }
7079
+ InViewportDirective.prototype.ngOnInit = function () {
7080
+ var _this = this;
7081
+ var options = {
7082
+ root: null,
7083
+ rootMargin: '0px',
7084
+ threshold: this.threshold,
7085
+ };
7086
+ this.observer = new IntersectionObserver(function (entries) {
7087
+ entries.forEach(function (entry) { return _this.intersectionSubject.next(entry); });
7088
+ }, options);
7089
+ this.intersectionSubject
7090
+ .pipe(operators.debounceTime(this.debounceTime))
7091
+ .subscribe(function (entry) { return _this.handleIntersection(entry); });
7092
+ this.observer.observe(this.elementRef.nativeElement);
7093
+ this.isObserving = true;
7094
+ };
7095
+ InViewportDirective.prototype.ngOnChanges = function (change) {
7096
+ if (this.isObserving && change.condition) {
7097
+ this.handleIntersection.bind(this);
7098
+ }
7099
+ };
7100
+ InViewportDirective.prototype.ngOnDestroy = function () {
7101
+ if (this.observer) {
7102
+ this.observer.disconnect();
7103
+ }
7104
+ this.isObserving = false;
7105
+ this.intersectionSubject.complete();
7106
+ };
7107
+ InViewportDirective.prototype.handleIntersection = function (entry) {
7108
+ if (this.condition && entry.isIntersecting) {
7109
+ this.inViewport.emit();
7110
+ this.observer.disconnect();
7111
+ this.isObserving = false;
7112
+ }
7113
+ };
7114
+ return InViewportDirective;
7115
+ }());
7116
+ InViewportDirective.ɵfac = function InViewportDirective_Factory(t) { return new (t || InViewportDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef)); };
7117
+ InViewportDirective.ɵdir = i0__namespace.ɵɵdefineDirective({ type: InViewportDirective, selectors: [["", "ngMiamInViewport", ""]], inputs: { threshold: "threshold", debounceTime: "debounceTime", condition: "condition" }, outputs: { inViewport: "inViewport" }, features: [i0__namespace.ɵɵNgOnChangesFeature] });
7118
+ (function () {
7119
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InViewportDirective, [{
7120
+ type: i0.Directive,
7121
+ args: [{
7122
+ selector: '[ngMiamInViewport]'
7123
+ }]
7124
+ }], function () { return [{ type: i0__namespace.ElementRef }]; }, { threshold: [{
7125
+ type: i0.Input
7126
+ }], debounceTime: [{
7127
+ type: i0.Input
7128
+ }], condition: [{
7129
+ type: i0.Input
7130
+ }], inViewport: [{
7131
+ type: i0.Output
7132
+ }] });
7133
+ })();
7134
+
7069
7135
  var _c0$s = ["counterInput"];
7070
7136
  function CounterInputComponent_img_3_Template(rf, ctx) {
7071
7137
  if (rf & 1) {
@@ -7553,11 +7619,14 @@
7553
7619
  })();
7554
7620
 
7555
7621
  var RecipeDetailsService = /** @class */ (function () {
7556
- function RecipeDetailsService(basketsService, recipeService, analyticsService, ignoredBasketsService) {
7622
+ function RecipeDetailsService(basketsService, recipeService, analyticsService, posService, userService, ignoredBasketsService, contextService) {
7557
7623
  this.basketsService = basketsService;
7558
7624
  this.recipeService = recipeService;
7559
7625
  this.analyticsService = analyticsService;
7626
+ this.posService = posService;
7627
+ this.userService = userService;
7560
7628
  this.ignoredBasketsService = ignoredBasketsService;
7629
+ this.contextService = contextService;
7561
7630
  this.productsByCategory = {
7562
7631
  toPickProducts: [],
7563
7632
  oftenIgnoredProducts: [],
@@ -7736,39 +7805,10 @@
7736
7805
  RecipeDetailsService.prototype.updateProductQuantity = function (basketEntry, newQuantity, eventTrace) {
7737
7806
  this.basketsService.changeProductQuantity(basketEntry, this.recipe.id, newQuantity, eventTrace);
7738
7807
  };
7739
- RecipeDetailsService.prototype.basketEntryForIngredient = function (ingredient) {
7740
- return this.products.find(function (p) { return p.ingredient.id === ingredient.id; }).basketEntry;
7741
- };
7742
- /**
7743
- * Listens to the basket preview and updates the products' basket entry based on the provided recipe ID.
7744
- */
7745
- RecipeDetailsService.prototype.listenBasketPreview = function () {
7746
- var _this = this;
7747
- this.basketsService._basketPreview$.subscribe(function (basketPreviewLines) {
7748
- var _a;
7749
- if (basketPreviewLines) {
7750
- var entriesForRecipe_1 = basketPreviewLines.find(function (basketPreviewLine) { var _a; return basketPreviewLine.id === ((_a = _this.recipe) === null || _a === void 0 ? void 0 : _a.id); });
7751
- if ((_a = entriesForRecipe_1 === null || entriesForRecipe_1 === void 0 ? void 0 : entriesForRecipe_1.entries) === null || _a === void 0 ? void 0 : _a.all) {
7752
- _this.products.forEach(function (product) {
7753
- var _a;
7754
- product.basketEntry = (_a = entriesForRecipe_1.entries.all.find(function (basketEntry) { return basketEntry.name === product.basketEntry.name; })) !== null && _a !== void 0 ? _a : product.basketEntry;
7755
- });
7756
- _this.setProductsByCategory();
7757
- }
7758
- }
7759
- });
7760
- };
7761
7808
  RecipeDetailsService.prototype.addAllIngredientsToBasket = function (eventTrace) {
7762
7809
  var _this = this;
7763
7810
  this.allIngredientsToBasketLoading = true;
7764
- this.basketsService.recipeIsInBasket(this.recipe.id)
7765
- .pipe(operators.take(1))
7766
- .subscribe(function (recipeIsInBasket) {
7767
- if (!recipeIsInBasket) {
7768
- _this.basketsService.addRecipesToBasket([_this.recipe.id], _this.recipe.modifiedGuests, eventTrace, false);
7769
- }
7770
- _this.basketsService.addIngredientsToBasket(_this.recipe.id, _this.remainingProducts(), eventTrace);
7771
- });
7811
+ this.canAddProductToBasket(eventTrace).subscribe(function () { return _this.basketsService.addIngredientsToBasket(_this.recipe.id, _this.remainingProducts(), eventTrace); });
7772
7812
  };
7773
7813
  // If the recipe is already in basket, update the number of guests (= append recipe to list again)
7774
7814
  RecipeDetailsService.prototype.updateGuests = function (eventTrace) {
@@ -7800,6 +7840,46 @@
7800
7840
  ignoreSelected: ignoreSelected
7801
7841
  };
7802
7842
  };
7843
+ /**
7844
+ * Calls hookCallback before adding a product to basket & adds the recipes if products can be added
7845
+ * @param eventTrace needed to add recipe to basket
7846
+ * @returns [islogged: boolean, posWasInitialized: boolean, recipeIsInBasket: boolean]
7847
+ */
7848
+ RecipeDetailsService.prototype.canAddProductToBasket = function (eventTrace) {
7849
+ var _this = this;
7850
+ return rxjs.forkJoin([
7851
+ this.userService.isLogged$.asObservable().pipe(operators.take(1)),
7852
+ this.posService.posWasInitialized().pipe(operators.take(1)),
7853
+ this.basketsService.recipeIsInBasket(this.recipe.id).pipe(operators.take(1))
7854
+ ]).pipe(operators.tap(function (res) {
7855
+ var isHookOk = _this.contextService.hookCallback(res[0], res[1]);
7856
+ if (isHookOk && !res[2]) {
7857
+ _this.basketsService.addRecipesToBasket([_this.recipe.id], _this.recipe.modifiedGuests, eventTrace, false);
7858
+ }
7859
+ }));
7860
+ };
7861
+ RecipeDetailsService.prototype.basketEntryForIngredient = function (ingredient) {
7862
+ return this.products.find(function (p) { return p.ingredient.id === ingredient.id; }).basketEntry;
7863
+ };
7864
+ /**
7865
+ * Listens to the basket preview and updates the products' basket entry based on the provided recipe ID.
7866
+ */
7867
+ RecipeDetailsService.prototype.listenBasketPreview = function () {
7868
+ var _this = this;
7869
+ this.basketsService._basketPreview$.subscribe(function (basketPreviewLines) {
7870
+ var _a;
7871
+ if (basketPreviewLines) {
7872
+ var entriesForRecipe_1 = basketPreviewLines.find(function (basketPreviewLine) { var _a; return basketPreviewLine.id === ((_a = _this.recipe) === null || _a === void 0 ? void 0 : _a.id); });
7873
+ if ((_a = entriesForRecipe_1 === null || entriesForRecipe_1 === void 0 ? void 0 : entriesForRecipe_1.entries) === null || _a === void 0 ? void 0 : _a.all) {
7874
+ _this.products.forEach(function (product) {
7875
+ var _a;
7876
+ product.basketEntry = (_a = entriesForRecipe_1.entries.all.find(function (basketEntry) { return basketEntry.name === product.basketEntry.name; })) !== null && _a !== void 0 ? _a : product.basketEntry;
7877
+ });
7878
+ _this.setProductsByCategory();
7879
+ }
7880
+ }
7881
+ });
7882
+ };
7803
7883
  RecipeDetailsService.prototype.isIngredientIgnored = function (product) {
7804
7884
  if (this.ignoredBasketsService.isIngredientIgnored(product.ingredient.id)) {
7805
7885
  product.basketEntry.status = 'ignored';
@@ -7807,7 +7887,7 @@
7807
7887
  };
7808
7888
  return RecipeDetailsService;
7809
7889
  }());
7810
- RecipeDetailsService.ɵfac = function RecipeDetailsService_Factory(t) { return new (t || RecipeDetailsService)(i0__namespace.ɵɵinject(BasketsService), i0__namespace.ɵɵinject(RecipesService), i0__namespace.ɵɵinject(AnalyticsService), i0__namespace.ɵɵinject(IgnoredIngredientsService)); };
7890
+ RecipeDetailsService.ɵfac = function RecipeDetailsService_Factory(t) { return new (t || RecipeDetailsService)(i0__namespace.ɵɵinject(BasketsService), i0__namespace.ɵɵinject(RecipesService), i0__namespace.ɵɵinject(AnalyticsService), i0__namespace.ɵɵinject(PointOfSalesService), i0__namespace.ɵɵinject(UserService), i0__namespace.ɵɵinject(IgnoredIngredientsService), i0__namespace.ɵɵinject(ContextService)); };
7811
7891
  RecipeDetailsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: RecipeDetailsService, factory: RecipeDetailsService.ɵfac, providedIn: 'root' });
7812
7892
  (function () {
7813
7893
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RecipeDetailsService, [{
@@ -7815,7 +7895,7 @@
7815
7895
  args: [{
7816
7896
  providedIn: 'root'
7817
7897
  }]
7818
- }], function () { return [{ type: BasketsService }, { type: RecipesService }, { type: AnalyticsService }, { type: IgnoredIngredientsService }]; }, null);
7898
+ }], function () { return [{ type: BasketsService }, { type: RecipesService }, { type: AnalyticsService }, { type: PointOfSalesService }, { type: UserService }, { type: IgnoredIngredientsService }, { type: ContextService }]; }, null);
7819
7899
  })();
7820
7900
 
7821
7901
  var ScrollingService = /** @class */ (function () {
@@ -7938,7 +8018,7 @@
7938
8018
  request = request.clone({
7939
8019
  setHeaders: {
7940
8020
  'miam-origin': this.context.origin.value,
7941
- 'miam-front-version': '8.0.2',
8021
+ 'miam-front-version': '8.0.4',
7942
8022
  'miam-front-type': 'web',
7943
8023
  'miam-api-version': '4.7.0'
7944
8024
  }
@@ -9551,7 +9631,7 @@
9551
9631
  i0__namespace.ɵɵadvance(13);
9552
9632
  i0__namespace.ɵɵproperty("iconName", ctx.icon.ChevronDown);
9553
9633
  }
9554
- }, directives: [IconComponent], styles: [".m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{display:flex;justify-content:center;align-items:center;border-radius:var(--m-button-radius);padding:var(--m-button-padding);cursor:pointer;font-size:var(--m-button-text-size);line-height:var(--m-button-text-height);font-weight:var(--m-button-text-weight);outline:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{color:var(--m-color-white);background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{color:var(--m-color-primary);background-color:var(--m-color-white);border:1px solid var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{color:var(--m-color-primary);background-color:var(--m-color-white);border:1px solid var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{color:var(--m-color-white);background-color:var(--m-color-primary);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{color:var(--m-color-white);background-color:var(--m-color-secondary);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{color:var(--m-color-secondary);background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{color:var(--m-color-secondary);background-color:var(--m-color-white);border:1px solid var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{color:var(--m-color-white);background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{color:var(--m-color-grey03);background-color:var(--m-color-white);border:1px solid var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{color:var(--m-color-white);background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{color:var(--m-color-white);background-color:var(--m-color-grey03);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{color:var(--m-color-grey03);background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-body-typo,.m-h1-typo,.m-input,.m-input>*,.m-small-typo,.m-title-text-input:focus-within .miam-text-input__label,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-family:Work Sans;font-style:normal;font-weight:500;font-size:var(--m-font-size-medium);line-height:24px;color:var(--m-color-slate)}.m-h1-typo,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-weight:700;font-size:40px;line-height:48px}.m-small-typo{font-size:var(--m-font-size-small);line-height:16px}.m-input{display:flex;justify-content:space-between;align-items:center;max-width:320px;min-width:200px;border:1px solid var(--m-color-grey06);border-radius:5px;padding:8px 16px;margin-top:16px;outline:none}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.m-default-card{box-shadow:var(--m-shadow-small);background-color:var(--m-color-unpure-white);padding:16px;border-radius:8px}@media (max-width:1023px){.m-default-card{padding:8px;margin-bottom:8px}}.miam-meals-planner-link{display:flex;position:relative;height:var(--m-catalog-card-height);margin:calc(var(--m-catalog-cards-spacing) / 2);width:var(--m-catalog-card-width);flex-grow:1;background-image:url(https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/background-meals-planner-link.jpeg);background-position:50%;background-size:cover;border-radius:8px;cursor:pointer}.miam-meals-planner-link .miam-meals-planner-link__gradient{display:flex;flex-grow:1;border-radius:8px;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.5))}.miam-meals-planner-link .miam-meals-planner-link__content{position:absolute;top:12px;right:12px;left:12px;bottom:12px;display:flex;flex-grow:1;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__title{font-weight:900;font-size:32px;line-height:120%}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__description{margin-top:8px;font-weight:500;font-size:16px;line-height:150%}.miam-meals-planner-link .miam-meals-planner-link__cta{position:absolute;width:-moz-fit-content;width:fit-content;left:50%;bottom:12px;transform:translateX(-50%)}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon{display:none}.miam-meals-planner-link:hover .miam-meals-planner-link__cta .m-button-primary{color:#fff;background-color:var(--m-color-primary);border-color:var(--m-color-primary)}@media (max-width:1023px){.miam-meals-planner-link{height:144px;width:100%;max-width:unset;margin:0}.miam-meals-planner-link .miam-meals-planner-link__content{right:unset;flex-grow:1;max-width:calc(100% - 96px);text-align:left}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__title{font-weight:900;font-size:20px;line-height:120%}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__description{display:none}.miam-meals-planner-link .miam-meals-planner-link__cta{bottom:unset;left:unset;right:12px;top:50%;transform:translateY(-50%)}.miam-meals-planner-link .miam-meals-planner-link__cta button{display:none}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon{display:initial;transform:rotate(-90deg)}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon .icon-container svg path:last-child{fill:#fff}}"], encapsulation: 2 });
9634
+ }, directives: [IconComponent], styles: [".m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{display:flex;justify-content:center;align-items:center;border-radius:var(--m-button-radius);padding:var(--m-button-padding);cursor:pointer;font-size:var(--m-button-text-size);line-height:var(--m-button-text-height);font-weight:var(--m-button-text-weight);outline:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{color:var(--m-color-white);background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{color:var(--m-color-primary);background-color:var(--m-color-white);border:1px solid var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{color:var(--m-color-primary);background-color:var(--m-color-white);border:1px solid var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{color:var(--m-color-white);background-color:var(--m-color-primary);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{color:var(--m-color-white);background-color:var(--m-color-secondary);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{color:var(--m-color-secondary);background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{color:var(--m-color-secondary);background-color:var(--m-color-white);border:1px solid var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{color:var(--m-color-white);background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{color:var(--m-color-grey03);background-color:var(--m-color-white);border:1px solid var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{color:var(--m-color-white);background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{color:var(--m-color-white);background-color:var(--m-color-grey03);border:1px solid var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{color:var(--m-color-grey03);background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-body-typo,.m-h1-typo,.m-input,.m-input>*,.m-small-typo,.m-title-text-input:focus-within .miam-text-input__label,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-family:Work Sans;font-style:normal;font-weight:500;font-size:var(--m-font-size-medium);line-height:24px;color:var(--m-color-slate)}.m-h1-typo,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-weight:700;font-size:40px;line-height:48px}.m-small-typo{font-size:var(--m-font-size-small);line-height:16px}.m-input{display:flex;justify-content:space-between;align-items:center;max-width:320px;min-width:200px;border:1px solid var(--m-color-grey06);border-radius:5px;padding:8px 16px;margin-top:16px;outline:none}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.m-default-card{box-shadow:var(--m-shadow-small);background-color:var(--m-color-unpure-white);padding:16px;border-radius:8px}@media (max-width:1023px){.m-default-card{padding:8px;margin-bottom:8px}}.miam-meals-planner-link{display:flex;position:relative;height:var(--m-catalog-card-height);width:var(--m-catalog-card-width);flex-grow:1;background-image:url(https://storage.googleapis.com/assets.miam.tech/generic/meals-planner/background-meals-planner-link.jpeg);background-position:50%;background-size:cover;border-radius:8px;cursor:pointer}.miam-meals-planner-link .miam-meals-planner-link__gradient{display:flex;flex-grow:1;border-radius:8px;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.5))}.miam-meals-planner-link .miam-meals-planner-link__content{position:absolute;top:12px;right:12px;left:12px;bottom:12px;display:flex;flex-grow:1;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__title{font-weight:900;font-size:32px;line-height:120%}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__description{margin-top:8px;font-weight:500;font-size:16px;line-height:150%}.miam-meals-planner-link .miam-meals-planner-link__cta{position:absolute;width:-moz-fit-content;width:fit-content;left:50%;bottom:12px;transform:translateX(-50%)}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon{display:none}.miam-meals-planner-link:hover .miam-meals-planner-link__cta .m-button-primary{color:#fff;background-color:var(--m-color-primary);border-color:var(--m-color-primary)}@media (max-width:1023px){.miam-meals-planner-link{height:144px;width:100%;max-width:unset;margin:0}.miam-meals-planner-link .miam-meals-planner-link__content{right:unset;flex-grow:1;max-width:calc(100% - 96px);text-align:left}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__title{font-weight:900;font-size:20px;line-height:120%}.miam-meals-planner-link .miam-meals-planner-link__content .miam-meals-planner-link__description{display:none}.miam-meals-planner-link .miam-meals-planner-link__cta{bottom:unset;left:unset;right:12px;top:50%;transform:translateY(-50%)}.miam-meals-planner-link .miam-meals-planner-link__cta button{display:none}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon{display:initial;transform:rotate(-90deg)}.miam-meals-planner-link .miam-meals-planner-link__cta ng-miam-icon .icon-container svg path:last-child{fill:#fff}}"], encapsulation: 2 });
9555
9635
  (function () {
9556
9636
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(MealsPlannerLinkComponent, [{
9557
9637
  type: i0.Component,
@@ -11975,7 +12055,7 @@
11975
12055
 
11976
12056
  function ProductCardComponent_div_0_ng_container_11_div_13_Template(rf, ctx) {
11977
12057
  if (rf & 1) {
11978
- i0__namespace.ɵɵelementStart(0, "div", 16);
12058
+ i0__namespace.ɵɵelementStart(0, "div", 23);
11979
12059
  i0__namespace.ɵɵelementStart(1, "span");
11980
12060
  i0__namespace.ɵɵtext(2, "Sponsoris\u00E9");
11981
12061
  i0__namespace.ɵɵelementEnd();
@@ -11985,10 +12065,10 @@
11985
12065
  function ProductCardComponent_div_0_ng_container_11_ng_container_22_button_4_Template(rf, ctx) {
11986
12066
  if (rf & 1) {
11987
12067
  var _r11_1 = i0__namespace.ɵɵgetCurrentView();
11988
- i0__namespace.ɵɵelementStart(0, "button", 27);
12068
+ i0__namespace.ɵɵelementStart(0, "button", 28);
11989
12069
  i0__namespace.ɵɵlistener("click", function ProductCardComponent_div_0_ng_container_11_ng_container_22_button_4_Template_button_click_0_listener() { i0__namespace.ɵɵrestoreView(_r11_1); var ctx_r10 = i0__namespace.ɵɵnextContext(4); return ctx_r10.addToBasket(); });
11990
12070
  i0__namespace.ɵɵpipe(1, "async");
11991
- i0__namespace.ɵɵelement(2, "img", 28);
12071
+ i0__namespace.ɵɵelement(2, "img", 29);
11992
12072
  i0__namespace.ɵɵelementEnd();
11993
12073
  }
11994
12074
  if (rf & 2) {
@@ -11998,8 +12078,8 @@
11998
12078
  }
11999
12079
  function ProductCardComponent_div_0_ng_container_11_ng_container_22_button_5_Template(rf, ctx) {
12000
12080
  if (rf & 1) {
12001
- i0__namespace.ɵɵelementStart(0, "button", 29);
12002
- i0__namespace.ɵɵelement(1, "div", 30);
12081
+ i0__namespace.ɵɵelementStart(0, "button", 30);
12082
+ i0__namespace.ɵɵelement(1, "div", 31);
12003
12083
  i0__namespace.ɵɵelementEnd();
12004
12084
  }
12005
12085
  }
@@ -12007,14 +12087,14 @@
12007
12087
  if (rf & 1) {
12008
12088
  var _r13_1 = i0__namespace.ɵɵgetCurrentView();
12009
12089
  i0__namespace.ɵɵelementContainerStart(0);
12010
- i0__namespace.ɵɵelementStart(1, "button", 23);
12090
+ i0__namespace.ɵɵelementStart(1, "button", 24);
12011
12091
  i0__namespace.ɵɵlistener("click", function ProductCardComponent_div_0_ng_container_11_ng_container_22_Template_button_click_1_listener() { i0__namespace.ɵɵrestoreView(_r13_1); var ctx_r12 = i0__namespace.ɵɵnextContext(3); return ctx_r12.ignoreProduct(); });
12012
- i0__namespace.ɵɵelementStart(2, "span", 24);
12092
+ i0__namespace.ɵɵelementStart(2, "span", 25);
12013
12093
  i0__namespace.ɵɵtext(3, "Ignorer ce produit");
12014
12094
  i0__namespace.ɵɵelementEnd();
12015
12095
  i0__namespace.ɵɵelementEnd();
12016
- i0__namespace.ɵɵtemplate(4, ProductCardComponent_div_0_ng_container_11_ng_container_22_button_4_Template, 3, 3, "button", 25);
12017
- i0__namespace.ɵɵtemplate(5, ProductCardComponent_div_0_ng_container_11_ng_container_22_button_5_Template, 2, 0, "button", 26);
12096
+ i0__namespace.ɵɵtemplate(4, ProductCardComponent_div_0_ng_container_11_ng_container_22_button_4_Template, 3, 3, "button", 26);
12097
+ i0__namespace.ɵɵtemplate(5, ProductCardComponent_div_0_ng_container_11_ng_container_22_button_5_Template, 2, 0, "button", 27);
12018
12098
  i0__namespace.ɵɵelementContainerEnd();
12019
12099
  }
12020
12100
  if (rf & 2) {
@@ -12029,7 +12109,7 @@
12029
12109
  if (rf & 1) {
12030
12110
  var _r15_1 = i0__namespace.ɵɵgetCurrentView();
12031
12111
  i0__namespace.ɵɵelementContainerStart(0);
12032
- i0__namespace.ɵɵelementStart(1, "ng-miam-counter-input", 31);
12112
+ i0__namespace.ɵɵelementStart(1, "ng-miam-counter-input", 32);
12033
12113
  i0__namespace.ɵɵlistener("valueChange", function ProductCardComponent_div_0_ng_container_11_ng_container_23_Template_ng_miam_counter_input_valueChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r15_1); var ctx_r14 = i0__namespace.ɵɵnextContext(3); return ctx_r14.counterChanged($event); });
12034
12114
  i0__namespace.ɵɵelementEnd();
12035
12115
  i0__namespace.ɵɵelementContainerEnd();
@@ -12093,7 +12173,7 @@
12093
12173
  i0__namespace.ɵɵadvance(3);
12094
12174
  i0__namespace.ɵɵtextInterpolate2(" ", i0__namespace.ɵɵpipeBind2(12, 9, ctx_r1.basketEntry.selectedItem.capacityVolume, "1.0-2"), " ", ctx_r1.basketEntry.selectedItem.capacityUnit, " ");
12095
12175
  i0__namespace.ɵɵadvance(2);
12096
- i0__namespace.ɵɵproperty("ngIf", ctx_r1.isSponsored);
12176
+ i0__namespace.ɵɵproperty("ngIf", true);
12097
12177
  i0__namespace.ɵɵadvance(6);
12098
12178
  i0__namespace.ɵɵtextInterpolate1(" ", i0__namespace.ɵɵpipeBind2(20, 12, ctx_r1.updatedPrice, ctx_r1.basketEntry.selectedItem.attributes.currency), " ");
12099
12179
  i0__namespace.ɵɵadvance(3);
@@ -12106,7 +12186,7 @@
12106
12186
  if (rf & 1) {
12107
12187
  var _r21_1 = i0__namespace.ɵɵgetCurrentView();
12108
12188
  i0__namespace.ɵɵelementContainerStart(0);
12109
- i0__namespace.ɵɵelementStart(1, "span", 32);
12189
+ i0__namespace.ɵɵelementStart(1, "span", 33);
12110
12190
  i0__namespace.ɵɵtext(2, " Cet ingr\u00E9dient ne sera pas ajout\u00E9 \u00E0 votre panier ");
12111
12191
  i0__namespace.ɵɵelementEnd();
12112
12192
  i0__namespace.ɵɵelementStart(3, "button", 18);
@@ -12121,7 +12201,7 @@
12121
12201
  function ProductCardComponent_div_0_ng_template_12_ng_container_1_Template(rf, ctx) {
12122
12202
  if (rf & 1) {
12123
12203
  i0__namespace.ɵɵelementContainerStart(0);
12124
- i0__namespace.ɵɵelementStart(1, "span", 32);
12204
+ i0__namespace.ɵɵelementStart(1, "span", 33);
12125
12205
  i0__namespace.ɵɵtext(2, " Cet ingr\u00E9dient n\u2019est pas disponible ");
12126
12206
  i0__namespace.ɵɵelementEnd();
12127
12207
  i0__namespace.ɵɵelementContainerEnd();
@@ -12141,8 +12221,8 @@
12141
12221
  }
12142
12222
  function ProductCardComponent_div_0_div_14_Template(rf, ctx) {
12143
12223
  if (rf & 1) {
12144
- i0__namespace.ɵɵelementStart(0, "div", 33);
12145
- i0__namespace.ɵɵelementStart(1, "span", 34);
12224
+ i0__namespace.ɵɵelementStart(0, "div", 34);
12225
+ i0__namespace.ɵɵelementStart(1, "span", 35);
12146
12226
  i0__namespace.ɵɵtext(2);
12147
12227
  i0__namespace.ɵɵelementEnd();
12148
12228
  i0__namespace.ɵɵelementEnd();
@@ -12290,10 +12370,7 @@
12290
12370
  var _this = this;
12291
12371
  this.loadingAddToBasket = true;
12292
12372
  var recipe = this.recipeDetailsService.recipe;
12293
- this.subscriptions.push(this.basketsService.recipeIsInBasket(recipe.id).pipe(operators.take(1)).subscribe(function (recipeIsInBasket) {
12294
- if (!recipeIsInBasket) {
12295
- _this.basketsService.addRecipesToBasket([recipe.id], recipe.modifiedGuests, _this.eventTrace(), false);
12296
- }
12373
+ this.subscriptions.push(this.recipeDetailsService.canAddProductToBasket(this.eventTrace()).subscribe(function () {
12297
12374
  _this.basketsService.addIngredientsToBasket(recipe.id, [{ ingredientId: _this.ingredient.id, entry: _this.basketEntry }], _this.eventTrace());
12298
12375
  }));
12299
12376
  };
@@ -12343,7 +12420,7 @@
12343
12420
  return ProductCardComponent;
12344
12421
  }(EventTracerComponent));
12345
12422
  ProductCardComponent.ɵfac = function ProductCardComponent_Factory(t) { return new (t || ProductCardComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.ChangeDetectorRef), i0__namespace.ɵɵdirectiveInject(BasketsService), i0__namespace.ɵɵdirectiveInject(RecipeDetailsService), i0__namespace.ɵɵdirectiveInject(RecipesService), i0__namespace.ɵɵdirectiveInject(AnalyticsService), i0__namespace.ɵɵdirectiveInject(ItemsService), i0__namespace.ɵɵdirectiveInject(IgnoredIngredientsService), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef)); };
12346
- ProductCardComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: ProductCardComponent, selectors: [["ng-miam-product-card"]], inputs: { basketEntry: "basketEntry", ingredient: "ingredient" }, features: [i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "miam-product-card__container", 3, "ngClass", 4, "ngIf"], [1, "miam-product-card__container", 3, "ngClass"], [1, "miam-product-card__header", 3, "ngClass"], [1, "miam-product-card__header-name", "miam-ds-text", "size-l", "weight-xxl", 3, "ngClass"], [1, "miam-product-card__header-quantity", "miam-ds-text", "size-s", "weight-l", 3, "ngClass"], [1, "miam-product-card__content", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["disabledProduct", ""], ["class", "miam-product-card__footer", 4, "ngIf"], [1, "miam-product-card__selected-product"], [1, "miam-product-card__picture-column"], ["alt", "product picture", 1, "miam-product-card__picture", 3, "src"], [1, "miam-product-card__info-column"], [1, "miam-ds-text", "size-xs", "weight-xl", "miam-product-card__details", "product-brand"], [1, "miam-ds-text", "size-xs", "miam-product-card__details", "product-fullname"], [1, "miam-product-card__badges"], [1, "miam-ds-badge"], ["class", "miam-ds-badge", 4, "ngIf"], [1, "miam-ds-button", "ghost", 3, "click"], [1, "miam-product-card__lower-action"], [1, "miam-product-card__price", "miam-ds-text", "size-l", "weight-xxl"], [1, "miam-product-card__cta"], [4, "ngIf"], [1, "miam-ds-button", "miam-product-card__ignore-product", "ghost", "small", 3, "click"], [1, "miam-product-card__disabled-text"], ["class", "miam-ds-button miam-product-card__add-product square primary", 3, "disabled", "click", 4, "ngIf"], ["class", "miam-ds-button miam-product-card__loading-button square primary", 4, "ngIf"], [1, "miam-ds-button", "miam-product-card__add-product", "square", "primary", 3, "disabled", "click"], ["alt", "basket icon", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"], [1, "miam-ds-button", "miam-product-card__loading-button", "square", "primary"], [1, "miam-ds-loader"], ["minRange", "0", 3, "value", "minusLoading", "valueChange"], [1, "miam-ds-text", "miam-product-card__disabled-text"], [1, "miam-product-card__footer"], [1, "miam-ds-text", "size-xs", "weight-xl", "light-text"]], template: function ProductCardComponent_Template(rf, ctx) {
12423
+ ProductCardComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: ProductCardComponent, selectors: [["ng-miam-product-card"]], inputs: { basketEntry: "basketEntry", ingredient: "ingredient" }, features: [i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "miam-product-card__container", 3, "ngClass", 4, "ngIf"], [1, "miam-product-card__container", 3, "ngClass"], [1, "miam-product-card__header", 3, "ngClass"], [1, "miam-product-card__header-name", "miam-ds-text", "size-l", "weight-xxl", 3, "ngClass"], [1, "miam-product-card__header-quantity", "miam-ds-text", "size-s", "weight-l", 3, "ngClass"], [1, "miam-product-card__content", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["disabledProduct", ""], ["class", "miam-product-card__footer", 4, "ngIf"], [1, "miam-product-card__selected-product"], [1, "miam-product-card__picture-column"], ["alt", "product picture", 1, "miam-product-card__picture", 3, "src"], [1, "miam-product-card__info-column"], [1, "miam-ds-text", "size-xs", "weight-xl", "miam-product-card__details", "product-brand"], [1, "miam-ds-text", "size-xs", "miam-product-card__details", "product-fullname"], [1, "miam-product-card__badges"], [1, "miam-ds-badge"], ["class", "miam-ds-badge outline", 4, "ngIf"], [1, "miam-ds-button", "ghost", 3, "click"], [1, "miam-product-card__lower-action"], [1, "miam-product-card__price", "miam-ds-text", "size-l", "weight-xxl"], [1, "miam-product-card__cta"], [4, "ngIf"], [1, "miam-ds-badge", "outline"], [1, "miam-ds-button", "miam-product-card__ignore-product", "ghost", "small", 3, "click"], [1, "miam-product-card__disabled-text"], ["class", "miam-ds-button miam-product-card__add-product square primary", 3, "disabled", "click", 4, "ngIf"], ["class", "miam-ds-button miam-product-card__loading-button square primary", 4, "ngIf"], [1, "miam-ds-button", "miam-product-card__add-product", "square", "primary", 3, "disabled", "click"], ["alt", "basket icon", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"], [1, "miam-ds-button", "miam-product-card__loading-button", "square", "primary"], [1, "miam-ds-loader"], ["minRange", "0", 3, "value", "minusLoading", "valueChange"], [1, "miam-ds-text", "miam-product-card__disabled-text"], [1, "miam-product-card__footer"], [1, "miam-ds-text", "size-xs", "weight-xl", "light-text"]], template: function ProductCardComponent_Template(rf, ctx) {
12347
12424
  if (rf & 1) {
12348
12425
  i0__namespace.ɵɵtemplate(0, ProductCardComponent_div_0_Template, 15, 25, "div", 0);
12349
12426
  }
@@ -12723,13 +12800,15 @@
12723
12800
  CapitalizeFirstLetterPipe,
12724
12801
  AutowidthInputDirective,
12725
12802
  ExtendedDatePipe,
12726
- ReachTopDirective], exports: [ReadableFloatNumberPipe,
12803
+ ReachTopDirective,
12804
+ InViewportDirective], exports: [ReadableFloatNumberPipe,
12727
12805
  EllipsisPipe,
12728
12806
  SafePipe,
12729
12807
  CapitalizeFirstLetterPipe,
12730
12808
  AutowidthInputDirective,
12731
12809
  ExtendedDatePipe,
12732
- ReachTopDirective] });
12810
+ ReachTopDirective,
12811
+ InViewportDirective] });
12733
12812
  })();
12734
12813
  (function () {
12735
12814
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(UtilsModule, [{
@@ -12743,7 +12822,8 @@
12743
12822
  CapitalizeFirstLetterPipe,
12744
12823
  AutowidthInputDirective,
12745
12824
  ExtendedDatePipe,
12746
- ReachTopDirective
12825
+ ReachTopDirective,
12826
+ InViewportDirective
12747
12827
  ],
12748
12828
  exports: [
12749
12829
  ReadableFloatNumberPipe,
@@ -12752,7 +12832,8 @@
12752
12832
  CapitalizeFirstLetterPipe,
12753
12833
  AutowidthInputDirective,
12754
12834
  ExtendedDatePipe,
12755
- ReachTopDirective
12835
+ ReachTopDirective,
12836
+ InViewportDirective
12756
12837
  ]
12757
12838
  }]
12758
12839
  }], null, null);
@@ -14374,27 +14455,27 @@
14374
14455
  this.basketEntry.addRelationship(item, 'selected-item');
14375
14456
  this.addToBasket();
14376
14457
  this.recipeDetailsService.hasReplaced = true;
14377
- this.loadOnSelect ? this.emitWhenRequestsEnded() : this.selected.emit(this.basketEntry.id);
14458
+ this.emitWhenRequestsEnded();
14378
14459
  };
14379
14460
  ReplaceItemComponent.prototype.addToBasket = function () {
14380
14461
  var _this = this;
14381
- this.subscriptions.push(this.basketsService.recipeIsInBasket(this.recipe.id)
14382
- .pipe(operators.take(1))
14383
- .subscribe(function (recipeIsInBasket) {
14384
- if (!recipeIsInBasket) {
14385
- _this.basketsService.addRecipesToBasket([_this.recipe.id], _this.recipe.modifiedGuests, _this.eventTrace(), false);
14386
- }
14462
+ this.subscriptions.push(this.recipeDetailsService.canAddProductToBasket(this.eventTrace()).subscribe(function () {
14387
14463
  _this.basketsService.addIngredientsToBasket(_this.recipe.id, [{ ingredientId: _this.ingredient.id, entry: _this.basketEntry }], _this.eventTrace(), _this.previousItem, _this.searchString);
14388
14464
  }));
14389
14465
  this.cdr.detectChanges();
14390
14466
  };
14391
14467
  ReplaceItemComponent.prototype.emitWhenRequestsEnded = function () {
14392
14468
  var _this = this;
14393
- this.subscriptions.push(this.basketsService.ingredientWillBeAdded(this.ingredient.id).subscribe(function (addIngredient) {
14394
- if (!addIngredient && _this.replaceItemLoading) {
14395
- _this.selected.emit(_this.basketEntry.id);
14396
- }
14397
- }));
14469
+ if (this.loadOnSelect) {
14470
+ this.selected.emit(this.basketEntry.id);
14471
+ }
14472
+ else {
14473
+ this.subscriptions.push(this.basketsService.ingredientWillBeAdded(this.ingredient.id).subscribe(function (addIngredient) {
14474
+ if (!addIngredient && _this.replaceItemLoading) {
14475
+ _this.selected.emit(_this.basketEntry.id);
14476
+ }
14477
+ }));
14478
+ }
14398
14479
  };
14399
14480
  ReplaceItemComponent.prototype.fetchItems = function () {
14400
14481
  var _this = this;
@@ -17214,7 +17295,7 @@
17214
17295
  */
17215
17296
  var RecipeCardComponent = /** @class */ (function (_super) {
17216
17297
  __extends(RecipeCardComponent, _super);
17217
- function RecipeCardComponent(cdr, recipeService, basketsService, userService, contextService, analyticsService, element, scrollService) {
17298
+ function RecipeCardComponent(cdr, recipeService, basketsService, userService, contextService, analyticsService, element) {
17218
17299
  var _this = _super.call(this, analyticsService) || this;
17219
17300
  _this.cdr = cdr;
17220
17301
  _this.recipeService = recipeService;
@@ -17223,7 +17304,6 @@
17223
17304
  _this.contextService = contextService;
17224
17305
  _this.analyticsService = analyticsService;
17225
17306
  _this.element = element;
17226
- _this.scrollService = scrollService;
17227
17307
  _this.previewAllowed = true;
17228
17308
  _this.helpButtonAllowed = true;
17229
17309
  _this.displayPricing = true;
@@ -17239,13 +17319,10 @@
17239
17319
  _this.openCatalog = new i0.EventEmitter();
17240
17320
  _this.hide = new i0.EventEmitter();
17241
17321
  _this.icon = exports.Icon;
17242
- _this.addButtonLoading = false;
17243
17322
  _this.actionsOpened = false;
17244
17323
  _this.isloaded = false;
17245
17324
  _this.displayLikesBottom = false;
17246
17325
  _this.displayBadge = false;
17247
- _this.analyticsEventSent = false;
17248
- _this.sendShowEventsOnScroll = true;
17249
17326
  _this.primaryButtonClicked$ = new i0.EventEmitter();
17250
17327
  _this.subscriptions = [];
17251
17328
  return _this;
@@ -17276,12 +17353,6 @@
17276
17353
  };
17277
17354
  RecipeCardComponent.prototype.ngAfterViewInit = function () {
17278
17355
  var _this = this;
17279
- this.subscriptions.push(this.scrollService.scroll$.subscribe(function () {
17280
- if (_this.sendShowEventsOnScroll) {
17281
- _this.sendShowEvent();
17282
- }
17283
- }));
17284
- this.sendShowEvent();
17285
17356
  this.subscriptions.push(this.basketsService.basket$.subscribe(function () { return _this.cdr.detectChanges(); }));
17286
17357
  this.subscriptions.push(this.recipeService.reloadRecipes$.subscribe(function (shouldReload) {
17287
17358
  if (shouldReload) {
@@ -17338,24 +17409,8 @@
17338
17409
  this.actionsOpened = false;
17339
17410
  this.cdr.detectChanges();
17340
17411
  };
17341
- // //////////////////////////////////////// CHECK IF CARD ENTERS THE VIEWPORT //////////////////////////////////////// //
17342
- RecipeCardComponent.prototype.isInViewport = function () {
17343
- var rect = this.element.nativeElement.getBoundingClientRect();
17344
- return (rect.top >= 0 &&
17345
- rect.bottom <= (window.innerHeight || document.documentElement.clientHeight));
17346
- };
17347
- // Send analytics event when :
17348
- // - new recipe is to be displayed AND is already visible in viewport
17349
- // OR
17350
- // - user scrolls and recipe becomes visible in viewport
17351
17412
  RecipeCardComponent.prototype.sendShowEvent = function () {
17352
- if (!this.recipe) {
17353
- return false;
17354
- }
17355
- if (!this.analyticsEventSent && this.isInViewport()) {
17356
- this.sendEvent(this.analyticsService.EVENT_RECIPE_SHOW);
17357
- this.analyticsEventSent = true;
17358
- }
17413
+ this.sendEvent(this.analyticsService.EVENT_RECIPE_SHOW);
17359
17414
  };
17360
17415
  // //////////////////////////////////////// FETCH THE RECIPE //////////////////////////////////////// //
17361
17416
  /**
@@ -17419,8 +17474,8 @@
17419
17474
  };
17420
17475
  return RecipeCardComponent;
17421
17476
  }(EventTracerComponent));
17422
- RecipeCardComponent.ɵfac = function RecipeCardComponent_Factory(t) { return new (t || RecipeCardComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.ChangeDetectorRef), i0__namespace.ɵɵdirectiveInject(RecipesService), i0__namespace.ɵɵdirectiveInject(BasketsService), i0__namespace.ɵɵdirectiveInject(UserService), i0__namespace.ɵɵdirectiveInject(ContextService), i0__namespace.ɵɵdirectiveInject(AnalyticsService), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef), i0__namespace.ɵɵdirectiveInject(ScrollingService)); };
17423
- RecipeCardComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: RecipeCardComponent, selectors: [["ng-miam-recipe-card"]], inputs: { recipeId: "recipeId", recipe: "recipe", randomModeEnable: "randomModeEnable", productIds: "productIds", previewAllowed: "previewAllowed", helpButtonAllowed: "helpButtonAllowed", displayPricing: "displayPricing", displayGuests: "displayGuests", addRecipeMode: "addRecipeMode", replaceMode: "replaceMode", displayVariant: "displayVariant" }, outputs: { removedFromFavorite: "removedFromFavorite", displayed: "displayed", actionTriggered: "actionTriggered", removeFromMealsPlanner: "removeFromMealsPlanner", addToMealsPlanner: "addToMealsPlanner", openCatalog: "openCatalog", hide: "hide" }, features: [i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵNgOnChangesFeature], decls: 3, vars: 7, consts: function () {
17477
+ RecipeCardComponent.ɵfac = function RecipeCardComponent_Factory(t) { return new (t || RecipeCardComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.ChangeDetectorRef), i0__namespace.ɵɵdirectiveInject(RecipesService), i0__namespace.ɵɵdirectiveInject(BasketsService), i0__namespace.ɵɵdirectiveInject(UserService), i0__namespace.ɵɵdirectiveInject(ContextService), i0__namespace.ɵɵdirectiveInject(AnalyticsService), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef)); };
17478
+ RecipeCardComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: RecipeCardComponent, selectors: [["ng-miam-recipe-card"]], inputs: { recipeId: "recipeId", recipe: "recipe", randomModeEnable: "randomModeEnable", productIds: "productIds", previewAllowed: "previewAllowed", helpButtonAllowed: "helpButtonAllowed", displayPricing: "displayPricing", displayGuests: "displayGuests", addRecipeMode: "addRecipeMode", replaceMode: "replaceMode", displayVariant: "displayVariant" }, outputs: { removedFromFavorite: "removedFromFavorite", displayed: "displayed", actionTriggered: "actionTriggered", removeFromMealsPlanner: "removeFromMealsPlanner", addToMealsPlanner: "addToMealsPlanner", openCatalog: "openCatalog", hide: "hide" }, features: [i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵNgOnChangesFeature], decls: 3, vars: 8, consts: function () {
17424
17479
  var i18n_0;
17425
17480
  if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
17426
17481
  var MSG_EXTERNAL_9004334984468055592$$LIB__WEB_COMPONENTS_RECIPE_CARDS_RECIPE_CARD_RECIPE_CARD_COMPONENT_TS___1 = goog.getMsg("Changer");
@@ -17437,22 +17492,23 @@
17437
17492
  else {
17438
17493
  i18n_2 = $localize(templateObject_2$i || (templateObject_2$i = __makeTemplateObject([":\u241F8aa969e69241c7c5838b40348f913519d6349371\u241F70397346439942337:Ajouter"], [":\u241F8aa969e69241c7c5838b40348f913519d6349371\u241F70397346439942337:Ajouter"])));
17439
17494
  }
17440
- return [[1, "miam-recipe-card", 3, "ngClass"], ["class", "miam-recipe-card__container", 4, "ngIf"], [3, "close", "actionTriggered", 4, "ngIf"], [1, "miam-recipe-card__container"], [1, "miam-recipe-card__top", 3, "click"], [1, "miam-recipe-card__picture"], ["loading", "lazy", 3, "src", "alt"], [1, "miam-recipe-card__gradient"], [1, "miam-recipe-card__content"], [1, "miam-recipe-card__top-container"], ["class", "miam-recipe-card__like", 4, "ngIf"], ["class", "miam-recipe-card__sponsor-container", 4, "ngIf"], ["class", "miam-recipe-card__badge-container", 4, "ngIf"], [1, "miam-recipe-card__picture__bottom"], [1, "miam-recipe-card__title", "miam-ds-text", "weight-xxl", "size-m"], [1, "miam-recipe-card__counter"], [1, "miam-ds-text", "weight-xxl", "size-m"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/recipe-counter.svg", "alt", "people"], [1, "miam-recipe-card__bottom", 3, "click"], ["class", "miam-recipe-card__ingredients__pictures", 4, "ngIf"], [1, "miam-recipe-card__actions"], ["class", "miam-recipe-card__price", 4, "ngIf"], [1, "miam-recipe-card__cta"], ["class", "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", "width", "height", 4, "ngIf"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked", 4, "ngIf"], ["class", "miam-recipe-card__actions__replace", 4, "ngIf"], ["class", "miam-ds-button ghost", 3, "click", 4, "ngIf"], [1, "miam-recipe-card__like"], ["class", "miam-recipe-card__actions__icon", 3, "click", 4, "ngIf", "ngIfElse"], ["like", ""], [1, "miam-recipe-card__actions__icon", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], [1, "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", "width", "height"], [1, "miam-recipe-card__sponsor-container"], ["alt", "sponsor picture", 1, "miam-recipe-card__sponsor-picture", 3, "src"], [1, "miam-recipe-card__badge-container"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "recipe badge", 1, "miam-recipe-card__badge"], [1, "miam-recipe-card__ingredients__pictures"], [1, "miam-recipe-card__ingredients__picture"], ["alt", "first ingredient picture", 3, "src"], ["alt", "second ingredient picture", 3, "src"], ["class", "miam-recipe-card__ingredients__more", 4, "ngIf"], [1, "miam-recipe-card__ingredients__more"], [1, "miam-recipe-card__price"], [1, "miam-ds-text", "weight-xxl", 3, "recipeId", "serves"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked"], [1, "miam-recipe-card__actions__replace"], [1, "miam-ds-button", "ghost", 3, "click"], i18n_0, [1, "miam-ds-button", "ghost", "square", 3, "click"], i18n_2, [3, "close", "actionTriggered"]];
17495
+ return [["ngMiamInViewport", "", 1, "miam-recipe-card", 3, "condition", "ngClass", "inViewport"], ["class", "miam-recipe-card__container", 4, "ngIf"], [3, "close", "actionTriggered", 4, "ngIf"], [1, "miam-recipe-card__container"], [1, "miam-recipe-card__top", 3, "click"], [1, "miam-recipe-card__picture"], ["loading", "lazy", 3, "src", "alt"], [1, "miam-recipe-card__gradient"], [1, "miam-recipe-card__content"], [1, "miam-recipe-card__top-container"], ["class", "miam-recipe-card__like", 4, "ngIf"], ["class", "miam-recipe-card__sponsor-container", 4, "ngIf"], ["class", "miam-recipe-card__badge-container", 4, "ngIf"], [1, "miam-recipe-card__picture__bottom"], [1, "miam-recipe-card__title", "miam-ds-text", "weight-xxl", "size-m"], [1, "miam-recipe-card__counter"], [1, "miam-ds-text", "weight-xxl", "size-m"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/recipe-counter.svg", "alt", "people"], [1, "miam-recipe-card__bottom", 3, "click"], ["class", "miam-recipe-card__ingredients__pictures", 4, "ngIf"], [1, "miam-recipe-card__actions"], ["class", "miam-recipe-card__price", 4, "ngIf"], [1, "miam-recipe-card__cta"], ["class", "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", "width", "height", 4, "ngIf"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked", 4, "ngIf"], ["class", "miam-recipe-card__actions__replace", 4, "ngIf"], ["class", "miam-ds-button ghost", 3, "click", 4, "ngIf"], [1, "miam-recipe-card__like"], ["class", "miam-recipe-card__actions__icon", 3, "click", 4, "ngIf", "ngIfElse"], ["like", ""], [1, "miam-recipe-card__actions__icon", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], [1, "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", "width", "height"], [1, "miam-recipe-card__sponsor-container"], ["alt", "sponsor picture", 1, "miam-recipe-card__sponsor-picture", 3, "src"], [1, "miam-recipe-card__badge-container"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "recipe badge", 1, "miam-recipe-card__badge"], [1, "miam-recipe-card__ingredients__pictures"], [1, "miam-recipe-card__ingredients__picture"], ["alt", "first ingredient picture", 3, "src"], ["alt", "second ingredient picture", 3, "src"], ["class", "miam-recipe-card__ingredients__more", 4, "ngIf"], [1, "miam-recipe-card__ingredients__more"], [1, "miam-recipe-card__price"], [1, "miam-ds-text", "weight-xxl", 3, "recipeId", "serves"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked"], [1, "miam-recipe-card__actions__replace"], [1, "miam-ds-button", "ghost", 3, "click"], i18n_0, [1, "miam-ds-button", "ghost", "square", 3, "click"], i18n_2, [3, "close", "actionTriggered"]];
17441
17496
  }, template: function RecipeCardComponent_Template(rf, ctx) {
17442
17497
  if (rf & 1) {
17443
17498
  i0__namespace.ɵɵelementStart(0, "div", 0);
17499
+ i0__namespace.ɵɵlistener("inViewport", function RecipeCardComponent_Template_div_inViewport_0_listener() { return ctx.sendShowEvent(); });
17444
17500
  i0__namespace.ɵɵtemplate(1, RecipeCardComponent_div_1_Template, 28, 15, "div", 1);
17445
17501
  i0__namespace.ɵɵtemplate(2, RecipeCardComponent_ng_miam_actions_popin_2_Template, 1, 0, "ng-miam-actions-popin", 2);
17446
17502
  i0__namespace.ɵɵelementEnd();
17447
17503
  }
17448
17504
  if (rf & 2) {
17449
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction3(3, _c4, ctx.displayVariant !== 2 && ctx.displayVariant !== 3, ctx.displayVariant === 2, ctx.displayVariant === 3));
17505
+ i0__namespace.ɵɵproperty("condition", !!ctx.recipe)("ngClass", i0__namespace.ɵɵpureFunction3(4, _c4, ctx.displayVariant !== 2 && ctx.displayVariant !== 3, ctx.displayVariant === 2, ctx.displayVariant === 3));
17450
17506
  i0__namespace.ɵɵadvance(1);
17451
17507
  i0__namespace.ɵɵproperty("ngIf", ctx.recipe);
17452
17508
  i0__namespace.ɵɵadvance(1);
17453
17509
  i0__namespace.ɵɵproperty("ngIf", ctx.actionsOpened);
17454
17510
  }
17455
- }, directives: [i2__namespace$1.NgClass, i2__namespace$1.NgIf, IconComponent, LikeButtonComponent, RecipePricingComponent, RecipeCardCtaComponent, ActionsPopinComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-recipe-card{position:relative;display:flex;width:var(--m-catalog-card-width,308px);height:500px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:8px;overflow:hidden;cursor:pointer}.miam-recipe-card .miam-recipe-card__container{display:flex;flex-direction:column;height:100%;width:100%;flex-shrink:0;align-self:stretch}.miam-recipe-card .miam-recipe-card__container:hover .miam-recipe-card__top .miam-recipe-card__picture img{transform:scale(1.1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top{position:relative;flex:1;height:calc(100% - 72px)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture{width:100%;height:100%;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__gradient{position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(180deg,transparent 43.67%,rgba(0,0,0,.4) 91.33%)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:12px;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__title{color:var(--miam-ds-color-neutral-white,#fff);text-shadow:0 2px 8px rgba(0,0,0,.15);text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter{display:flex;padding:4px 8px;align-items:center;gap:4px;border-radius:100px;background:var(--miam-ds-color-neutral-white,#fff);color:var(--miam-color-neutral-black);height:-moz-fit-content;height:fit-content;flex-shrink:0}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter span{line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter img{width:16px;height:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container{display:flex;flex-direction:row-reverse;justify-content:space-between;margin:12px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container{display:flex;padding:8px 12px;background-color:#fff;border-radius:100px;width:auto;height:auto;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container .miam-recipe-card__sponsor-picture{width:auto;height:auto;max-width:80px;max-height:40px;-o-object-fit:contain;object-fit:contain}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom{display:flex;width:100%;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:12px;border-radius:0 0 8px 8px;background-color:var(--miam-ds-color-neutral-white,#fff);border-right:1px solid var(--borders-default,#d9dde1);border-bottom:1px solid var(--borders-default,#d9dde1);border-left:1px solid var(--borders-default,#d9dde1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions{display:flex;gap:8px;justify-content:space-between;align-items:center;align-self:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__cta{display:flex;flex-direction:row;gap:16px;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price{color:var(--miam-ds-color-primary);line-height:100%;margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing{max-width:70px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{color:rgba(31,53,67,.5);font-weight:500;line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__actions__replace{display:flex;flex:1;justify-content:space-between;align-items:center}"], encapsulation: 2, changeDetection: 0 });
17511
+ }, directives: [InViewportDirective, i2__namespace$1.NgClass, i2__namespace$1.NgIf, IconComponent, LikeButtonComponent, RecipePricingComponent, RecipeCardCtaComponent, ActionsPopinComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-recipe-card{position:relative;display:flex;width:var(--m-catalog-card-width,308px);height:500px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:8px;overflow:hidden;cursor:pointer}.miam-recipe-card .miam-recipe-card__container{display:flex;flex-direction:column;height:100%;width:100%;flex-shrink:0;align-self:stretch}.miam-recipe-card .miam-recipe-card__container:hover .miam-recipe-card__top .miam-recipe-card__picture img{transform:scale(1.1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top{position:relative;flex:1;height:calc(100% - 72px)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture{width:100%;height:100%;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__gradient{position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(180deg,transparent 43.67%,rgba(0,0,0,.4) 91.33%)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:12px;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__title{color:var(--miam-ds-color-neutral-white,#fff);text-shadow:0 2px 8px rgba(0,0,0,.15);text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter{display:flex;padding:4px 8px;align-items:center;gap:4px;border-radius:100px;background:var(--miam-ds-color-neutral-white,#fff);color:var(--miam-color-neutral-black);height:-moz-fit-content;height:fit-content;flex-shrink:0}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter span{line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter img{width:16px;height:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container{display:flex;flex-direction:row-reverse;justify-content:space-between;margin:12px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container{display:flex;padding:8px 12px;background-color:#fff;border-radius:100px;width:auto;height:auto;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container .miam-recipe-card__sponsor-picture{width:auto;height:auto;max-width:80px;max-height:40px;-o-object-fit:contain;object-fit:contain}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom{display:flex;width:100%;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:12px;border-radius:0 0 8px 8px;background-color:var(--miam-ds-color-neutral-white,#fff);border-right:1px solid var(--borders-default,#d9dde1);border-bottom:1px solid var(--borders-default,#d9dde1);border-left:1px solid var(--borders-default,#d9dde1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions{display:flex;gap:8px;justify-content:space-between;align-items:center;align-self:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__cta{display:flex;flex-direction:row;gap:16px;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price{color:var(--miam-ds-color-primary);line-height:100%;margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing{max-width:70px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{color:rgba(31,53,67,.5);font-weight:500;line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__actions__replace{display:flex;flex:1;justify-content:space-between;align-items:center}"], encapsulation: 2, changeDetection: 0 });
17456
17512
  (function () {
17457
17513
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RecipeCardComponent, [{
17458
17514
  type: i0.Component,
@@ -17463,7 +17519,7 @@
17463
17519
  encapsulation: i0.ViewEncapsulation.None,
17464
17520
  changeDetection: i0.ChangeDetectionStrategy.OnPush
17465
17521
  }]
17466
- }], function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: RecipesService }, { type: BasketsService }, { type: UserService }, { type: ContextService }, { type: AnalyticsService }, { type: i0__namespace.ElementRef }, { type: ScrollingService }]; }, { recipeId: [{
17522
+ }], function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: RecipesService }, { type: BasketsService }, { type: UserService }, { type: ContextService }, { type: AnalyticsService }, { type: i0__namespace.ElementRef }]; }, { recipeId: [{
17467
17523
  type: i0.Input
17468
17524
  }], recipe: [{
17469
17525
  type: i0.Input
@@ -17546,7 +17602,7 @@
17546
17602
  i0__namespace.ɵɵadvance(2);
17547
17603
  i0__namespace.ɵɵproperty("iconName", ctx.icon.Plus);
17548
17604
  }
17549
- }, directives: [IconComponent], styles: ["ng-miam-add-recipe-card{flex-grow:1}.miam-add-recipe-card{margin:calc(var(--m-catalog-cards-spacing) / 2);border-radius:8px;height:var(--m-catalog-card-height);width:var(--m-catalog-card-width);border:1px dashed var(--m-color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{font-size:14px;line-height:22px;color:var(--m-color-primary);font-weight:700;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
17605
+ }, directives: [IconComponent], styles: ["ng-miam-add-recipe-card{flex-grow:1}.miam-add-recipe-card{border-radius:8px;height:var(--m-catalog-card-height);width:var(--m-catalog-card-width);border:1px dashed var(--m-color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{font-size:14px;line-height:22px;color:var(--m-color-primary);font-weight:700;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
17550
17606
  (function () {
17551
17607
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(AddRecipeCardComponent, [{
17552
17608
  type: i0.Component,
@@ -17749,7 +17805,7 @@
17749
17805
  i0__namespace.ɵɵadvance(1);
17750
17806
  i0__namespace.ɵɵproperty("ngIf", !ctx.loading)("ngIfElse", _r1);
17751
17807
  }
17752
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, RecipeCardComponent, AddRecipeCardComponent, LoaderComponent, ProgressTrackerComponent, IconComponent], styles: [".miam-meals-planner-result{display:flex;flex-direction:column;width:100%;height:100%}.miam-meals-planner-result .miam-meals-planner-result__header{width:100%;padding:32px 24px;font-weight:900;font-size:24px;line-height:120%}.miam-meals-planner-result .miam-meals-planner-result__recipes{display:flex;flex-flow:row wrap;padding:0 24px}.miam-meals-planner-result .miam-meals-planner-result__progress-bar{display:flex;width:100%;max-width:300px;padding:16px;justify-content:center;align-items:center}.miam-meals-planner-result .miam-meals-planner-result__cta{width:100%;display:flex;justify-content:space-evenly;align-items:center;padding:24px}.miam-meals-planner-result .miam-meals-planner-result__cta .m-button-primary .miam-loader{margin-right:8px;height:28px;width:28px;border-top:4px solid var(--m-color-grey);border:4px solid var(--m-color-grey);border-top-color:var(--m-color-primary)}@media (max-width:1023px){.miam-meals-planner-result .miam-meals-planner-result__header{display:none}.miam-meals-planner-result .miam-meals-planner-result__recipes{justify-content:center}.miam-meals-planner-result .miam-meals-planner-result__recipes .miam-meals-planner-result__recipes{margin-top:var(--m-catalog-cards-spacing)}.miam-meals-planner-result .miam-meals-planner-result__progress-bar{align-items:flex-start}.miam-meals-planner-result .miam-meals-planner-result__progress-bar .miam-progress-tracker .miam-progress-tracker__content{flex-direction:column;align-items:flex-start}.miam-meals-planner-result .miam-meals-planner-result__progress-bar .miam-progress-tracker .miam-progress-tracker__content .miam-progress-tracker__value{margin-left:0;margin-top:3px}.miam-meals-planner-result .miam-meals-planner-result__cta{position:fixed;position:-webkit-sticky;bottom:0;background-color:#fff;border-top:1px solid #d9dde1;z-index:1;padding:16px}.miam-meals-planner-result .miam-meals-planner-result__cta .m-button-primary{width:100%;padding:14px;border-radius:6px}}"], encapsulation: 2, changeDetection: 0 });
17808
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, RecipeCardComponent, AddRecipeCardComponent, LoaderComponent, ProgressTrackerComponent, IconComponent], styles: [".miam-meals-planner-result{display:flex;flex-direction:column;width:100%;height:100%}.miam-meals-planner-result .miam-meals-planner-result__header{width:100%;padding:32px 24px;font-weight:900;font-size:24px;line-height:120%}.miam-meals-planner-result .miam-meals-planner-result__recipes{display:grid;grid-template-columns:repeat(auto-fill,var(--m-catalog-card-width));gap:16px;justify-content:center;width:100%;padding:0 24px;box-sizing:border-box}.miam-meals-planner-result .miam-meals-planner-result__progress-bar{display:flex;width:100%;max-width:300px;padding:16px;justify-content:center;align-items:center}.miam-meals-planner-result .miam-meals-planner-result__cta{width:100%;display:flex;justify-content:space-evenly;align-items:center;padding:24px}.miam-meals-planner-result .miam-meals-planner-result__cta .m-button-primary .miam-loader{margin-right:8px;height:28px;width:28px;border-top:4px solid var(--m-color-grey);border:4px solid var(--m-color-grey);border-top-color:var(--m-color-primary)}@media (max-width:1023px){.miam-meals-planner-result .miam-meals-planner-result__header{display:none}.miam-meals-planner-result .miam-meals-planner-result__recipes{justify-content:center;padding-bottom:100px}.miam-meals-planner-result .miam-meals-planner-result__recipes .miam-meals-planner-result__recipes{margin-top:16px}.miam-meals-planner-result .miam-meals-planner-result__progress-bar{align-items:flex-start}.miam-meals-planner-result .miam-meals-planner-result__progress-bar .miam-progress-tracker .miam-progress-tracker__content{flex-direction:column;align-items:flex-start}.miam-meals-planner-result .miam-meals-planner-result__progress-bar .miam-progress-tracker .miam-progress-tracker__content .miam-progress-tracker__value{margin-left:0;margin-top:3px}.miam-meals-planner-result .miam-meals-planner-result__cta{position:fixed;position:-webkit-sticky;bottom:0;background-color:#fff;border-top:1px solid #d9dde1;z-index:1;padding:16px}.miam-meals-planner-result .miam-meals-planner-result__cta .m-button-primary{width:100%;padding:14px;border-radius:6px}}"], encapsulation: 2, changeDetection: 0 });
17753
17809
  (function () {
17754
17810
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(MealsPlannerResultComponent, [{
17755
17811
  type: i0.Component,
@@ -18681,7 +18737,7 @@
18681
18737
  i0__namespace.ɵɵadvance(1);
18682
18738
  i0__namespace.ɵɵproperty("ngIf", i0__namespace.ɵɵpipeBind1(7, 7, ctx.loading));
18683
18739
  }
18684
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, IconComponent, CardCreateRecipeComponent, RecipeCardComponent, CatalogArticleCardComponent, LoaderComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-catalog-list__cards{display:flex;justify-content:center;flex-flow:row wrap;position:relative;right:0;top:0;margin:calc(0px - var(--m-catalog-cards-spacing)/2);width:calc(100% + var(--m-catalog-cards-spacing))}.miam-catalog-list__cards .miam-catalog-list__notFound{display:flex;flex-direction:column;width:100%;justify-content:center;text-align:center;padding:36px 0 0}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1{margin-top:36px;font-size:24px;font-weight:700;color:var(--m-color-primary)}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1.filtering{display:flex;justify-content:center}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1.filtering .miam-catalog-list__notFound__searching span{margin-left:5px}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title2{font-size:22px;color:var(--m-color-grey-text)}.miam-catalog-list__cards .miam-catalog-list__loader{width:100%;font-size:20px;font-weight:700;color:var(--m-color-grey-text);text-align:center}.miam-catalog-list__cards .miam-catalog-list__loader .miam-loader{margin-top:80px;margin-bottom:16px;margin-left:calc(50% - 40px);height:80px;width:80px}.miam-catalog-list__cards #miam-catalog-list__anchor{position:relative;bottom:0;height:600px;margin-top:-600px}"], encapsulation: 2, changeDetection: 0 });
18740
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, IconComponent, CardCreateRecipeComponent, RecipeCardComponent, CatalogArticleCardComponent, LoaderComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-catalog-list__cards{display:grid;grid-template-columns:repeat(auto-fill,var(--m-catalog-card-width));justify-content:center;gap:16px;position:relative;width:100%;box-sizing:border-box}.miam-catalog-list__cards .miam-catalog-list__notFound{display:flex;flex-direction:column;width:100%;justify-content:center;text-align:center;padding:36px 0 0}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1{margin-top:36px;font-size:24px;font-weight:700;color:var(--m-color-primary)}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1.filtering{display:flex;justify-content:center}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title1.filtering .miam-catalog-list__notFound__searching span{margin-left:5px}.miam-catalog-list__cards .miam-catalog-list__notFound .miam-catalog-list__notFound__title2{font-size:22px;color:var(--m-color-grey-text)}.miam-catalog-list__cards .miam-catalog-list__loader{width:100%;font-size:20px;font-weight:700;color:var(--m-color-grey-text);text-align:center}.miam-catalog-list__cards .miam-catalog-list__loader .miam-loader{margin-top:80px;margin-bottom:16px;margin-left:calc(50% - 40px);height:80px;width:80px}.miam-catalog-list__cards #miam-catalog-list__anchor{position:relative;bottom:0;height:600px;margin-top:-600px}"], encapsulation: 2, changeDetection: 0 });
18685
18741
  (function () {
18686
18742
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CatalogListComponent, [{
18687
18743
  type: i0.Component,
@@ -18874,7 +18930,7 @@
18874
18930
  i0__namespace.ɵɵadvance(1);
18875
18931
  i0__namespace.ɵɵproperty("displayPricing", true)("addRecipeMode", true)("modifiedGuests", ctx.modifiedGuests)("originTrace", ctx.eventTrace())("filters", ctx.filters)("displayGuests", false)("helpButtonAllowed", false)("excludedRecipesIds", ctx.excludedRecipesIds);
18876
18932
  }
18877
- }, directives: [IconComponent, i3__namespace.DefaultValueAccessor, i3__namespace.NgControlStatus, i3__namespace.NgModel, i2__namespace$1.NgIf, RecipeFiltersComponent, CatalogListComponent], styles: [".miam-meals-planner-catalog .miam-meals-planner-catalog__title{display:flex;flex-direction:row;font-weight:900;font-size:24px;line-height:120%;margin-bottom:24px;width:-moz-fit-content;width:fit-content}.miam-meals-planner-catalog .miam-meals-planner-catalog__title ng-miam-icon{transform:rotate(90deg);cursor:pointer}.miam-meals-planner-catalog .miam-meals-planner-catalog__title ng-miam-icon .icon-container svg path:last-child{fill:var(--m-color-primary)}.miam-meals-planner-catalog .miam-meals-planner-catalog__title span{margin-left:16px;cursor:pointer}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:24px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar{background:var(--m-color-white);border:1px solid #ddd;border-radius:var(--m-border-radius-pill);height:45px;width:400px;display:flex;align-items:center;padding:0 2px 0 20px;font-size:14px;margin-right:8px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__input{border:transparent;background:transparent;flex:1;outline:none!important}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__button{padding:10px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__button:hover{border-color:transparent}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__controls__filter{border-color:transparent;font-weight:700;position:relative}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__controls__filter .miam-meals-planner-catalog__controls__filter-badge{position:absolute;height:18px;width:18px;right:-4px;top:-4px;display:flex;justify-content:center;align-items:center;background-color:var(--m-catalog-redpoint-color);color:var(--m-catalog-redpoint-text-color);border-radius:var(--m-border-radius-circle);font-size:12px;line-height:18px}@media (max-width:1023px){.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar{width:300px}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter{border-radius:var(--m-border-radius-circle);padding:10px}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter span{display:none}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter ng-miam-icon{margin-right:0!important}}@media (max-width:607px){.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters{justify-content:center}}"], encapsulation: 2, changeDetection: 0 });
18933
+ }, directives: [IconComponent, i3__namespace.DefaultValueAccessor, i3__namespace.NgControlStatus, i3__namespace.NgModel, i2__namespace$1.NgIf, RecipeFiltersComponent, CatalogListComponent], styles: [".miam-meals-planner-catalog{padding-bottom:40px}.miam-meals-planner-catalog .miam-meals-planner-catalog__title{display:flex;flex-direction:row;font-weight:900;font-size:24px;line-height:120%;margin-bottom:24px;width:-moz-fit-content;width:fit-content}.miam-meals-planner-catalog .miam-meals-planner-catalog__title ng-miam-icon{transform:rotate(90deg);cursor:pointer}.miam-meals-planner-catalog .miam-meals-planner-catalog__title ng-miam-icon .icon-container svg path:last-child{fill:var(--m-color-primary)}.miam-meals-planner-catalog .miam-meals-planner-catalog__title span{margin-left:16px;cursor:pointer}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:24px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar{background:var(--m-color-white);border:1px solid #ddd;border-radius:var(--m-border-radius-pill);height:45px;width:400px;display:flex;align-items:center;padding:0 2px 0 20px;font-size:14px;margin-right:8px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__input{border:transparent;background:transparent;flex:1;outline:none!important}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__button{padding:10px}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar .miam-meals-planner-catalog__searchbar__button:hover{border-color:transparent}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__controls__filter{border-color:transparent;font-weight:700;position:relative}.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__controls__filter .miam-meals-planner-catalog__controls__filter-badge{position:absolute;height:18px;width:18px;right:-4px;top:-4px;display:flex;justify-content:center;align-items:center;background-color:var(--m-catalog-redpoint-color);color:var(--m-catalog-redpoint-text-color);border-radius:var(--m-border-radius-circle);font-size:12px;line-height:18px}@media (max-width:1023px){.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters .miam-meals-planner-catalog__searchbar{width:300px}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter{border-radius:var(--m-border-radius-circle);padding:10px}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter span{display:none}.miam-meals-planner-catalog .miam-meals-planner-catalog__controls__filter ng-miam-icon{margin-right:0!important}}@media (max-width:607px){.miam-meals-planner-catalog .miam-meals-planner-catalog__search-and-filters{justify-content:center}}"], encapsulation: 2, changeDetection: 0 });
18878
18934
  (function () {
18879
18935
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(MealsPlannerCatalogComponent, [{
18880
18936
  type: i0.Component,
@@ -19482,7 +19538,7 @@
19482
19538
  i0__namespace.ɵɵadvance(2);
19483
19539
  i0__namespace.ɵɵproperty("ngIf", ctx.featureIsAuthorized);
19484
19540
  }
19485
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgClass, IconComponent, MealsPlannerFormComponent, MealsPlannerResultComponent, MealsPlannerBasketPreviewComponent, MealsPlannerCatalogComponent, MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{display:flex;flex-direction:column;width:100%;height:100%;border-bottom:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{display:flex;align-items:center;padding:24px;background:#fff;border-bottom:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{margin:0 4px;font-weight:500;font-size:14px;line-height:150%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{font-weight:900;color:var(--m-color-primary)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{max-width:300px;border-right:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{width:100%;padding:0 80px}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{max-width:unset;border-right:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}.miam-meals-planner ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);width:var(--m-catalog-card-width);margin:calc(var(--m-catalog-cards-spacing) / 2)}"], encapsulation: 2, changeDetection: 0 });
19541
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgClass, IconComponent, MealsPlannerFormComponent, MealsPlannerResultComponent, MealsPlannerBasketPreviewComponent, MealsPlannerCatalogComponent, MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{display:flex;flex-direction:column;width:100%;height:100%;border-bottom:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{display:flex;align-items:center;padding:24px;background:#fff;border-bottom:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{margin:0 4px;font-weight:500;font-size:14px;line-height:150%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{font-weight:900;color:var(--m-color-primary)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{max-width:300px;border-right:1px solid #d9dde1}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{width:100%;padding:0 80px}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{max-width:unset;border-right:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}.miam-meals-planner ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);width:var(--m-catalog-card-width)}"], encapsulation: 2, changeDetection: 0 });
19486
19542
  (function () {
19487
19543
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(MealsPlannerComponent, [{
19488
19544
  type: i0.Component,
@@ -19708,7 +19764,7 @@
19708
19764
  if (rf & 2) {
19709
19765
  i0__namespace.ɵɵproperty("ngIf", !ctx.hide);
19710
19766
  }
19711
- }, directives: [i2__namespace$1.NgIf, IconComponent, i2__namespace$1.NgForOf, LoaderComponent, RecipeCardComponent, CatalogArticleCardComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-catalog-category__slider{display:flex;position:absolute;justify-content:center;align-items:center;top:0;height:calc(100% - 28px);width:48px;margin:12px 0 16px;background-color:rgba(32,32,32,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}@media (max-width:1022px){.miam-catalog-category__slider{display:none}}.miam-catalog-category{display:flex;flex-direction:column;margin-bottom:40px}.miam-catalog-category .miam-catalog-category__header{display:flex;flex-direction:row;align-items:flex-end;margin-bottom:16px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left{flex:1}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title{width:-moz-fit-content;width:fit-content;margin-bottom:4px;font-size:24px;line-height:34px;font-weight:700;color:var(--m-color-black);-webkit-tap-highlight-color:transparent;cursor:pointer}@media (min-width:1022px){.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title:hover{text-decoration:underline}}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__subtitle{color:var(--m-color-black);font-size:14px;line-height:22px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right{display:flex;align-items:center}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right .miam-catalog-category__link{font-size:16px;line-height:24px;color:var(--m-color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}@media (min-width:1022px){.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right .miam-catalog-category__link:hover{text-decoration:underline}}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right ng-miam-icon{margin-top:3px}.miam-catalog-category .miam-catalog-category__header .icon-container{transform:rotate(-90deg);margin-bottom:3px;cursor:pointer}.miam-catalog-category .miam-catalog-category__content{position:relative;overflow:hidden;padding:0;width:100%;height:calc(var(--m-catalog-card-height) + var(--m-catalog-cards-spacing));box-sizing:border-box}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards{display:flex;flex-direction:row;flex-wrap:wrap;transition-duration:.5s}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards .miam-catalog-category__loader{width:100%;font-size:20px;font-weight:700;color:var(--m-color-grey-text);text-align:center}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards .miam-catalog-category__loader .miam-loader{margin-top:80px;margin-bottom:16px;margin-left:calc(50% - 40px);height:80px;width:80px}@media (max-width:1095px){.miam-catalog-category .miam-catalog-category__content{overflow-x:auto}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards{flex-wrap:nowrap}}@media (max-width:607px){.miam-catalog-category .miam-catalog-category__header{flex-direction:column;align-items:flex-start;margin-bottom:8px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left{margin-bottom:4px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title{margin-bottom:0}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right{align-self:flex-end}}"], encapsulation: 2, changeDetection: 0 });
19767
+ }, directives: [i2__namespace$1.NgIf, IconComponent, i2__namespace$1.NgForOf, LoaderComponent, RecipeCardComponent, CatalogArticleCardComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-catalog-category__slider{display:flex;position:absolute;justify-content:center;align-items:center;top:0;height:calc(100% - 28px);width:48px;margin:12px 0 16px;background-color:rgba(32,32,32,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}@media (max-width:1022px){.miam-catalog-category__slider{display:none}}.miam-catalog-category{display:flex;flex-direction:column;margin-bottom:40px}.miam-catalog-category .miam-catalog-category__header{display:flex;flex-direction:row;align-items:flex-end;margin-bottom:16px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left{flex:1}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title{width:-moz-fit-content;width:fit-content;margin-bottom:4px;font-size:24px;line-height:34px;font-weight:700;color:var(--m-color-black);-webkit-tap-highlight-color:transparent;cursor:pointer}@media (min-width:1022px){.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title:hover{text-decoration:underline}}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__subtitle{color:var(--m-color-black);font-size:14px;line-height:22px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right{display:flex;align-items:center}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right .miam-catalog-category__link{font-size:16px;line-height:24px;color:var(--m-color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}@media (min-width:1022px){.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right .miam-catalog-category__link:hover{text-decoration:underline}}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right ng-miam-icon{margin-top:3px}.miam-catalog-category .miam-catalog-category__header .icon-container{transform:rotate(-90deg);margin-bottom:3px;cursor:pointer}.miam-catalog-category .miam-catalog-category__content{position:relative;overflow:hidden;padding:16px 0;width:100%;height:var(--m-catalog-card-height);box-sizing:content-box}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards{display:flex;flex-direction:row;flex-wrap:wrap;transition-duration:.5s;gap:16px}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards .miam-catalog-category__loader{width:100%;font-size:20px;font-weight:700;color:var(--m-color-grey-text);text-align:center}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards .miam-catalog-category__loader .miam-loader{margin-top:80px;margin-bottom:16px;margin-left:calc(50% - 40px);height:80px;width:80px}@media (max-width:1095px){.miam-catalog-category .miam-catalog-category__content{overflow-x:auto}.miam-catalog-category .miam-catalog-category__content .miam-catalog-category__cards{flex-wrap:nowrap}}@media (max-width:607px){.miam-catalog-category .miam-catalog-category__header{flex-direction:column;align-items:flex-start;margin-bottom:8px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left{margin-bottom:4px}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__left .miam-catalog-category__title{margin-bottom:0}.miam-catalog-category .miam-catalog-category__header .miam-catalog-category__right{align-self:flex-end}}"], encapsulation: 2, changeDetection: 0 });
19712
19768
  (function () {
19713
19769
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CatalogCategoryComponent, [{
19714
19770
  type: i0.Component,
@@ -22671,7 +22727,7 @@
22671
22727
  i0__namespace.ɵɵadvance(2);
22672
22728
  i0__namespace.ɵɵproperty("ngIf", !ctx.creatingRecipe && ctx.catalogSettingHasLoaded)("ngIfElse", _r2);
22673
22729
  }
22674
- }, directives: [i2__namespace$1.NgIf, CatalogHeaderComponent, RecipeFiltersComponent, IconComponent, CatalogListComponent, i2__namespace$1.NgForOf, CatalogCategoryComponent, ExplainBannerComponent, MealsPlannerLinkComponent, RecipeStepperComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-recipe-catalog{display:flex;justify-content:space-between}.miam-recipe-catalog,.miam-recipe-catalog .miam-recipe-catalog__content{width:100%;position:relative}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title{font-size:24px;line-height:34px;margin-bottom:24px;font-weight:700;display:flex;align-items:center;gap:6px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title .miam-recipe-catalog__content__title__search__text{display:flex;flex-wrap:wrap;gap:6px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title ng-miam-icon{margin-right:14px;cursor:pointer}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title ng-miam-icon .icon-container{transform:rotate(90deg)}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories{display:flex;flex-direction:column;width:100%;padding:48px 24px;box-sizing:border-box}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category{display:flex;flex-direction:row;width:100%;align-items:flex-end}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-meals-planner-link{margin:0 0 40px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__explain_banner{margin-bottom:40px}@media (max-width:1023px){.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories{padding:48px 0 48px 24px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category{flex-direction:column;align-items:flex-start}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-catalog-category{width:100%}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-meals-planner-link{width:calc(100% - 24px);margin:0 24px 24px 0}}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__list{width:100%;padding:24px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__list .miam-recipe-catalog__list__create___button{display:flex;align-items:center;border:1px solid var(--miam-color-primary);border-radius:20px;padding:4px 8px;width:-moz-fit-content;width:fit-content;cursor:pointer;color:var(--miam-color-primary);margin-bottom:24px}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button{background:var(--m-color-primary);width:200px;height:50px;display:flex;justify-content:space-around;align-items:center;border-radius:0 0 20px 20px;position:absolute;cursor:pointer;right:50px;left:unset}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button .miam-recipe-catalog__myMeal__button__text{font-weight:700;color:var(--m-color-white)}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button .miam-recipe-catalog__myMeal__second__icon{transform:rotate(-90deg)}@media (max-width:607px){.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button{right:8px;left:8px;bottom:0;border-radius:20px 20px 0 0;position:fixed;width:auto;z-index:2}}.miam-recipe-catalog ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);width:var(--m-catalog-card-width);margin:calc(var(--m-catalog-cards-spacing) / 2)}"], encapsulation: 2, changeDetection: 0 });
22730
+ }, directives: [i2__namespace$1.NgIf, CatalogHeaderComponent, RecipeFiltersComponent, IconComponent, CatalogListComponent, i2__namespace$1.NgForOf, CatalogCategoryComponent, ExplainBannerComponent, MealsPlannerLinkComponent, RecipeStepperComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-recipe-catalog{display:flex;justify-content:space-between}.miam-recipe-catalog,.miam-recipe-catalog .miam-recipe-catalog__content{width:100%;position:relative}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title{font-size:24px;line-height:34px;margin-bottom:24px;font-weight:700;display:flex;align-items:center;gap:6px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title .miam-recipe-catalog__content__title__search__text{display:flex;flex-wrap:wrap;gap:6px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title ng-miam-icon{margin-right:14px;cursor:pointer}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__content__title ng-miam-icon .icon-container{transform:rotate(90deg)}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories{display:flex;flex-direction:column;width:100%;padding:48px 24px;box-sizing:border-box}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category{display:flex;flex-direction:row;width:100%;align-items:flex-end}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-meals-planner-link{margin:0 0 40px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__explain_banner{margin-bottom:40px}@media (max-width:1023px){.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories{padding:48px 0 48px 24px}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category{flex-direction:column;align-items:flex-start}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-catalog-category{width:100%}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__categories .miam-recipe-catalog__first-category ng-miam-meals-planner-link{width:calc(100% - 24px);margin:0 24px 24px 0}}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__list{width:100%;padding:24px;box-sizing:border-box}.miam-recipe-catalog .miam-recipe-catalog__content .miam-recipe-catalog__list .miam-recipe-catalog__list__create___button{display:flex;align-items:center;border:1px solid var(--miam-color-primary);border-radius:20px;padding:4px 8px;width:-moz-fit-content;width:fit-content;cursor:pointer;color:var(--miam-color-primary);margin-bottom:24px}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button{background:var(--m-color-primary);width:200px;height:50px;display:flex;justify-content:space-around;align-items:center;border-radius:0 0 20px 20px;position:absolute;cursor:pointer;right:50px;left:unset}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button .miam-recipe-catalog__myMeal__button__text{font-weight:700;color:var(--m-color-white)}.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button .miam-recipe-catalog__myMeal__second__icon{transform:rotate(-90deg)}@media (max-width:607px){.miam-recipe-catalog .miam-recipe-catalog__content__myMeal__button{right:8px;left:8px;bottom:0;border-radius:20px 20px 0 0;position:fixed;width:auto;z-index:2}}.miam-recipe-catalog ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);width:var(--m-catalog-card-width)}"], encapsulation: 2, changeDetection: 0 });
22675
22731
  (function () {
22676
22732
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RecipeCatalogComponent, [{
22677
22733
  type: i0.Component,
@@ -23366,7 +23422,7 @@
23366
23422
  if (rf & 2) {
23367
23423
  i0__namespace.ɵɵproperty("ngIf", !i0__namespace.ɵɵpipeBind1(1, 1, ctx.recipeDetailsService.recipeLoading$) && ctx.ingredients);
23368
23424
  }
23369
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf], pipes: [i2__namespace$1.AsyncPipe, CapitalizeFirstLetterPipe, ReadableFloatNumberPipe], styles: [".miam-recipe-details-ingredients{display:flex;flex-direction:column;gap:16px}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__header{color:var(--miam-color-neutral-black,#1f3543)}@media (min-width:1022px){.miam-recipe-details-ingredients .miam-recipe-details-ingredients__header{font-size:20px;line-height:120%}}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__list{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:16px}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;text-align:center}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__picture_container{height:64px;width:64px;border-radius:100%;overflow:hidden;border:1px solid var(--miam-ds-color-neutral-200,#d9dde1)}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__picture_container .miam-recipe-details-ingredients__picture{height:100%;width:100%}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__name,.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__row__qty{color:var(--miam-ds-color-neutral-black,#1f3543)}"], encapsulation: 2, changeDetection: 0 });
23425
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf], pipes: [i2__namespace$1.AsyncPipe, CapitalizeFirstLetterPipe, ReadableFloatNumberPipe], styles: [".miam-recipe-details-ingredients{display:flex;flex-direction:column;gap:16px}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__header{color:var(--miam-color-neutral-black,#1f3543)}@media (min-width:1022px){.miam-recipe-details-ingredients .miam-recipe-details-ingredients__header{font-size:20px;line-height:120%}}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,100px));justify-content:center;gap:16px}@media (max-width:370px){.miam-recipe-details-ingredients .miam-recipe-details-ingredients__list{grid-template-columns:repeat(auto-fill,minmax(70px,90px))}}@media (max-width:350px){.miam-recipe-details-ingredients .miam-recipe-details-ingredients__list{grid-template-columns:repeat(auto-fill,minmax(70px,84px))}}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;text-align:center}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__picture_container{height:64px;width:64px;border-radius:100%;overflow:hidden;border:1px solid var(--miam-ds-color-neutral-200,#d9dde1)}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__picture_container .miam-recipe-details-ingredients__picture{height:100%;width:100%}.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__name,.miam-recipe-details-ingredients .miam-recipe-details-ingredients__item .miam-recipe-details-ingredients__row__qty{color:var(--miam-ds-color-neutral-black,#1f3543)}"], encapsulation: 2, changeDetection: 0 });
23370
23426
  (function () {
23371
23427
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RecipeDetailsIngredientsComponent, [{
23372
23428
  type: i0.Component,
@@ -24020,6 +24076,7 @@
24020
24076
  var originPath = this.eventTrace().originPath;
24021
24077
  this.recipesService.hide();
24022
24078
  this.cdr.detectChanges();
24079
+ this.activeTabIndex = 0;
24023
24080
  if (originPath === '/miam/recipes/basket-preview/detail' || originPath === '/detail/basket-preview/detail') {
24024
24081
  this.recipesService.openBasket(this.eventTrace());
24025
24082
  }