ng-miam 8.0.6 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/bundles/ng-miam.umd.js +119 -22
  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/modal/modal.component.js +30 -6
  6. package/esm2015/lib/_components/products-picker/products-picker.component.js +1 -1
  7. package/esm2015/lib/_models/index.js +2 -1
  8. package/esm2015/lib/_models/ingredient-definition.js +15 -0
  9. package/esm2015/lib/_models/ingredient.js +11 -4
  10. package/esm2015/lib/_services/index.js +2 -1
  11. package/esm2015/lib/_services/ingredients-definitions.service.js +21 -0
  12. package/esm2015/lib/_services/ingredients.service.js +32 -11
  13. package/esm2015/lib/_services/interceptor.service.js +4 -4
  14. package/esm2015/lib/_services/user.service.js +8 -5
  15. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  16. package/fesm2015/ng-miam.js +108 -24
  17. package/fesm2015/ng-miam.js.map +1 -1
  18. package/lib/_components/modal/modal.component.d.ts +14 -3
  19. package/lib/_components/modal/modal.component.d.ts.map +1 -1
  20. package/lib/_models/index.d.ts +1 -0
  21. package/lib/_models/index.d.ts.map +1 -1
  22. package/lib/_models/ingredient-definition.d.ts +12 -0
  23. package/lib/_models/ingredient-definition.d.ts.map +1 -0
  24. package/lib/_models/ingredient.d.ts +4 -1
  25. package/lib/_models/ingredient.d.ts.map +1 -1
  26. package/lib/_services/index.d.ts +1 -0
  27. package/lib/_services/index.d.ts.map +1 -1
  28. package/lib/_services/ingredients-definitions.service.d.ts +11 -0
  29. package/lib/_services/ingredients-definitions.service.d.ts.map +1 -0
  30. package/lib/_services/ingredients.service.d.ts +7 -3
  31. package/lib/_services/ingredients.service.d.ts.map +1 -1
  32. package/lib/_services/user.service.d.ts.map +1 -1
  33. package/miam-style.css +1 -1
  34. package/package.json +1 -1
@@ -634,21 +634,28 @@
634
634
  var Ingredient = /** @class */ (function (_super) {
635
635
  __extends(Ingredient, _super);
636
636
  function Ingredient() {
637
- var _this = _super.apply(this, __spread(arguments)) || this;
637
+ var _this = _super.call(this) || this;
638
638
  _this.attributes = {
639
+ /* /!\ Read only */
639
640
  name: '',
640
641
  quantity: '',
642
+ /* /!\ Read only */
641
643
  unit: '',
642
644
  importance: '',
643
645
  active: true,
644
646
  'forced-eans': [],
647
+ /* /!\ Read only */
645
648
  'picture-url': '',
646
649
  position: -1
647
650
  };
648
651
  _this.relationships = {
649
652
  recipe: new i2.DocumentResource(),
650
- 'quantity-unit': new i2.DocumentResource()
653
+ 'quantity-unit': new i2.DocumentResource(),
654
+ definition: new i2.DocumentResource()
651
655
  };
656
+ Object.freeze(_this.attributes.name);
657
+ Object.freeze(_this.attributes.unit);
658
+ Object.freeze(_this.picture);
652
659
  return _this;
653
660
  }
654
661
  Object.defineProperty(Ingredient.prototype, "quantity", {
@@ -681,6 +688,23 @@
681
688
  return Ingredient;
682
689
  }(i2.Resource));
683
690
 
691
+ var IngredientDefinition = /** @class */ (function (_super) {
692
+ __extends(IngredientDefinition, _super);
693
+ function IngredientDefinition() {
694
+ var _this = _super.apply(this, __spread(arguments)) || this;
695
+ _this.attributes = {
696
+ 'activation-count': '',
697
+ name: '',
698
+ 'often-deleted': '',
699
+ 'picture-url': '',
700
+ plural: true,
701
+ 'total-count': 0,
702
+ };
703
+ return _this;
704
+ }
705
+ return IngredientDefinition;
706
+ }(i2.Resource));
707
+
684
708
  var Item = /** @class */ (function (_super) {
685
709
  __extends(Item, _super);
686
710
  function Item() {
@@ -2350,21 +2374,25 @@
2350
2374
  }
2351
2375
  Object.defineProperty(UserService.prototype, "userProvider", {
2352
2376
  get: function () {
2353
- return this.userProvider$.asObservable().pipe(operators.skipWhile(function (provider) { return provider === undefined; }));
2377
+ return this.userProvider$.pipe(operators.skipWhile(function (provider) { return provider === undefined; }));
2354
2378
  },
2355
2379
  enumerable: false,
2356
2380
  configurable: true
2357
2381
  });
2358
2382
  Object.defineProperty(UserService.prototype, "userSupplier", {
2359
2383
  get: function () {
2360
- return this.userSupplier$.asObservable().pipe(operators.skipWhile(function (supplier) { return supplier === undefined; }));
2384
+ var _this = this;
2385
+ // If user is admin, he has no supplier
2386
+ return this.isAdmin.pipe(operators.switchMap(function (isAdmin) { return isAdmin
2387
+ ? rxjs.of(null)
2388
+ : _this.userSupplier$.pipe(operators.skipWhile(function (supplier) { return supplier === undefined; })); }));
2361
2389
  },
2362
2390
  enumerable: false,
2363
2391
  configurable: true
2364
2392
  });
2365
2393
  Object.defineProperty(UserService.prototype, "userRoles", {
2366
2394
  get: function () {
2367
- return this.userRoles$.asObservable();
2395
+ return this.userRoles$;
2368
2396
  },
2369
2397
  enumerable: false,
2370
2398
  configurable: true
@@ -2471,13 +2499,36 @@
2471
2499
  }], function () { return [{ type: i1__namespace.HttpClient }, { type: RecipeProviderService }, { type: SuppliersService }, { type: ToasterService }]; }, null);
2472
2500
  })();
2473
2501
 
2502
+ var IngredientsDefinitionsService = /** @class */ (function (_super) {
2503
+ __extends(IngredientsDefinitionsService, _super);
2504
+ function IngredientsDefinitionsService() {
2505
+ var _this = _super.call(this) || this;
2506
+ _this.resource = IngredientDefinition;
2507
+ _this.type = 'ingredients-definitions';
2508
+ _this.register();
2509
+ return _this;
2510
+ }
2511
+ return IngredientsDefinitionsService;
2512
+ }(i2.Service));
2513
+ IngredientsDefinitionsService.ɵfac = function IngredientsDefinitionsService_Factory(t) { return new (t || IngredientsDefinitionsService)(); };
2514
+ IngredientsDefinitionsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: IngredientsDefinitionsService, factory: IngredientsDefinitionsService.ɵfac, providedIn: 'root' });
2515
+ (function () {
2516
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(IngredientsDefinitionsService, [{
2517
+ type: i0.Injectable,
2518
+ args: [{
2519
+ providedIn: 'root'
2520
+ }]
2521
+ }], function () { return []; }, null);
2522
+ })();
2523
+
2474
2524
  var MIAM_API_HOST$5 = environment$1.miamAPI + "/api/v1/";
2475
2525
  var IngredientsService = /** @class */ (function (_super) {
2476
2526
  __extends(IngredientsService, _super);
2477
- function IngredientsService(http, userService) {
2527
+ function IngredientsService(http, userService, ingredientsdefinitionsService) {
2478
2528
  var _this = _super.call(this) || this;
2479
2529
  _this.http = http;
2480
2530
  _this.userService = userService;
2531
+ _this.ingredientsdefinitionsService = ingredientsdefinitionsService;
2481
2532
  _this.resource = Ingredient;
2482
2533
  _this.type = 'ingredients';
2483
2534
  _this.isFetchingNames = false;
@@ -2548,22 +2599,25 @@
2548
2599
  if (ing.id) {
2549
2600
  var oldIndex = oldIngredients.findIndex(function (el) { return el.id === ing.id; });
2550
2601
  var oldIngredientAttribute = oldIngredients[oldIndex].attributes;
2551
- var hasChange = oldIngredientAttribute.name !== ing.attributes.name ||
2552
- oldIngredientAttribute.unit !== ing.attributes.unit ||
2553
- oldIngredientAttribute.quantity !== ing.attributes.quantity ||
2602
+ var hasChange = oldIngredientAttribute.quantity !== ing.attributes.quantity ||
2554
2603
  oldIngredientAttribute.importance !== ing.attributes.importance ||
2555
2604
  oldIngredientAttribute['forced-eans'] !== ing.attributes['forced-eans'] ||
2556
2605
  oldIngredientAttribute.position !== ing.attributes.position;
2557
2606
  if (hasChange) {
2558
- oldIngredients[oldIndex].attributes = Object.assign(Object.assign({}, oldIngredients[oldIndex].attributes), { name: ing.attributes.name, unit: ing.attributes.unit, quantity: ing.attributes.quantity, importance: ing.attributes.importance, 'forced-eans': ing.attributes['forced-eans'], 'picture-url': ing.attributes['picture-url'], position: ing.attributes.position });
2607
+ oldIngredients[oldIndex].attributes = Object.assign(Object.assign({}, oldIngredients[oldIndex].attributes), { quantity: ing.attributes.quantity, importance: ing.attributes.importance, 'forced-eans': ing.attributes['forced-eans'], position: ing.attributes.position });
2559
2608
  ingredientsToSave.push(oldIngredients[oldIndex]);
2560
2609
  }
2561
2610
  }
2562
2611
  else {
2563
2612
  var newIng = _this.new();
2564
2613
  delete newIng.id;
2565
- newIng.attributes = Object.assign(Object.assign(Object.assign(Object.assign({}, newIng.attributes), { name: ing.attributes.name, unit: ing.attributes.unit, quantity: '' + ing.attributes.quantity, importance: ing.attributes.importance }), ing.attributes['picture-url'] ? { 'picture-url': ing.attributes['picture-url'] } : {}), { position: ing.attributes.position });
2614
+ newIng.attributes = Object.assign(Object.assign({}, newIng.attributes), { quantity: '' + ing.attributes.quantity, importance: ing.attributes.importance,
2615
+ // We cannot fetch the ingedient_definition and thus the image of the ingredient so if it hasn't been set manually,
2616
+ // Remove it
2617
+ position: ing.attributes.position });
2566
2618
  newIng.addRelationship(recipe, 'recipe');
2619
+ newIng.addRelationship(ing.relationships['quantity-unit'].data, 'quantity-unit');
2620
+ newIng.addRelationship(ing.relationships.definition.data, 'definition');
2567
2621
  ingredientsToSave.push(newIng);
2568
2622
  }
2569
2623
  });
@@ -2582,6 +2636,22 @@
2582
2636
  var _this = this;
2583
2637
  return rxjs.forkJoin(ingredientIds.map(function (ingredientId) { return _this.delete(ingredientId); }));
2584
2638
  };
2639
+ IngredientsService.prototype.searchIngredientByName = function (name) {
2640
+ var _this = this;
2641
+ return this.http.get(MIAM_API_HOST$5 + "ingredients-definitions/search?name=" + name)
2642
+ .pipe(operators.map(function (res) {
2643
+ var definition = _this.ingredientsdefinitionsService.newCollection();
2644
+ definition.fill(res);
2645
+ return definition.data;
2646
+ }));
2647
+ };
2648
+ IngredientsService.prototype.searchUnitByName = function (name) {
2649
+ return this.http.get(MIAM_API_HOST$5 + "quantity-units/search?name=" + name)
2650
+ .pipe(operators.map(function (res) { return res.data; }));
2651
+ };
2652
+ IngredientsService.prototype.getConversion = function (ingredientName, quantityUnitId, quantity) {
2653
+ return this.http.get(MIAM_API_HOST$5 + "quantities-conversions/grams?ingredient_name=" + ingredientName + "&quantity_unit_id=" + quantityUnitId + "&quantity=" + quantity);
2654
+ };
2585
2655
  IngredientsService.prototype.fetchReviewedNames = function () {
2586
2656
  var _this = this;
2587
2657
  this.isFetchingNames = true;
@@ -2600,7 +2670,7 @@
2600
2670
  };
2601
2671
  return IngredientsService;
2602
2672
  }(i2.Service));
2603
- IngredientsService.ɵfac = function IngredientsService_Factory(t) { return new (t || IngredientsService)(i0__namespace.ɵɵinject(i1__namespace.HttpClient), i0__namespace.ɵɵinject(UserService)); };
2673
+ IngredientsService.ɵfac = function IngredientsService_Factory(t) { return new (t || IngredientsService)(i0__namespace.ɵɵinject(i1__namespace.HttpClient), i0__namespace.ɵɵinject(UserService), i0__namespace.ɵɵinject(IngredientsDefinitionsService)); };
2604
2674
  IngredientsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: IngredientsService, factory: IngredientsService.ɵfac, providedIn: 'root' });
2605
2675
  (function () {
2606
2676
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(IngredientsService, [{
@@ -2608,7 +2678,7 @@
2608
2678
  args: [{
2609
2679
  providedIn: 'root'
2610
2680
  }]
2611
- }], function () { return [{ type: i1__namespace.HttpClient }, { type: UserService }]; }, null);
2681
+ }], function () { return [{ type: i1__namespace.HttpClient }, { type: UserService }, { type: IngredientsDefinitionsService }]; }, null);
2612
2682
  })();
2613
2683
 
2614
2684
  var RecipeStepsService = /** @class */ (function (_super) {
@@ -8010,7 +8080,7 @@
8010
8080
  };
8011
8081
  MiamInterceptor.prototype.setUserProfiling = function (request) {
8012
8082
  if (this.usersService.profilingForbidden()) {
8013
- request = request.clone({ params: request.params.append('profiling', 'off') });
8083
+ request = request.clone({ params: new i1.HttpParams().set('profiling', 'off') });
8014
8084
  }
8015
8085
  return request;
8016
8086
  };
@@ -8018,7 +8088,7 @@
8018
8088
  request = request.clone({
8019
8089
  setHeaders: {
8020
8090
  'miam-origin': this.context.origin.value,
8021
- 'miam-front-version': '8.0.5',
8091
+ 'miam-front-version': '8.1.0',
8022
8092
  'miam-front-type': 'web',
8023
8093
  'miam-api-version': '4.7.0'
8024
8094
  }
@@ -8429,7 +8499,7 @@
8429
8499
  i0__namespace.ɵɵadvance(1);
8430
8500
  i0__namespace.ɵɵproperty("ngIf", ctx_r3.cancelButtonText);
8431
8501
  i0__namespace.ɵɵadvance(1);
8432
- i0__namespace.ɵɵproperty("disabled", ctx_r3.confirmButtonDisabled);
8502
+ i0__namespace.ɵɵproperty("disabled", ctx_r3.confirmButtonDisabled)("ngClass", ctx_r3.ctaColor);
8433
8503
  i0__namespace.ɵɵadvance(1);
8434
8504
  i0__namespace.ɵɵproperty("ngIf", !ctx_r3.confirmButtonIsLoading);
8435
8505
  i0__namespace.ɵɵadvance(1);
@@ -8459,7 +8529,7 @@
8459
8529
  i0__namespace.ɵɵprojection(11);
8460
8530
  i0__namespace.ɵɵelementEnd();
8461
8531
  i0__namespace.ɵɵelementEnd();
8462
- i0__namespace.ɵɵtemplate(12, ModalComponent_ng_container_0_div_12_Template, 5, 4, "div", 11);
8532
+ i0__namespace.ɵɵtemplate(12, ModalComponent_ng_container_0_div_12_Template, 5, 5, "div", 11);
8463
8533
  i0__namespace.ɵɵelementEnd();
8464
8534
  i0__namespace.ɵɵelementEnd();
8465
8535
  i0__namespace.ɵɵelementEnd();
@@ -8483,6 +8553,7 @@
8483
8553
  var ModalComponent = /** @class */ (function () {
8484
8554
  function ModalComponent() {
8485
8555
  this.modalStyle = 'center';
8556
+ this.ctaColor = 'primary';
8486
8557
  this.close = new i0.EventEmitter();
8487
8558
  this.cancel = new i0.EventEmitter();
8488
8559
  this.confirm = new i0.EventEmitter();
@@ -8490,7 +8561,14 @@
8490
8561
  /** Some keys are set to 0 to prevent `preventDefaultForScrollKeys` method from blocking input fields interactions */
8491
8562
  this.scrollKeys = { ArrowUp: 0, ArrowRight: 0, ArrowDown: 0, ArrowLeft: 0, Space: 0, PageUp: 1, PageDown: 1, End: 0, Home: 0 };
8492
8563
  this.pagePosition = { x: 0, y: 0 };
8564
+ this.currentPath = '';
8493
8565
  }
8566
+ ModalComponent.prototype.ngOnInit = function () {
8567
+ this.observeNavigation();
8568
+ };
8569
+ ModalComponent.prototype.ngOnDestroy = function () {
8570
+ this.mutationObserver.disconnect();
8571
+ };
8494
8572
  ModalComponent.prototype.onScroll = function (event) {
8495
8573
  if (event.ctrlKey) {
8496
8574
  return;
@@ -8560,6 +8638,21 @@
8560
8638
  }
8561
8639
  }
8562
8640
  };
8641
+ /**
8642
+ * Prevent native navigation behind the modal.
8643
+ *
8644
+ * Check if the URL has changed each time an element changes in the body, and if it has, close the modal.
8645
+ */
8646
+ ModalComponent.prototype.observeNavigation = function () {
8647
+ var _this = this;
8648
+ this.currentPath = window.location.href;
8649
+ this.mutationObserver = new MutationObserver(function () {
8650
+ if (_this.currentPath !== window.location.href) {
8651
+ _this.onClose();
8652
+ }
8653
+ });
8654
+ this.mutationObserver.observe(document.body, { childList: true });
8655
+ };
8563
8656
  ModalComponent.prototype.onClose = function () {
8564
8657
  this.close.emit();
8565
8658
  };
@@ -8576,7 +8669,7 @@
8576
8669
  if (rf & 1) {
8577
8670
  i0__namespace.ɵɵlistener("wheel", function ModalComponent_wheel_HostBindingHandler($event) { return ctx.onScroll($event); })("touchstart", function ModalComponent_touchstart_HostBindingHandler($event) { return ctx.onTouchStart($event); })("touchmove", function ModalComponent_touchmove_HostBindingHandler($event) { return ctx.onTouchMove($event); })("keydown", function ModalComponent_keydown_HostBindingHandler($event) { return ctx.onKeyDown($event); }, false, i0__namespace.ɵɵresolveWindow)("keydown.escape", function ModalComponent_keydown_escape_HostBindingHandler() { return ctx.onEscapeDown(); }, false, i0__namespace.ɵɵresolveWindow);
8578
8671
  }
8579
- }, inputs: { recipesCount: "recipesCount", display: "display", confirmButtonIsLoading: "confirmButtonIsLoading", cancelButtonIsLoading: "cancelButtonIsLoading", confirmButtonDisabled: "confirmButtonDisabled", cancelButtonDisabled: "cancelButtonDisabled", noHeaderMode: "noHeaderMode", containerElement: "containerElement", title: "title", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", modalStyle: "modalStyle" }, outputs: { close: "close", cancel: "cancel", confirm: "confirm" }, ngContentSelectors: _c5$1, decls: 1, vars: 1, consts: function () {
8672
+ }, inputs: { recipesCount: "recipesCount", display: "display", confirmButtonIsLoading: "confirmButtonIsLoading", cancelButtonIsLoading: "cancelButtonIsLoading", confirmButtonDisabled: "confirmButtonDisabled", cancelButtonDisabled: "cancelButtonDisabled", noHeaderMode: "noHeaderMode", containerElement: "containerElement", title: "title", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", modalStyle: "modalStyle", ctaColor: "ctaColor" }, outputs: { close: "close", cancel: "cancel", confirm: "confirm" }, ngContentSelectors: _c5$1, decls: 1, vars: 1, consts: function () {
8580
8673
  var i18n_0;
8581
8674
  if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
8582
8675
  var MSG_EXTERNAL_3775647930168967606$$LIB__COMPONENTS_MODAL_MODAL_COMPONENT_TS___1 = goog.getMsg("Utilis\u00E9 dans ");
@@ -8593,7 +8686,7 @@
8593
8686
  else {
8594
8687
  i18n_2 = $localize(templateObject_2$y || (templateObject_2$y = __makeTemplateObject([":\u241Ff0ee2f84e20252199737bc9757b04e75979cb9fe\u241F8253051398336962047: repas"], [":\u241Ff0ee2f84e20252199737bc9757b04e75979cb9fe\u241F8253051398336962047: repas"])));
8595
8688
  }
8596
- return [[4, "ngIf"], [1, "miam-modal__container", 3, "ngClass"], [1, "miam-shadow-overlay", 3, "click"], [1, "miam-modal", 3, "ngClass"], [1, "miam-modal__content-container"], [1, "miam-modal__header"], ["class", "miam-modal__title miam-ds-text size-xl weight-xxl", 4, "ngIf"], ["class", "miam-modal__title miam-ds-text", 4, "ngIf"], [1, "miam-modal__close-icon", "miam-ds-button", "ghost", 3, "click"], [1, "miam-modal__content__scroll-protection"], [1, "miam-modal__content", "miam-ds-text"], ["class", "miam-modal__actions", 4, "ngIf"], [1, "miam-modal__title", "miam-ds-text", "size-xl", "weight-xxl"], [1, "miam-modal__title", "miam-ds-text"], i18n_0, i18n_2, [1, "miam-modal__actions"], ["class", "miam-ds-button secondary", 3, "disabled", "click", 4, "ngIf"], [1, "miam-ds-button", "primary", 3, "disabled", "click"], [1, "miam-ds-button", "secondary", 3, "disabled", "click"]];
8689
+ return [[4, "ngIf"], [1, "miam-modal__container", 3, "ngClass"], [1, "miam-shadow-overlay", 3, "click"], [1, "miam-modal", 3, "ngClass"], [1, "miam-modal__content-container"], [1, "miam-modal__header"], ["class", "miam-modal__title miam-ds-text size-xl weight-xxl", 4, "ngIf"], ["class", "miam-modal__title miam-ds-text", 4, "ngIf"], [1, "miam-modal__close-icon", "miam-ds-button", "ghost", 3, "click"], [1, "miam-modal__content__scroll-protection"], [1, "miam-modal__content", "miam-ds-text"], ["class", "miam-modal__actions", 4, "ngIf"], [1, "miam-modal__title", "miam-ds-text", "size-xl", "weight-xxl"], [1, "miam-modal__title", "miam-ds-text"], i18n_0, i18n_2, [1, "miam-modal__actions"], ["class", "miam-ds-button secondary", 3, "disabled", "click", 4, "ngIf"], [1, "miam-ds-button", 3, "disabled", "ngClass", "click"], [1, "miam-ds-button", "secondary", 3, "disabled", "click"]];
8597
8690
  }, template: function ModalComponent_Template(rf, ctx) {
8598
8691
  if (rf & 1) {
8599
8692
  i0__namespace.ɵɵprojectionDef();
@@ -8602,7 +8695,7 @@
8602
8695
  if (rf & 2) {
8603
8696
  i0__namespace.ɵɵproperty("ngIf", ctx.display);
8604
8697
  }
8605
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgClass, LoaderComponent], styles: [".miam-modal__container .miam-shadow-overlay{position:fixed;background:var(--miam-ds-color-neutral-black);animation-name:show;animation-duration:.3s;opacity:.6;animation-timing-function:ease-in-out;z-index:var(--m-z-index-modal-overlay);top:0;left:0;width:100vw;height:100dvh;-webkit-tap-highlight-color:transparent}@keyframes show{0%{opacity:0}to{opacity:.6}}.miam-modal__container .miam-modal{z-index:var(--m-z-index-modal);position:fixed;overflow:hidden;background-color:var(--miam-ds-color-background-primary);display:flex;flex-direction:column}@media print{.miam-modal__container .miam-modal{overflow-y:unset!important;position:unset!important;height:unset!important}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__close-icon{display:none}}.miam-modal__container .miam-modal.with-header .miam-modal__content-container .miam-modal__content{margin-top:24px;margin-bottom:24px}.miam-modal__container .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__title{display:none}.miam-modal__container .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{position:absolute;top:0;right:0;z-index:var(--m-z-index-position-absolute-high)}.miam-modal__container .miam-modal .miam-modal__content-container{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header{display:flex;flex-direction:row;justify-content:space-between}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header .miam-modal__title{font-weight:900;overflow:hidden;text-overflow:ellipsis;align-self:center}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:8px;padding:16px;background:50%/24px no-repeat url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg)}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__content__scroll-protection{overflow:hidden;height:100%;display:flex}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__content{width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-color:var(--miam-ds-color-primary-100),var(--miam-ds-color-primary);scrollbar-width:thin;-ms-overflow-style:none;scrollbar-width:none}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__content::-webkit-scrollbar{display:none}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__actions{display:flex;justify-content:flex-end;flex-direction:row}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__actions button+button{margin-left:12px}.miam-modal__container.center .miam-modal{height:auto;min-width:464px;width:600px;max-width:700px;max-height:96dvh;box-sizing:border-box;top:50%;left:50%;right:unset;transform:translate(-50%,-50%);border-radius:8px;background-color:var(--miam-ds-color-neutral-white);padding:24px}.miam-modal__container.right .miam-modal{right:0;animation-name:openRightDrawer}@keyframes openRightDrawer{0%{right:-1200px}to{right:0}}.miam-modal__container.left .miam-modal{left:0;animation-name:openLeftDrawer}@keyframes openLeftDrawer{0%{left:-1200px}to{left:0}}.miam-modal__container.left .miam-modal,.miam-modal__container.right .miam-modal{animation-duration:.5s;animation-timing-function:cubic-bezier(.75,0,.2,1);height:100%;width:1000px;top:0}.miam-modal__container.left .miam-modal .miam-modal__content-container,.miam-modal__container.right .miam-modal .miam-modal__content-container{height:100%;box-sizing:border-box}.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__content,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__content{height:100%;box-sizing:border-box;margin:unset}.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions{padding:24px;border-top:1px solid var(--miam-ds-color-border)}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__header,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__header{border-bottom:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:unset}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__content,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__content{padding:24px}.miam-modal__container.left .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon,.miam-modal__container.right .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:24px}.miam-modal__container.left.small-width .miam-modal,.miam-modal__container.right.small-width .miam-modal{min-width:680px;max-width:680px}.miam-modal__container.left.tiny-width .miam-modal,.miam-modal__container.right.tiny-width .miam-modal{min-width:360px;max-width:360px}@media (max-width:1023px){.miam-modal__container.center .miam-modal{min-width:unset;transform:unset;border-radius:unset;padding:unset}.miam-modal__container.center .miam-modal.with-header .miam-modal__content-container .miam-modal__header{border-bottom:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.center .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:unset}.miam-modal__container.center .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:24px}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__content{box-sizing:border-box;height:100%;margin:unset;padding:24px}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions{border-top:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.center .miam-modal,.miam-modal__container.left .miam-modal,.miam-modal__container.left.small-width .miam-modal,.miam-modal__container.left.tiny-width .miam-modal,.miam-modal__container.right .miam-modal,.miam-modal__container.right.small-width .miam-modal,.miam-modal__container.right.tiny-width .miam-modal{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;top:0;bottom:0;right:0;animation-name:openBottomSheet;animation-duration:.5s;animation-timing-function:cubic-bezier(.075,.82,.165,1)}@keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions{flex-direction:column-reverse}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary{background-color:var(--miam-ds-color-primary)}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary{background-color:transparent}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button{margin-left:unset;margin-bottom:12px}}"], encapsulation: 2, changeDetection: 0 });
8698
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgClass, LoaderComponent], styles: [".miam-modal__container .miam-shadow-overlay{position:fixed;background:var(--miam-ds-color-neutral-black);animation-name:show;animation-duration:.3s;opacity:.6;animation-timing-function:ease-in-out;z-index:var(--m-z-index-modal-overlay);top:0;left:0;width:100vw;height:100dvh;-webkit-tap-highlight-color:transparent}@keyframes show{0%{opacity:0}to{opacity:.6}}.miam-modal__container .miam-modal{z-index:var(--m-z-index-modal);position:fixed;overflow:hidden;background-color:var(--miam-ds-color-background-primary);display:flex;flex-direction:column}@media print{.miam-modal__container .miam-modal{overflow-y:unset!important;position:unset!important;height:unset!important}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__close-icon{display:none}}.miam-modal__container .miam-modal.with-header .miam-modal__content-container .miam-modal__content{margin-top:24px;margin-bottom:24px}.miam-modal__container .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__title{display:none}.miam-modal__container .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{position:absolute;top:0;right:0;z-index:var(--m-z-index-position-absolute-high)}.miam-modal__container .miam-modal .miam-modal__content-container{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header{display:flex;flex-direction:row;justify-content:space-between}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header .miam-modal__title{font-weight:900;overflow:hidden;text-overflow:ellipsis;align-self:center}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:8px;padding:16px;background:50%/24px no-repeat url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg)}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__content__scroll-protection{overflow:hidden;height:100%;display:flex}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__content{width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-color:var(--miam-ds-color-primary-100),var(--miam-ds-color-primary);scrollbar-width:thin}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__actions{display:flex;justify-content:flex-end;flex-direction:row}.miam-modal__container .miam-modal .miam-modal__content-container .miam-modal__actions button+button{margin-left:12px}.miam-modal__container.center .miam-modal{height:auto;min-width:464px;width:600px;max-width:700px;max-height:96dvh;box-sizing:border-box;top:50%;left:50%;right:unset;transform:translate(-50%,-50%);border-radius:8px;background-color:var(--miam-ds-color-neutral-white);padding:24px}.miam-modal__container.right .miam-modal{right:0;animation-name:openRightDrawer}@keyframes openRightDrawer{0%{right:-1200px}to{right:0}}.miam-modal__container.left .miam-modal{left:0;animation-name:openLeftDrawer}@keyframes openLeftDrawer{0%{left:-1200px}to{left:0}}.miam-modal__container.left .miam-modal,.miam-modal__container.right .miam-modal{animation-duration:.5s;animation-timing-function:cubic-bezier(.75,0,.2,1);height:100%;width:1000px;top:0}.miam-modal__container.left .miam-modal .miam-modal__content-container,.miam-modal__container.right .miam-modal .miam-modal__content-container{height:100%;box-sizing:border-box}.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__content,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__content{height:100%;box-sizing:border-box;margin:unset}.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions{padding:24px;border-top:1px solid var(--miam-ds-color-border)}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__header,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__header{border-bottom:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:unset}.miam-modal__container.left .miam-modal.with-header .miam-modal__content-container .miam-modal__content,.miam-modal__container.right .miam-modal.with-header .miam-modal__content-container .miam-modal__content{padding:24px}.miam-modal__container.left .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon,.miam-modal__container.right .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:24px}.miam-modal__container.left.small-width .miam-modal,.miam-modal__container.right.small-width .miam-modal{min-width:680px;max-width:680px}.miam-modal__container.left.tiny-width .miam-modal,.miam-modal__container.right.tiny-width .miam-modal{min-width:360px;max-width:360px}@media (max-width:1023px){.miam-modal__container.center .miam-modal{min-width:unset;transform:unset;border-radius:unset;padding:unset}.miam-modal__container.center .miam-modal.with-header .miam-modal__content-container .miam-modal__header{border-bottom:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.center .miam-modal.with-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:unset}.miam-modal__container.center .miam-modal.without-header .miam-modal__content-container .miam-modal__header .miam-modal__close-icon{margin:24px}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__content{box-sizing:border-box;height:100%;margin:unset;padding:24px}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions{border-top:1px solid var(--miam-ds-color-border);padding:24px}.miam-modal__container.center .miam-modal,.miam-modal__container.left .miam-modal,.miam-modal__container.left.small-width .miam-modal,.miam-modal__container.left.tiny-width .miam-modal,.miam-modal__container.right .miam-modal,.miam-modal__container.right.small-width .miam-modal,.miam-modal__container.right.tiny-width .miam-modal{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;top:0;bottom:0;right:0;animation-name:openBottomSheet;animation-duration:.5s;animation-timing-function:cubic-bezier(.075,.82,.165,1)}@keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions{flex-direction:column-reverse}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.primary{background-color:var(--miam-ds-color-primary)}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button:hover.secondary{background-color:transparent}.miam-modal__container.center .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.left.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right.small-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button,.miam-modal__container.right.tiny-width .miam-modal .miam-modal__content-container .miam-modal__actions .miam-ds-button+button{margin-left:unset;margin-bottom:12px}}"], encapsulation: 2, changeDetection: 0 });
8606
8699
  (function () {
8607
8700
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(ModalComponent, [{
8608
8701
  type: i0.Component,
@@ -8637,6 +8730,8 @@
8637
8730
  type: i0.Input
8638
8731
  }], modalStyle: [{
8639
8732
  type: i0.Input
8733
+ }], ctaColor: [{
8734
+ type: i0.Input
8640
8735
  }], close: [{
8641
8736
  type: i0.Output
8642
8737
  }], cancel: [{
@@ -12768,7 +12863,7 @@
12768
12863
  i0__namespace.ɵɵadvance(2);
12769
12864
  i0__namespace.ɵɵproperty("ngIf", !ctx.isAlreadyOnCatalogPage())("ngIfElse", _r5);
12770
12865
  }
12771
- }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, ProductCardComponent, AccordionComponent, AccordionTitleDirective, AccordionContentDirective], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-products-picker__container{display:flex;flex-direction:column;gap:16px;padding:16px}.miam-products-picker__container .miam-products-picker__loader{margin:0 auto;width:40px;height:40px;background-position-x:20px;background-size:20px 20px}.miam-products-picker__container .miam-products-picker__header{display:flex;justify-content:space-between;align-items:center}.miam-products-picker__container .miam-products-picker__header .miam-products-picker__header-text{font-size:16px;line-height:150%;color:var(--miam-ds-color-neutral-black,#1f3543)}@media (min-width:1024px){.miam-products-picker__container .miam-products-picker__header .miam-products-picker__header-text{font-size:20px;line-height:120%}}.miam-products-picker__container .miam-products-picker__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(296px,1fr));grid-gap:16px}@media (max-width:640px){.miam-products-picker__container .miam-products-picker__list{grid-gap:8px}}.miam-products-picker__container .miam-products-picker__more{display:flex;justify-content:center}.miam-products-picker__container .miam-products-picker__more .miam-products-picker__more-anchor{text-decoration:inherit}"], encapsulation: 2, changeDetection: 0 });
12866
+ }, directives: [i2__namespace$1.NgIf, i2__namespace$1.NgForOf, ProductCardComponent, AccordionComponent, AccordionTitleDirective, AccordionContentDirective], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-products-picker__container{display:flex;flex-direction:column;gap:16px;padding:16px}.miam-products-picker__container .miam-products-picker__loader{margin:0 auto;width:40px;height:40px;background-position-x:20px;background-size:20px 20px}.miam-products-picker__container .miam-products-picker__header{display:flex;justify-content:space-between;align-items:center}.miam-products-picker__container .miam-products-picker__header .miam-products-picker__header-text{font-size:16px;line-height:150%;color:var(--miam-ds-color-neutral-black,#1f3543)}@media (min-width:1024px){.miam-products-picker__container .miam-products-picker__header .miam-products-picker__header-text{font-size:20px;line-height:120%}}.miam-products-picker__container .miam-products-picker__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(298px,1fr));grid-gap:16px}@media (max-width:640px){.miam-products-picker__container .miam-products-picker__list{grid-gap:8px}}.miam-products-picker__container .miam-products-picker__more{display:flex;justify-content:center}.miam-products-picker__container .miam-products-picker__more .miam-products-picker__more-anchor{text-decoration:inherit}"], encapsulation: 2, changeDetection: 0 });
12772
12867
  (function () {
12773
12868
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(ProductsPickerComponent, [{
12774
12869
  type: i0.Component,
@@ -25335,7 +25430,7 @@
25335
25430
  i0__namespace.ɵɵadvance(2);
25336
25431
  i0__namespace.ɵɵproperty("ngIf", !i0__namespace.ɵɵpipeBind1(3, 4, ctx.previewMode));
25337
25432
  }
25338
- }, directives: [i2__namespace$1.NgIf, ModalComponent, BasketPreviewBlockComponent, RecipeDetailsComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-modal.without-header .miam-modal__header .miam-modal__close-icon{display:none}.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal{width:480px}@media (max-width:600px){.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal{width:100%}}.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__content{padding:16px}@media (min-width:1023px) and (max-height:1000px){ng-miam-recipe-modal .miam-modal__container.left .miam-modal,ng-miam-recipe-modal .miam-modal__container.right .miam-modal,webc-miam-recipe-modal .miam-modal__container.left .miam-modal,webc-miam-recipe-modal .miam-modal__container.right .miam-modal{width:650px}}@media (min-width:1023px) and (max-height:800px){ng-miam-recipe-modal .miam-modal__container.left .miam-modal,ng-miam-recipe-modal .miam-modal__container.right .miam-modal,webc-miam-recipe-modal .miam-modal__container.left .miam-modal,webc-miam-recipe-modal .miam-modal__container.right .miam-modal{width:450px}}"], encapsulation: 2, changeDetection: 0 });
25433
+ }, directives: [i2__namespace$1.NgIf, ModalComponent, BasketPreviewBlockComponent, RecipeDetailsComponent], pipes: [i2__namespace$1.AsyncPipe], styles: [".miam-modal.without-header .miam-modal__header .miam-modal__close-icon{display:none}.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal{width:480px}@media (max-width:600px){.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal{width:100%}}.miam-recipe-modal__basket-preview-modal .miam-modal__container.right .miam-modal .miam-modal__content-container .miam-modal__content{padding:16px}@media (min-width:1023px) and (max-height:1000px){ng-miam-recipe-modal .miam-modal__container.left .miam-modal,ng-miam-recipe-modal .miam-modal__container.right .miam-modal{width:650px}}@media (min-width:1023px) and (max-height:800px){ng-miam-recipe-modal .miam-modal__container.left .miam-modal,ng-miam-recipe-modal .miam-modal__container.right .miam-modal{width:450px}}"], encapsulation: 2, changeDetection: 0 });
25339
25434
  (function () {
25340
25435
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RecipeModalComponent, [{
25341
25436
  type: i0.Component,
@@ -25656,6 +25751,8 @@
25656
25751
  exports.ExplainBannerStepComponent = ExplainBannerStepComponent;
25657
25752
  exports.IconComponent = IconComponent;
25658
25753
  exports.Ingredient = Ingredient;
25754
+ exports.IngredientDefinition = IngredientDefinition;
25755
+ exports.IngredientsDefinitionsService = IngredientsDefinitionsService;
25659
25756
  exports.IngredientsService = IngredientsService;
25660
25757
  exports.Item = Item;
25661
25758
  exports.ItemsService = ItemsService;