ng-miam 4.1.2 → 4.2.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 +324 -97
  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/abstracts/abstract-recipe-card.component.js +4 -3
  6. package/esm2015/lib/_services/context.service.js +12 -2
  7. package/esm2015/lib/_services/groceries-lists.service.js +25 -3
  8. package/esm2015/lib/_services/recipes.service.js +3 -3
  9. package/esm2015/lib/_utils/synchro-basket/basket-handler.js +4 -1
  10. package/esm2015/lib/_utils/synchro-basket/basket-handling/baskets-comparator.js +4 -1
  11. package/esm2015/lib/_utils/synchro-basket/basket-handling/comparison-map.js +7 -1
  12. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +14 -5
  13. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +1 -1
  14. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +20 -20
  15. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +2 -2
  16. package/esm2015/lib/_web-components/modal/modal.component.js +57 -16
  17. package/esm2015/lib/_web-components/modal/modal.module.js +6 -2
  18. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +2 -2
  19. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +51 -18
  20. package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +108 -36
  21. package/fesm2015/ng-miam.js +299 -98
  22. package/fesm2015/ng-miam.js.map +1 -1
  23. package/lib/_services/context.service.d.ts +3 -0
  24. package/lib/_services/groceries-lists.service.d.ts +11 -0
  25. package/lib/_services/recipes.service.d.ts +3 -1
  26. package/lib/_utils/synchro-basket/basket-handler.d.ts +1 -0
  27. package/lib/_utils/synchro-basket/basket-handling/baskets-comparator.d.ts +1 -0
  28. package/lib/_utils/synchro-basket/basket-handling/comparison-map.d.ts +1 -0
  29. package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +3 -2
  30. package/lib/_web-components/modal/modal.component.d.ts +5 -1
  31. package/lib/_web-components/modal/modal.module.d.ts +2 -1
  32. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +14 -4
  33. package/lib/_web-components/recipe-tags/recipe-tags.component.d.ts +5 -1
  34. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef } from '@angular/core';
2
- import { GroceriesListsService, RecipesService } from '../../_services';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
2
+ import { BasketsService, GroceriesListsService, RecipesService } from '../../_services';
3
3
  import { PrintService } from '../../_services/print.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../_services";
@@ -21,7 +21,7 @@ function RecipeModalComponent_div_2_Template(rf, ctx) { if (rf & 1) {
21
21
  const _r8 = i0.ɵɵgetCurrentView();
22
22
  i0.ɵɵelementStart(0, "div", 5);
23
23
  i0.ɵɵelementStart(1, "ng-miam-basket-preview-block", 6);
24
- i0.ɵɵlistener("guestCountChanged", function RecipeModalComponent_div_2_Template_ng_miam_basket_preview_block_guestCountChanged_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.updateRecipeGuests($event); });
24
+ i0.ɵɵlistener("guestCountChanged", function RecipeModalComponent_div_2_Template_ng_miam_basket_preview_block_guestCountChanged_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.updateRecipeGuests($event); })("loading", function RecipeModalComponent_div_2_Template_ng_miam_basket_preview_block_loading_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.setModalClosable($event); });
25
25
  i0.ɵɵelementEnd();
26
26
  i0.ɵɵelementEnd();
27
27
  } if (rf & 2) {
@@ -30,14 +30,20 @@ function RecipeModalComponent_div_2_Template(rf, ctx) { if (rf & 1) {
30
30
  i0.ɵɵproperty("recipeId", ctx_r1.recipe && ctx_r1.recipe.id);
31
31
  } }
32
32
  export class RecipeModalComponent {
33
- constructor(cdr, recipesService, printService, elRef, groceriesListsService) {
33
+ constructor(cdr, recipesService, printService, elRef, groceriesListsService, basketsService) {
34
34
  this.cdr = cdr;
35
35
  this.recipesService = recipesService;
36
36
  this.printService = printService;
37
37
  this.elRef = elRef;
38
38
  this.groceriesListsService = groceriesListsService;
39
+ this.basketsService = basketsService;
39
40
  this.show = false;
40
41
  this.previewMode = false;
42
+ this.canCloseModal = true;
43
+ this.removeIsLoading = false;
44
+ this.basketChangedSinceOpened = false; // true if show = true and basket is different since last time show was false
45
+ this.recipeWasAdded = false;
46
+ this.hasChangesOnClose = new EventEmitter(false);
41
47
  }
42
48
  ngOnInit() {
43
49
  this.recipesService.displayedRecipe$.subscribe(result => {
@@ -47,6 +53,7 @@ export class RecipeModalComponent {
47
53
  this.cdr.detectChanges();
48
54
  }
49
55
  else {
56
+ this.recipeWasAdded = result.wasAdded;
50
57
  this.recipe = result.recipe;
51
58
  this.previewMode = result.previewMode;
52
59
  this.previewAllowed = result.previewAllowed;
@@ -59,21 +66,38 @@ export class RecipeModalComponent {
59
66
  this.cdr.detectChanges();
60
67
  }
61
68
  });
69
+ this.basketsService._basket$.subscribe(() => {
70
+ if (this.show) {
71
+ this.basketChangedSinceOpened = true;
72
+ }
73
+ });
62
74
  }
63
75
  hide() {
64
- this.show = false;
65
- this.previewMode = false;
66
- this.recipesService.hide();
67
- this.printService.dissmissPrinting();
68
- this.cdr.detectChanges();
76
+ if (this.canCloseModal) {
77
+ this.show = false;
78
+ this.previewMode = false;
79
+ this.recipesService.hide();
80
+ this.printService.dissmissPrinting();
81
+ this.hasChangesOnClose.emit(this.basketChangedSinceOpened);
82
+ this.basketChangedSinceOpened = false;
83
+ this.cdr.detectChanges();
84
+ }
69
85
  }
70
86
  togglePreviewMode() {
71
87
  this.previewMode = !this.previewMode;
72
88
  this.cdr.detectChanges();
73
89
  }
74
90
  removeRecipe() {
75
- this.groceriesListsService.removeRecipeFromList(this.recipe.id).subscribe();
76
- this.hide();
91
+ if (this.canCloseModal) {
92
+ this.removeIsLoading = true;
93
+ this.cdr.detectChanges();
94
+ this.groceriesListsService.removeRecipeFromList(this.recipe.id).subscribe(() => {
95
+ // if remove and recipe was added, then no change was made to basket, and if removed and not added it's a change to the basket
96
+ this.basketChangedSinceOpened = !this.recipeWasAdded;
97
+ this.removeIsLoading = false;
98
+ this.hide();
99
+ });
100
+ }
77
101
  }
78
102
  updateRecipeGuests(guests) {
79
103
  this.recipe.modifiedGuests = guests;
@@ -87,28 +111,37 @@ export class RecipeModalComponent {
87
111
  });
88
112
  this.recipesService.displayedRecipeChanged.emit();
89
113
  }
114
+ /**
115
+ * If the preview is opened and loading, block the user from closing the modal
116
+ */
117
+ setModalClosable(previewLoading) {
118
+ this.canCloseModal = !(previewLoading && this.previewMode);
119
+ }
90
120
  }
91
- RecipeModalComponent.ɵfac = function RecipeModalComponent_Factory(t) { return new (t || RecipeModalComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.PrintService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.GroceriesListsService)); };
92
- RecipeModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeModalComponent, selectors: [["ng-miam-recipe-modal"]], decls: 3, vars: 9, consts: [[3, "isAngularComponent", "noHeaderMode", "expanded", "title", "cancelButtonText", "confirmButtonText", "expandedChange", "close", "cancel", "confirm"], [3, "recipe", "previewAllowed", "recipeAdded", "recipeChanged", "recipeError", 4, "ngIf"], ["class", "miam-wrapper-preview", 4, "ngIf"], [3, "recipe", "previewAllowed", "recipeAdded", "recipeChanged", "recipeError"], ["details", ""], [1, "miam-wrapper-preview"], [3, "recipeId", "guestCountChanged"]], template: function RecipeModalComponent_Template(rf, ctx) { if (rf & 1) {
121
+ RecipeModalComponent.ɵfac = function RecipeModalComponent_Factory(t) { return new (t || RecipeModalComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.PrintService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.GroceriesListsService), i0.ɵɵdirectiveInject(i1.BasketsService)); };
122
+ RecipeModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeModalComponent, selectors: [["ng-miam-recipe-modal"]], outputs: { hasChangesOnClose: "hasChangesOnClose" }, decls: 3, vars: 12, consts: [[3, "isAngularComponent", "noHeaderMode", "expanded", "title", "cancelButtonText", "confirmButtonText", "cancelButtonDisabled", "confirmButtonDisabled", "cancelButtonIsLoading", "expandedChange", "close", "cancel", "confirm"], [3, "recipe", "previewAllowed", "recipeAdded", "recipeChanged", "recipeError", 4, "ngIf"], ["class", "miam-wrapper-preview", 4, "ngIf"], [3, "recipe", "previewAllowed", "recipeAdded", "recipeChanged", "recipeError"], ["details", ""], [1, "miam-wrapper-preview"], [3, "recipeId", "guestCountChanged", "loading"]], template: function RecipeModalComponent_Template(rf, ctx) { if (rf & 1) {
93
123
  i0.ɵɵelementStart(0, "ng-miam-modal", 0);
94
124
  i0.ɵɵlistener("expandedChange", function RecipeModalComponent_Template_ng_miam_modal_expandedChange_0_listener($event) { return ctx.show = $event; })("close", function RecipeModalComponent_Template_ng_miam_modal_close_0_listener() { return ctx.hide(); })("cancel", function RecipeModalComponent_Template_ng_miam_modal_cancel_0_listener() { return ctx.removeRecipe(); })("confirm", function RecipeModalComponent_Template_ng_miam_modal_confirm_0_listener() { return ctx.hide(); });
95
125
  i0.ɵɵtemplate(1, RecipeModalComponent_ng_miam_recipe_details_1_Template, 2, 2, "ng-miam-recipe-details", 1);
96
126
  i0.ɵɵtemplate(2, RecipeModalComponent_div_2_Template, 2, 1, "div", 2);
97
127
  i0.ɵɵelementEnd();
98
128
  } if (rf & 2) {
99
- i0.ɵɵproperty("isAngularComponent", true)("noHeaderMode", true)("expanded", ctx.show)("noHeaderMode", !ctx.previewMode)("title", ctx.previewMode ? "1 repas ajout\u00E9 \u00E0 votre panier :" : "")("cancelButtonText", ctx.previewMode ? "Retirer le repas" : "")("confirmButtonText", ctx.previewMode ? "Ok, continuer mes courses" : "");
129
+ i0.ɵɵproperty("isAngularComponent", true)("noHeaderMode", true)("expanded", ctx.show)("noHeaderMode", !ctx.previewMode)("title", ctx.previewMode ? "1 repas ajout\u00E9 \u00E0 votre panier :" : "")("cancelButtonText", ctx.previewMode ? "Retirer le repas" : "")("confirmButtonText", ctx.previewMode ? "Ok, continuer mes courses" : "")("cancelButtonDisabled", !ctx.canCloseModal)("confirmButtonDisabled", !ctx.canCloseModal)("cancelButtonIsLoading", ctx.removeIsLoading);
100
130
  i0.ɵɵadvance(1);
101
131
  i0.ɵɵproperty("ngIf", ctx.recipe && !ctx.previewMode);
102
132
  i0.ɵɵadvance(1);
103
133
  i0.ɵɵproperty("ngIf", ctx.previewMode);
104
- } }, directives: [i3.ModalComponent, i4.NgIf, i5.RecipeDetailsComponent, i6.BasketPreviewBlockComponent], styles: [".miam-wrapper-preview[_ngcontent-%COMP%]{background-color:#fff;flex:1;overflow-y:auto;padding:20px}@media (max-width:1022px){.miam-wrapper-preview[_ngcontent-%COMP%]{padding-bottom:80px}}.miam-wrapper-preview[_ngcontent-%COMP%]::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-wrapper-preview[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-wrapper-preview[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}"], changeDetection: 0 });
134
+ } }, directives: [i3.ModalComponent, i4.NgIf, i5.RecipeDetailsComponent, i6.BasketPreviewBlockComponent], styles: [".miam-wrapper-preview{background-color:#fff;flex:1;overflow-y:auto;padding:20px}@media (max-width:1022px){.miam-wrapper-preview{padding-bottom:80px}}.miam-wrapper-preview::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-wrapper-preview::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-wrapper-preview::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}"], encapsulation: 2, changeDetection: 0 });
105
135
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeModalComponent, [{
106
136
  type: Component,
107
137
  args: [{
108
138
  selector: 'ng-miam-recipe-modal',
109
139
  templateUrl: './recipe-modal.component.html',
110
140
  styleUrls: ['./recipe-modal.component.scss'],
111
- changeDetection: ChangeDetectionStrategy.OnPush
141
+ changeDetection: ChangeDetectionStrategy.OnPush,
142
+ encapsulation: ViewEncapsulation.None
112
143
  }]
113
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i2.PrintService }, { type: i0.ElementRef }, { type: i1.GroceriesListsService }]; }, null); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1tb2RhbC9yZWNpcGUtbW9kYWwuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtbW9kYWwvcmVjaXBlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUdwSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0lDUTNELG9EQVEwQjtJQUh4Qiw4T0FBbUMsaU9BQUEsb05BQUE7SUFHcEMsaUJBQXlCOzs7SUFMeEIsc0NBQWlCLHlDQUFBOzs7O0lBT25CLDhCQUNFO0lBQUEsdURBR2dDO0lBRDlCLDBQQUFnRDtJQUNqRCxpQkFBK0I7SUFDbEMsaUJBQU07OztJQUhGLGVBQWdDO0lBQWhDLDREQUFnQzs7QURYdEMsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNVLEdBQXNCLEVBQ3ZCLGNBQThCLEVBQzdCLFlBQTBCLEVBQzFCLEtBQWlCLEVBQ2pCLHFCQUE0QztRQUo1QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN2QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWHRELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQVdo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OEI7UUFBOUIscURBQThCO1FBUUUsZUFBbUI7UUFBbkIsc0NBQW1COztrRERUMUMsb0JBQW9CO2NBTmhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxXQUFXLEVBQUUsK0JBQStCO2dCQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5pbXBvcnQgeyBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWNpcGU6IFJlY2lwZTtcbiAgc2hvdyA9IGZhbHNlO1xuICBwcmV2aWV3TW9kZSA9IGZhbHNlO1xuICBwcmV2aWV3QWxsb3dlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIGRldGFpbHNDb21wb25lbnQ6IFJlY2lwZURldGFpbHNDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXllZFJlY2lwZSQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAoIXJlc3VsdD8ucmVjaXBlKSB7XG4gICAgICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5yZWNpcGUgPSByZXN1bHQucmVjaXBlO1xuICAgICAgICB0aGlzLnByZXZpZXdNb2RlID0gcmVzdWx0LnByZXZpZXdNb2RlO1xuICAgICAgICB0aGlzLnByZXZpZXdBbGxvd2VkID0gcmVzdWx0LnByZXZpZXdBbGxvd2VkO1xuICAgICAgICB0aGlzLnNob3cgPSB0cnVlO1xuICAgICAgICB0aGlzLnByaW50U2VydmljZS5wcmVwYXJlRm9yUHJpbnQodGhpcy5lbFJlZik7XG4gICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudD8uY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBpZiAodGhpcy5kZXRhaWxzQ29tcG9uZW50KSB7IHRoaXMuZGV0YWlsc0NvbXBvbmVudC5zaG93RGV0YWlsID0gdHJ1ZTsgfVxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMucHJldmlld01vZGUgPSBmYWxzZTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGUoKTtcbiAgICB0aGlzLnByaW50U2VydmljZS5kaXNzbWlzc1ByaW50aW5nKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlUHJldmlld01vZGUoKSB7XG4gICAgdGhpcy5wcmV2aWV3TW9kZSA9ICF0aGlzLnByZXZpZXdNb2RlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHJlbW92ZVJlY2lwZSgpIHtcbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5yZW1vdmVSZWNpcGVGcm9tTGlzdCh0aGlzLnJlY2lwZS5pZCkuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICB1cGRhdGVSZWNpcGVHdWVzdHMoZ3Vlc3RzOiBudW1iZXIpIHtcbiAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cztcbiAgfVxuXG4gIC8vIElmIHRoZSByZWNpcGUgaXMgYWxyZWFkeSBpbiBiYXNrZXQsIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGd1ZXN0cyAoPSBhcHBlbmQgcmVjaXBlIHRvIGxpc3QgYWdhaW4pXG4gIHJlY2lwZUNoYW5nZWQoKSB7XG4gICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QodGhpcy5yZWNpcGUuaWQpLnN1YnNjcmliZShyZWNpcGVJc0luTGlzdCA9PiB7XG4gICAgICBpZiAocmVjaXBlSXNJbkxpc3QpIHtcbiAgICAgICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHRoaXMucmVjaXBlLmlkLCB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cywgJ3JlY2lwZS1tb2RhbCcpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuZy1taWFtLW1vZGFsIFxuICBbaXNBbmd1bGFyQ29tcG9uZW50XT1cInRydWVcIiBcbiAgW25vSGVhZGVyTW9kZV09XCJ0cnVlXCJcbiAgWyhleHBhbmRlZCldPVwic2hvd1wiXG4gIFtub0hlYWRlck1vZGVdPSchcHJldmlld01vZGUnIFxuICBbdGl0bGVdPVwicHJldmlld01vZGUgPyAnMSByZXBhcyBham91dMOpIMOgIHZvdHJlIHBhbmllciA6JyA6ICcnXCJcbiAgW2NhbmNlbEJ1dHRvblRleHRdPVwicHJldmlld01vZGUgPyAnUmV0aXJlciBsZSByZXBhcycgOiAnJ1wiXG4gIFtjb25maXJtQnV0dG9uVGV4dF09XCJwcmV2aWV3TW9kZSA/ICdPaywgY29udGludWVyIG1lcyBjb3Vyc2VzJyA6ICcnXCJcbiAgKGNsb3NlKT1cImhpZGUoKVwiXG4gIChjYW5jZWwpPVwicmVtb3ZlUmVjaXBlKClcIlxuICAoY29uZmlybSk9XCJoaWRlKClcIlxuPlxuICA8bmctbWlhbS1yZWNpcGUtZGV0YWlsc1xuICAgICNkZXRhaWxzXG4gICAgKm5nSWY9XCJyZWNpcGUgJiYgIXByZXZpZXdNb2RlXCJcbiAgICBbcmVjaXBlXT1cInJlY2lwZVwiXG4gICAgW3ByZXZpZXdBbGxvd2VkXT1cInByZXZpZXdBbGxvd2VkXCJcbiAgICAocmVjaXBlQWRkZWQpPVwidG9nZ2xlUHJldmlld01vZGUoKVwiXG4gICAgKHJlY2lwZUNoYW5nZWQpPVwicmVjaXBlQ2hhbmdlZCgpXCJcbiAgICAocmVjaXBlRXJyb3IpPVwiaGlkZSgpXCJcbiAgPjwvbmctbWlhbS1yZWNpcGUtZGV0YWlscz5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS13cmFwcGVyLXByZXZpZXdcIiAqbmdJZj1cInByZXZpZXdNb2RlXCI+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tcbiAgICAgIFtyZWNpcGVJZF09XCJyZWNpcGUgJiYgcmVjaXBlLmlkXCJcbiAgICAgIChndWVzdENvdW50Q2hhbmdlZCk9XCJ1cGRhdGVSZWNpcGVHdWVzdHMoJGV2ZW50KVwiXG4gICAgPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1ibG9jaz5cbiAgPC9kaXY+XG48L25nLW1pYW0tbW9kYWw+Il19
144
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i2.PrintService }, { type: i0.ElementRef }, { type: i1.GroceriesListsService }, { type: i1.BasketsService }]; }, { hasChangesOnClose: [{
145
+ type: Output
146
+ }] }); })();
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1tb2RhbC9yZWNpcGUtbW9kYWwuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtbW9kYWwvcmVjaXBlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEosT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7SUNXM0Qsb0RBUTBCO0lBSHhCLDhPQUFtQyxpT0FBQSxvTkFBQTtJQUdwQyxpQkFBeUI7OztJQUx4QixzQ0FBaUIseUNBQUE7Ozs7SUFPbkIsOEJBQ0U7SUFBQSx1REFJZ0M7SUFGOUIsMFBBQWdELHVOQUFBO0lBRWpELGlCQUErQjtJQUNsQyxpQkFBTTs7O0lBSkYsZUFBZ0M7SUFBaEMsNERBQWdDOztBRGJ0QyxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ1UsR0FBc0IsRUFDdkIsY0FBOEIsRUFDN0IsWUFBMEIsRUFDMUIsS0FBaUIsRUFDakIscUJBQTRDLEVBQzVDLGNBQThCO1FBTDlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FB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eUNBQTJCLHNCQUFBLHNCQUFBLGtDQUFBLDZFQUFBLCtEQUFBLHlFQUFBLDRDQUFBLDZDQUFBLDhDQUFBO1FBZ0J6QixlQUE4QjtRQUE5QixxREFBOEI7UUFRRSxlQUFtQjtRQUFuQixzQ0FBbUI7O2tERFgxQyxvQkFBb0I7Y0FQaEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSwrQkFBK0I7Z0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2dCQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7c05BV1csaUJBQWlCO2tCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgQmFza2V0c1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgUmVjaXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlY2lwZS1kZXRhaWxzL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlY2lwZTogUmVjaXBlO1xuICBzaG93ID0gZmFsc2U7XG4gIHByZXZpZXdNb2RlID0gZmFsc2U7XG4gIHByZXZpZXdBbGxvd2VkOiBib29sZWFuO1xuICBjYW5DbG9zZU1vZGFsID0gdHJ1ZTtcbiAgcmVtb3ZlSXNMb2FkaW5nID0gZmFsc2U7XG4gIGJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9IGZhbHNlOyAvLyB0cnVlIGlmIHNob3cgPSB0cnVlIGFuZCBiYXNrZXQgaXMgZGlmZmVyZW50IHNpbmNlIGxhc3QgdGltZSBzaG93IHdhcyBmYWxzZVxuICByZWNpcGVXYXNBZGRlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBoYXNDaGFuZ2VzT25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgZGV0YWlsc0NvbXBvbmVudDogUmVjaXBlRGV0YWlsc0NvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheWVkUmVjaXBlJC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmICghcmVzdWx0Py5yZWNpcGUpIHtcbiAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnJlY2lwZVdhc0FkZGVkID0gcmVzdWx0Lndhc0FkZGVkO1xuICAgICAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdC5yZWNpcGU7XG4gICAgICAgIHRoaXMucHJldmlld01vZGUgPSByZXN1bHQucHJldmlld01vZGU7XG4gICAgICAgIHRoaXMucHJldmlld0FsbG93ZWQgPSByZXN1bHQucHJldmlld0FsbG93ZWQ7XG4gICAgICAgIHRoaXMuc2hvdyA9IHRydWU7XG4gICAgICAgIHRoaXMucHJpbnRTZXJ2aWNlLnByZXBhcmVGb3JQcmludCh0aGlzLmVsUmVmKTtcbiAgICAgICAgdGhpcy5kZXRhaWxzQ29tcG9uZW50Py5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGlmICh0aGlzLmRldGFpbHNDb21wb25lbnQpIHsgdGhpcy5kZXRhaWxzQ29tcG9uZW50LnNob3dEZXRhaWwgPSB0cnVlOyB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLl9iYXNrZXQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zaG93KSB7XG4gICAgICAgIHRoaXMuYmFza2V0Q2hhbmdlZFNpbmNlT3BlbmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VNb2RhbCkge1xuICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICB0aGlzLnByZXZpZXdNb2RlID0gZmFsc2U7XG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGUoKTtcbiAgICAgIHRoaXMucHJpbnRTZXJ2aWNlLmRpc3NtaXNzUHJpbnRpbmcoKTtcbiAgICAgIHRoaXMuaGFzQ2hhbmdlc09uQ2xvc2UuZW1pdCh0aGlzLmJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCk7XG4gICAgICB0aGlzLmJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVByZXZpZXdNb2RlKCkge1xuICAgIHRoaXMucHJldmlld01vZGUgPSAhdGhpcy5wcmV2aWV3TW9kZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICByZW1vdmVSZWNpcGUoKSB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VNb2RhbCkge1xuICAgICAgdGhpcy5yZW1vdmVJc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVtb3ZlUmVjaXBlRnJvbUxpc3QodGhpcy5yZWNpcGUuaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIGlmIHJlbW92ZSBhbmQgcmVjaXBlIHdhcyBhZGRlZCwgdGhlbiBubyBjaGFuZ2Ugd2FzIG1hZGUgdG8gYmFza2V0LCBhbmQgaWYgcmVtb3ZlZCBhbmQgbm90IGFkZGVkIGl0J3MgYSBjaGFuZ2UgdG8gdGhlIGJhc2tldFxuICAgICAgICB0aGlzLmJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9ICF0aGlzLnJlY2lwZVdhc0FkZGVkO1xuICAgICAgICB0aGlzLnJlbW92ZUlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlY2lwZUd1ZXN0cyhndWVzdHM6IG51bWJlcikge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzO1xuICB9XG5cbiAgLy8gSWYgdGhlIHJlY2lwZSBpcyBhbHJlYWR5IGluIGJhc2tldCwgdXBkYXRlIHRoZSBudW1iZXIgb2YgZ3Vlc3RzICg9IGFwcGVuZCByZWNpcGUgdG8gbGlzdCBhZ2FpbilcbiAgcmVjaXBlQ2hhbmdlZCgpIHtcbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdCh0aGlzLnJlY2lwZS5pZCkuc3Vic2NyaWJlKHJlY2lwZUlzSW5MaXN0ID0+IHtcbiAgICAgIGlmIChyZWNpcGVJc0luTGlzdCkge1xuICAgICAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLCAncmVjaXBlLW1vZGFsJykuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgcHJldmlldyBpcyBvcGVuZWQgYW5kIGxvYWRpbmcsIGJsb2NrIHRoZSB1c2VyIGZyb20gY2xvc2luZyB0aGUgbW9kYWxcbiAgICovXG4gIHNldE1vZGFsQ2xvc2FibGUocHJldmlld0xvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNhbkNsb3NlTW9kYWwgPSAhKHByZXZpZXdMb2FkaW5nICYmIHRoaXMucHJldmlld01vZGUpO1xuICB9XG59XG4iLCI8bmctbWlhbS1tb2RhbCBcbiAgW2lzQW5ndWxhckNvbXBvbmVudF09XCJ0cnVlXCIgXG4gIFtub0hlYWRlck1vZGVdPVwidHJ1ZVwiXG4gIFsoZXhwYW5kZWQpXT1cInNob3dcIlxuICBbbm9IZWFkZXJNb2RlXT0nIXByZXZpZXdNb2RlJyBcbiAgW3RpdGxlXT1cInByZXZpZXdNb2RlID8gJzEgcmVwYXMgYWpvdXTDqSDDoCB2b3RyZSBwYW5pZXIgOicgOiAnJ1wiXG4gIFtjYW5jZWxCdXR0b25UZXh0XT1cInByZXZpZXdNb2RlID8gJ1JldGlyZXIgbGUgcmVwYXMnIDogJydcIlxuICBbY29uZmlybUJ1dHRvblRleHRdPVwicHJldmlld01vZGUgPyAnT2ssIGNvbnRpbnVlciBtZXMgY291cnNlcycgOiAnJ1wiXG4gIFtjYW5jZWxCdXR0b25EaXNhYmxlZF09XCIhY2FuQ2xvc2VNb2RhbFwiXG4gIFtjb25maXJtQnV0dG9uRGlzYWJsZWRdPVwiIWNhbkNsb3NlTW9kYWxcIlxuICBbY2FuY2VsQnV0dG9uSXNMb2FkaW5nXT1cInJlbW92ZUlzTG9hZGluZ1wiXG4gIChjbG9zZSk9XCJoaWRlKClcIlxuICAoY2FuY2VsKT1cInJlbW92ZVJlY2lwZSgpXCJcbiAgKGNvbmZpcm0pPVwiaGlkZSgpXCJcbj5cbiAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHNcbiAgICAjZGV0YWlsc1xuICAgICpuZ0lmPVwicmVjaXBlICYmICFwcmV2aWV3TW9kZVwiXG4gICAgW3JlY2lwZV09XCJyZWNpcGVcIlxuICAgIFtwcmV2aWV3QWxsb3dlZF09XCJwcmV2aWV3QWxsb3dlZFwiXG4gICAgKHJlY2lwZUFkZGVkKT1cInRvZ2dsZVByZXZpZXdNb2RlKClcIlxuICAgIChyZWNpcGVDaGFuZ2VkKT1cInJlY2lwZUNoYW5nZWQoKVwiXG4gICAgKHJlY2lwZUVycm9yKT1cImhpZGUoKVwiXG4gID48L25nLW1pYW0tcmVjaXBlLWRldGFpbHM+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0td3JhcHBlci1wcmV2aWV3XCIgKm5nSWY9XCJwcmV2aWV3TW9kZVwiPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrXG4gICAgICBbcmVjaXBlSWRdPVwicmVjaXBlICYmIHJlY2lwZS5pZFwiXG4gICAgICAoZ3Vlc3RDb3VudENoYW5nZWQpPVwidXBkYXRlUmVjaXBlR3Vlc3RzKCRldmVudClcIlxuICAgICAgKGxvYWRpbmcpPVwic2V0TW9kYWxDbG9zYWJsZSgkZXZlbnQpXCJcbiAgICA+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrPlxuICA8L2Rpdj5cbjwvbmctbWlhbS1tb2RhbD4iXX0=
@@ -8,62 +8,121 @@ import * as i1 from "../../_services/baskets.service";
8
8
  import * as i2 from "../../_services";
9
9
  import * as i3 from "@angular/common";
10
10
  import * as i4 from "../../_components/icon/icon.component";
11
- import * as i5 from "../../_utils/pipes/ellipsis/ellipsis.pipe";
11
+ import * as i5 from "../modal/modal.component";
12
+ import * as i6 from "../../_utils/pipes/ellipsis/ellipsis.pipe";
12
13
  const _c0 = ["tag"];
13
- function RecipeTagsComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
14
- const _r6 = i0.ɵɵgetCurrentView();
15
- i0.ɵɵelementStart(0, "div", 9, 10);
16
- i0.ɵɵelementStart(2, "ng-miam-icon", 11);
17
- i0.ɵɵlistener("click", function RecipeTagsComponent_div_0_div_2_Template_ng_miam_icon_click_2_listener() { i0.ɵɵrestoreView(_r6); const recipeLine_r2 = ctx.$implicit; const ctx_r5 = i0.ɵɵnextContext(2); return ctx_r5.toggleRecipe(recipeLine_r2.id); });
14
+ function RecipeTagsComponent_ng_container_0_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
15
+ const _r9 = i0.ɵɵgetCurrentView();
16
+ i0.ɵɵelementStart(0, "div", 11, 12);
17
+ i0.ɵɵelementStart(2, "ng-miam-icon", 13);
18
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_container_0_div_1_div_2_Template_ng_miam_icon_click_2_listener() { i0.ɵɵrestoreView(_r9); const recipeLine_r5 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(3); return ctx_r8.toggleRecipe(recipeLine_r5.id); });
18
19
  i0.ɵɵelementEnd();
19
- i0.ɵɵelementStart(3, "span", 12);
20
- i0.ɵɵlistener("click", function RecipeTagsComponent_div_0_div_2_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r6); const recipeLine_r2 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.toggleRecipe(recipeLine_r2.id); });
20
+ i0.ɵɵelementStart(3, "span", 14);
21
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_container_0_div_1_div_2_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r9); const recipeLine_r5 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(3); return ctx_r10.toggleRecipe(recipeLine_r5.id); });
21
22
  i0.ɵɵtext(4);
22
23
  i0.ɵɵpipe(5, "ellipsis");
23
24
  i0.ɵɵelementEnd();
24
25
  i0.ɵɵelementEnd();
25
26
  } if (rf & 2) {
26
- const recipeLine_r2 = ctx.$implicit;
27
- const ctx_r1 = i0.ɵɵnextContext(2);
27
+ const recipeLine_r5 = ctx.$implicit;
28
+ const ctx_r4 = i0.ɵɵnextContext(3);
28
29
  i0.ɵɵadvance(2);
29
- i0.ɵɵproperty("iconName", ctx_r1.icon.Meal);
30
+ i0.ɵɵproperty("iconName", ctx_r4.icon.Meal);
30
31
  i0.ɵɵadvance(2);
31
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(5, 2, recipeLine_r2.title, 6));
32
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(5, 2, recipeLine_r5.title, 6));
32
33
  } }
33
34
  const _c1 = function (a0) { return { "height.px": a0 }; };
34
35
  const _c2 = function (a0) { return { "miam-recipe-tags__container__toggle__hidden": a0 }; };
35
36
  const _c3 = function (a0) { return { "opacity": a0 }; };
36
- function RecipeTagsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
37
- const _r9 = i0.ɵɵgetCurrentView();
38
- i0.ɵɵelementStart(0, "div", 1);
39
- i0.ɵɵelementStart(1, "div", 2);
40
- i0.ɵɵtemplate(2, RecipeTagsComponent_div_0_div_2_Template, 6, 5, "div", 3);
37
+ function RecipeTagsComponent_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
38
+ const _r12 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "div", 3);
40
+ i0.ɵɵelementStart(1, "div", 4);
41
+ i0.ɵɵtemplate(2, RecipeTagsComponent_ng_container_0_div_1_div_2_Template, 6, 5, "div", 5);
41
42
  i0.ɵɵelementEnd();
42
- i0.ɵɵelementStart(3, "div", 4);
43
- i0.ɵɵelementStart(4, "span", 5);
44
- i0.ɵɵlistener("click", function RecipeTagsComponent_div_0_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.toggleList(); });
43
+ i0.ɵɵelementStart(3, "div", 6);
44
+ i0.ɵɵelementStart(4, "span", 7);
45
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_container_0_div_1_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.toggleList(); });
45
46
  i0.ɵɵtext(5);
46
47
  i0.ɵɵelementEnd();
47
- i0.ɵɵelement(6, "div", 6);
48
- i0.ɵɵelementStart(7, "span", 7);
49
- i0.ɵɵlistener("click", function RecipeTagsComponent_div_0_Template_span_click_7_listener() { i0.ɵɵrestoreView(_r9); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.toggleList(); });
50
- i0.ɵɵelement(8, "ng-miam-icon", 8);
48
+ i0.ɵɵelement(6, "div", 8);
49
+ i0.ɵɵelementStart(7, "span", 9);
50
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_container_0_div_1_Template_span_click_7_listener() { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return ctx_r13.toggleList(); });
51
+ i0.ɵɵelement(8, "ng-miam-icon", 10);
51
52
  i0.ɵɵelementEnd();
52
53
  i0.ɵɵelementEnd();
53
54
  i0.ɵɵelementEnd();
54
55
  } if (rf & 2) {
55
- const ctx_r0 = i0.ɵɵnextContext();
56
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(6, _c1, ctx_r0.isListOpen ? 32 * ctx_r0.rowCount : 24));
56
+ const ctx_r3 = i0.ɵɵnextContext(2);
57
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(6, _c1, ctx_r3.isListOpen ? 32 * ctx_r3.rowCount : 24));
58
+ i0.ɵɵadvance(2);
59
+ i0.ɵɵproperty("ngForOf", ctx_r3.recipePreviewLines);
60
+ i0.ɵɵadvance(1);
61
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, !ctx_r3.rowCount || ctx_r3.wrappedItemsCount === 0));
62
+ i0.ɵɵadvance(2);
63
+ i0.ɵɵtextInterpolate1(" ", ctx_r3.isListOpen ? " " : "+" + ctx_r3.wrappedItemsCount, "");
57
64
  i0.ɵɵadvance(2);
58
- i0.ɵɵproperty("ngForOf", ctx_r0.recipePreviewLines);
65
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(10, _c3, ctx_r3.isListOpen ? 1 : 0));
59
66
  i0.ɵɵadvance(1);
60
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, !ctx_r0.rowCount || ctx_r0.wrappedItemsCount === 0));
67
+ i0.ɵɵproperty("iconName", ctx_r3.icon.ChevronDown);
68
+ } }
69
+ function RecipeTagsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementContainerStart(0);
71
+ i0.ɵɵtemplate(1, RecipeTagsComponent_ng_container_0_div_1_Template, 9, 12, "div", 2);
72
+ i0.ɵɵelementContainerEnd();
73
+ } if (rf & 2) {
74
+ const ctx_r0 = i0.ɵɵnextContext();
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵproperty("ngIf", (ctx_r0.recipePreviewLines == null ? null : ctx_r0.recipePreviewLines.length) > 0);
77
+ } }
78
+ function RecipeTagsComponent_ng_template_1_div_0_Template(rf, ctx) { if (rf & 1) {
79
+ const _r17 = i0.ɵɵgetCurrentView();
80
+ i0.ɵɵelementStart(0, "div", 17);
81
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_template_1_div_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); return ctx_r16.toggleModal(); });
82
+ i0.ɵɵelementStart(1, "span");
83
+ i0.ɵɵtext(2);
84
+ i0.ɵɵelementEnd();
85
+ i0.ɵɵelementEnd();
86
+ } if (rf & 2) {
87
+ const ctx_r14 = i0.ɵɵnextContext(2);
88
+ i0.ɵɵadvance(2);
89
+ i0.ɵɵtextInterpolate1("", ctx_r14.recipePreviewLines.length, " recettes");
90
+ } }
91
+ function RecipeTagsComponent_ng_template_1_div_3_Template(rf, ctx) { if (rf & 1) {
92
+ const _r22 = i0.ɵɵgetCurrentView();
93
+ i0.ɵɵelementStart(0, "div", 11, 12);
94
+ i0.ɵɵelementStart(2, "ng-miam-icon", 13);
95
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_template_1_div_3_Template_ng_miam_icon_click_2_listener() { i0.ɵɵrestoreView(_r22); const recipeLine_r18 = ctx.$implicit; const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.toggleRecipe(recipeLine_r18.id); });
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelementStart(3, "span", 14);
98
+ i0.ɵɵlistener("click", function RecipeTagsComponent_ng_template_1_div_3_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r22); const recipeLine_r18 = ctx.$implicit; const ctx_r23 = i0.ɵɵnextContext(2); return ctx_r23.toggleRecipe(recipeLine_r18.id); });
99
+ i0.ɵɵtext(4);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementEnd();
102
+ } if (rf & 2) {
103
+ const recipeLine_r18 = ctx.$implicit;
104
+ const ctx_r15 = i0.ɵɵnextContext(2);
61
105
  i0.ɵɵadvance(2);
62
- i0.ɵɵtextInterpolate1(" ", ctx_r0.isListOpen ? " " : "+" + ctx_r0.wrappedItemsCount, "");
106
+ i0.ɵɵproperty("iconName", ctx_r15.icon.Meal);
63
107
  i0.ɵɵadvance(2);
64
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(10, _c3, ctx_r0.isListOpen ? 1 : 0));
108
+ i0.ɵɵtextInterpolate(recipeLine_r18.title);
109
+ } }
110
+ function RecipeTagsComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
111
+ const _r25 = i0.ɵɵgetCurrentView();
112
+ i0.ɵɵtemplate(0, RecipeTagsComponent_ng_template_1_div_0_Template, 3, 1, "div", 15);
113
+ i0.ɵɵelementStart(1, "ng-miam-modal", 16);
114
+ i0.ɵɵlistener("close", function RecipeTagsComponent_ng_template_1_Template_ng_miam_modal_close_1_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(); return ctx_r24.toggleModal(); });
115
+ i0.ɵɵelementStart(2, "div", 4);
116
+ i0.ɵɵtemplate(3, RecipeTagsComponent_ng_template_1_div_3_Template, 5, 2, "div", 5);
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementEnd();
119
+ } if (rf & 2) {
120
+ const ctx_r2 = i0.ɵɵnextContext();
121
+ i0.ɵɵproperty("ngIf", (ctx_r2.recipePreviewLines == null ? null : ctx_r2.recipePreviewLines.length) > 0);
65
122
  i0.ɵɵadvance(1);
66
- i0.ɵɵproperty("iconName", ctx_r0.icon.ChevronDown);
123
+ i0.ɵɵproperty("isAngularComponent", true)("expanded", ctx_r2.modalIsOpened)("noHeaderMode", false)("title", ctx_r2.modalTitle);
124
+ i0.ɵɵadvance(2);
125
+ i0.ɵɵproperty("ngForOf", ctx_r2.recipePreviewLines);
67
126
  } }
68
127
  export class RecipeTagsComponent {
69
128
  constructor(cdr, basketService, contexteservice) {
@@ -71,7 +130,9 @@ export class RecipeTagsComponent {
71
130
  this.basketService = basketService;
72
131
  this.contexteservice = contexteservice;
73
132
  this.recipeDetailPreviewAllowed = true;
133
+ this.reduce = false;
74
134
  this.icon = Icon;
135
+ this.modalIsOpened = false;
75
136
  this.subscriptions = [];
76
137
  }
77
138
  ngOnChanges(simpleChanges) {
@@ -126,6 +187,13 @@ export class RecipeTagsComponent {
126
187
  this.isListOpen = !this.isListOpen;
127
188
  this.cdr.detectChanges();
128
189
  }
190
+ toggleModal() {
191
+ if (!this.modalIsOpened) {
192
+ this.modalTitle = 'Utilisé dans ' + this.recipePreviewLines.length + ' recettes';
193
+ }
194
+ this.modalIsOpened = !this.modalIsOpened;
195
+ this.cdr.detectChanges();
196
+ }
129
197
  }
130
198
  RecipeTagsComponent.ɵfac = function RecipeTagsComponent_Factory(t) { return new (t || RecipeTagsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.BasketsService), i0.ɵɵdirectiveInject(i2.ContextService)); };
131
199
  RecipeTagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTagsComponent, selectors: [["ng-miam-recipe-tags"]], viewQuery: function RecipeTagsComponent_Query(rf, ctx) { if (rf & 1) {
@@ -133,11 +201,13 @@ RecipeTagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTagsComponent,
133
201
  } if (rf & 2) {
134
202
  var _t;
135
203
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tags = _t);
136
- } }, inputs: { extId: "extId", recipeDetailPreviewAllowed: "recipeDetailPreviewAllowed" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "miam-recipe-tags__container", 3, "ngStyle", 4, "ngIf"], [1, "miam-recipe-tags__container", 3, "ngStyle"], [1, "miam-recipe-tags__container__list"], ["class", "miam-recipe-tags__list__badge", 4, "ngFor", "ngForOf"], [1, "miam-recipe-tags__container__toggle", 3, "ngClass"], [1, "miam-recipe-tags__toggle__open", 3, "click"], [1, "miam-recipe-tags__toggle__ligne"], [1, "miam-recipe-tags__toggle__close", 3, "ngStyle", "click"], ["width", "24", "height", "24", "primaryColor", "var(--m-color-white)", 3, "iconName"], [1, "miam-recipe-tags__list__badge"], ["tag", ""], ["primaryColor", "var(--m-color-white)", 1, "miam-recipe-tags__badge__icon", 3, "iconName", "click"], [1, "miam-recipe-tag__badge__text", 3, "click"]], template: function RecipeTagsComponent_Template(rf, ctx) { if (rf & 1) {
137
- i0.ɵɵtemplate(0, RecipeTagsComponent_div_0_Template, 9, 12, "div", 0);
204
+ } }, inputs: { extId: "extId", recipeDetailPreviewAllowed: "recipeDetailPreviewAllowed", reduce: "reduce" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["reduced", ""], ["class", "miam-recipe-tags__container", 3, "ngStyle", 4, "ngIf"], [1, "miam-recipe-tags__container", 3, "ngStyle"], [1, "miam-recipe-tags__container__list"], ["class", "miam-recipe-tags__list__badge", 4, "ngFor", "ngForOf"], [1, "miam-recipe-tags__container__toggle", 3, "ngClass"], [1, "miam-recipe-tags__toggle__open", 3, "click"], [1, "miam-recipe-tags__toggle__ligne"], [1, "miam-recipe-tags__toggle__close", 3, "ngStyle", "click"], ["width", "24", "height", "24", "primaryColor", "var(--m-color-white)", 3, "iconName"], [1, "miam-recipe-tags__list__badge"], ["tag", ""], ["primaryColor", "var(--m-color-white)", 1, "miam-recipe-tags__badge__icon", 3, "iconName", "click"], [1, "miam-recipe-tag__badge__text", 3, "click"], ["class", "miam-recipe-tags__recipes", 3, "click", 4, "ngIf"], [1, "miam-recipe-tags__modal", 3, "isAngularComponent", "expanded", "noHeaderMode", "title", "close"], [1, "miam-recipe-tags__recipes", 3, "click"]], template: function RecipeTagsComponent_Template(rf, ctx) { if (rf & 1) {
205
+ i0.ɵɵtemplate(0, RecipeTagsComponent_ng_container_0_Template, 2, 1, "ng-container", 0);
206
+ i0.ɵɵtemplate(1, RecipeTagsComponent_ng_template_1_Template, 4, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
138
207
  } if (rf & 2) {
139
- i0.ɵɵproperty("ngIf", (ctx.recipePreviewLines == null ? null : ctx.recipePreviewLines.length) > 0);
140
- } }, directives: [i3.NgIf, i3.NgStyle, i3.NgForOf, i3.NgClass, i4.IconComponent], pipes: [i5.EllipsisPipe], styles: [".miam-recipe-tags__container{display:flex;margin-top:16px;overflow:hidden;padding:0 8px;transition:height .25s cubic-bezier(0,0,.2,1)}.miam-recipe-tags__container .miam-recipe-tags__container__list{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.miam-recipe-tags__container .miam-recipe-tags__container__list .miam-recipe-tags__list__badge{align-items:center;border:1px solid #e9e9e9;border-radius:100px;box-sizing:border-box;cursor:pointer;display:flex;height:24px;max-width:50vw;padding:0 8px 0 0;position:relative}.miam-recipe-tags__container .miam-recipe-tags__container__list .miam-recipe-tags__list__badge .miam-recipe-tags__badge__icon{background:var(--m-color-primary);border-radius:100px 0 0 100px;flex:none;flex-grow:0;order:0;padding:4px 8px}.miam-recipe-tags__container .miam-recipe-tags__container__list .miam-recipe-tags__list__badge .miam-recipe-tag__badge__text{color:#676767;flex:1;font-size:12px;line-height:16px;margin:0 8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miam-recipe-tags__container .miam-recipe-tags__container__toggle{align-items:center;display:flex;flex-direction:column;visibility:visible;width:80px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle.miam-recipe-tags__container__toggle__hidden{visibility:hidden}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__open{background:#f6f6f6;border-radius:100px;cursor:pointer;display:flex;height:24px;justify-content:center;min-width:40px;padding:4px 8px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__ligne{background-color:var(--m-color-grey);flex:1;transform:height 1s linear;width:2px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__close{background:var(--m-color-primary);border-radius:100px;cursor:pointer;min-width:40px;transition:opacity .2s linear}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__close ng-miam-icon .icon-container{transform:rotate(180deg)}"], encapsulation: 2, changeDetection: 0 });
208
+ const _r1 = i0.ɵɵreference(2);
209
+ i0.ɵɵproperty("ngIf", !ctx.reduce)("ngIfElse", _r1);
210
+ } }, directives: [i3.NgIf, i3.NgStyle, i3.NgForOf, i3.NgClass, i4.IconComponent, i5.ModalComponent], pipes: [i6.EllipsisPipe], styles: [".miam-recipe-tags__container__list{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.miam-recipe-tags__container__list .miam-recipe-tags__list__badge{align-items:center;border:1px solid #e9e9e9;border-radius:100px;box-sizing:border-box;cursor:pointer;display:flex;height:24px;max-width:50vw;padding:0 8px 0 0;position:relative}.miam-recipe-tags__container__list .miam-recipe-tags__list__badge .miam-recipe-tags__badge__icon{background:var(--m-color-primary);border-radius:100px 0 0 100px;flex:none;flex-grow:0;order:0;padding:4px 8px}.miam-recipe-tags__container__list .miam-recipe-tags__list__badge .miam-recipe-tag__badge__text{color:#676767;flex:1;font-size:12px;line-height:16px;margin:0 8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miam-recipe-tags__container{display:flex;margin-top:16px;overflow:hidden;padding:0 8px;transition:height .25s cubic-bezier(0,0,.2,1)}.miam-recipe-tags__container .miam-recipe-tags__container__toggle{align-items:center;display:flex;flex-direction:column;visibility:visible;width:80px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle.miam-recipe-tags__container__toggle__hidden{visibility:hidden}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__open{background:#f6f6f6;border-radius:100px;cursor:pointer;display:flex;height:24px;justify-content:center;min-width:40px;padding:4px 8px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__ligne{background-color:var(--m-color-grey);flex:1;transform:height 1s linear;width:2px}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__close{background:var(--m-color-primary);border-radius:100px;cursor:pointer;min-width:40px;transition:opacity .2s linear}.miam-recipe-tags__container .miam-recipe-tags__container__toggle .miam-recipe-tags__toggle__close ng-miam-icon .icon-container{transform:rotate(180deg)}.miam-recipe-tags__recipes{align-items:center;border:1px solid #e9e9e9;border-radius:100px;box-sizing:border-box;cursor:pointer;display:flex;height:24px;max-width:50vw;padding:0 8px 0 0;position:relative}.miam-recipe-tags__modal .miam-modal{-webkit-animation-name:none;animation-name:none;height:auto;right:50%;top:50%;transform:translate3d(50%,-50%,0)}.miam-recipe-tags__modal .miam-modal .miam-modal__container .miam-recipe-tags__container__list{display:flex;flex-flow:row wrap;max-width:480px;padding:24px}@media (max-width:1023px){.miam-recipe-tags__modal .miam-modal .miam-modal__container .miam-recipe-tags__container__list{flex-flow:column}}"], encapsulation: 2, changeDetection: 0 });
141
211
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeTagsComponent, [{
142
212
  type: Component,
143
213
  args: [{
@@ -151,8 +221,10 @@ RecipeTagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTagsComponent,
151
221
  type: Input
152
222
  }], recipeDetailPreviewAllowed: [{
153
223
  type: Input
224
+ }], reduce: [{
225
+ type: Input
154
226
  }], tags: [{
155
227
  type: ViewChildren,
156
228
  args: ['tag']
157
229
  }] }); })();
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLXRhZ3MvcmVjaXBlLXRhZ3MuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtdGFncy9yZWNpcGUtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUM3RCxLQUFLLEVBQUUsWUFBWSxFQUFjLFNBQVMsRUFDdEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7SUNQcEMsa0NBQ0U7SUFBQSx3Q0FDcUQ7SUFEc0IsMlBBQXFDO0lBQzFFLGlCQUFlO0lBQ3JELGdDQUFpRjtJQUF0QyxtUEFBcUM7SUFBQyxZQUFtQzs7SUFBQSxpQkFBTztJQUM3SCxpQkFBTTs7OztJQUhnRCxlQUFzQjtJQUF0QiwyQ0FBc0I7SUFFTyxlQUFtQztJQUFuQyxrRUFBbUM7Ozs7Ozs7SUFMMUgsOEJBQ0U7SUFBQSw4QkFDRTtJQUFBLDBFQUNFO0lBSUosaUJBQU07SUFDTiw4QkFDRTtJQUFBLCtCQUNFO0lBRDRDLHFMQUFzQjtJQUNsRSxZQUErQztJQUFBLGlCQUFPO0lBQ3RELHlCQUFtRDtJQUNuRCwrQkFDRTtJQUR3Rix1TEFBc0I7SUFDOUcsa0NBQXVIO0lBQ3pILGlCQUFPO0lBQ1gsaUJBQU07SUFDUixpQkFBTTs7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QUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3NGQXJGVSxtQkFBbUI7d0RBQW5CLG1CQUFtQjs7Ozs7O1FDbkJoQyxxRUFDRTs7UUFEdUMsa0dBQXNDOztrRERtQmxFLG1CQUFtQjtjQVAvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs4SEFHVSxLQUFLO2tCQUFiLEtBQUs7WUFDRywwQkFBMEI7a0JBQWxDLEtBQUs7WUFDZSxJQUFJO2tCQUF4QixZQUFZO21CQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uRGVzdHJveSwgSW5wdXQsIFZpZXdDaGlsZHJlbiwgRWxlbWVudFJlZiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9iYXNrZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBCYXNrZXRQcmV2aWV3TGluZSB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IGdyb3VwQnkgZnJvbSAnbG9kYXNoLWVzL2dyb3VwQnknO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLXRhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtdGFncy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGV4dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlY2lwZURldGFpbFByZXZpZXdBbGxvd2VkID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZHJlbigndGFnJykgdGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIGljb24gPSBJY29uO1xuICByZWNpcGVQcmV2aWV3TGluZXM6IEJhc2tldFByZXZpZXdMaW5lW107XG4gIHdyYXBwZWRJdGVtc0NvdW50OiBudW1iZXI7XG4gIHJvd0NvdW50OiBudW1iZXI7XG4gIGxhc3RJdGVtSW5kZXhPZkZpcnN0Um93OiBudW1iZXI7XG4gIGlzTGlzdE9wZW46IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dGVzZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHNpbXBsZUNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2V4dElkJykgJiYgc2ltcGxlQ2hhbmdlcy5leHRJZC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5iYXNrZXRTZXJ2aWNlLmJhc2tldFByZXZpZXckLnN1YnNjcmliZShiYXNrZXRQcmV2aWV3TGluZXMgPT4ge1xuICAgICAgICBpZiAoYmFza2V0UHJldmlld0xpbmVzKSB7XG4gICAgICAgICAgLy8gd2UgZ2V0IHRoZSBsaXN0IG9mIGJhc2tldFByZXZpZXdMaW5lcyAoYXQgcmVjaXBlIGxldmVsKSB3aXRjaCBoYXZlIGl0ZW1zIGxpbmsgd2l0aCBnaXZlbiBleHRJZFxuICAgICAgICAgIHRoaXMucmVjaXBlUHJldmlld0xpbmVzID0gYmFza2V0UHJldmlld0xpbmVzLmZpbHRlcihicGwgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJwbC5lbnRyaWVzLmZvdW5kLmZpbmQoZW50cnkgPT4gZW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXNbJ2V4dC1pZCddID09PSB0aGlzLmV4dElkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gQ2FsbCBlYWNoIHRpbWUgbGlzdCBvZiByZWNpcGUtdGFncyBjaGFuZ2VcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRhZ3MuY2hhbmdlcy5zdWJzY3JpYmUocXVlcnlMaXN0ID0+IHRoaXMuZGV0ZWN0V3JhcHBlZFRhZ3MocXVlcnlMaXN0KSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVjdCBhbmQgY291bnQgd3JhcHBlZCBpdGVtIGJlbG93IHRoZSBmaXN0IHJvd1xuICAgKiBpdGVtcyBhbmQgY29udGFpbmVyIGNhbiBoYXZlIHZhcmlvdXMgd2lkdGggc28gcm93IG51bWJlciBjYW4gZGlmZmVyXG4gICAqIGJhc2Ugb24gYWJzb2x1dGUgcG9zaXRpb24gaW4gd2luZG93IHdlIGFyZSBhYmxlIHRvIGZpbmQgZWxlbWVudCB3aXRjaCBiZWxvbmdzXG4gICAqIHRvIHRoZSBmaXJzdCByb3cgYW5kIG90aGVyIGFuZCB0aGVuIGNvdW50IGhpZGRlbiBlbGVtZW50cyBhbmQgbnVtYmVyIG9mIHJvd3NcbiAgICogQHBhcmFtIHRhZ3MgIFF1ZXJ5TGlzdDxFbGVtZW50UmVmPlxuICAgKi9cbiAgZGV0ZWN0V3JhcHBlZFRhZ3ModGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSB7XG5cbiAgICBpZiAodGFncy5sZW5ndGggPT09IDApeyByZXR1cm47IH1cblxuICAgIC8vIGdldCBmb3IgZWFjaCBlbGVtZW50IGhpcyBhYnNvbHV0ZSBwb3NpdGlvbiBmcm9tIHRvcCBvZiB3aW5kb3dcbiAgICBjb25zdCB0YWdzUG9zaXRpb24gPSB0YWdzLm1hcCh0YWcgPT4gdGFnLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgLy8gZ3JvdXAgYnkgdG9wICwgZWxlbWVudCB0aGF0IHNoYXJlIHRoZSBzYW1lIHRvcCBwb3NpdGlvbiBhcmUgaW4gdGhlIHNhbWUgbGluZVxuICAgIGNvbnN0IHRhZ3NHcm91cEJ5Um93ID0gZ3JvdXBCeSh0YWdzUG9zaXRpb24sICd0b3AnKTtcblxuICAgIC8vIGdldCBsaXN0IG9mIGRpc3RpbmN0IGhpZ2h0XG4gICAgY29uc3QgdGFnc0Rpc3RpbmN0SGlnaHQgPSBPYmplY3Qua2V5cyh0YWdzR3JvdXBCeVJvdyk7XG5cbiAgICB0aGlzLnJvd0NvdW50ID0gdGFnc0Rpc3RpbmN0SGlnaHQubGVuZ3RoO1xuXG4gICAgLy8gZ2V0IHNpemUgb2YgZmlyc3Qgcm93ICdsbCBoZWxwIHVzIHRvIGdldCBsYXN0IGl0ZW0gb2YgdGhpcyByb3dcbiAgICB0aGlzLmxhc3RJdGVtSW5kZXhPZkZpcnN0Um93ID0gdGFnc0dyb3VwQnlSb3dbdGFnc0Rpc3RpbmN0SGlnaHRbMF1dLmxlbmd0aCAtIDE7XG5cbiAgICAvLyB3cmFwcGVkIGl0ZW1zIGNvdW50IGlzIGxlbmd0aCAtIHRhZ3MgY291bnQgaW4gZmlyc3Qgcm93XG4gICAgdGhpcy53cmFwcGVkSXRlbXNDb3VudCA9IHRhZ3MudG9BcnJheSgpLmxlbmd0aCAtICh0aGlzLmxhc3RJdGVtSW5kZXhPZkZpcnN0Um93ICsgMSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlUmVjaXBlKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRleHRlc2VydmljZS5taWFtLnJlY2lwZXMuZGlzcGxheShpZCwgdGhpcy5yZWNpcGVEZXRhaWxQcmV2aWV3QWxsb3dlZCApO1xuICB9XG5cbiAgdG9nZ2xlTGlzdCgpIHtcbiAgICB0aGlzLmlzTGlzdE9wZW4gPSAhdGhpcy5pc0xpc3RPcGVuO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX2NvbnRhaW5lclwiICpuZ0lmPVwicmVjaXBlUHJldmlld0xpbmVzPy5sZW5ndGggPiAwXCIgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBpc0xpc3RPcGVuID8gMzIgKiByb3dDb3VudCA6IDI0ICB9XCI+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19jb250YWluZXJfX2xpc3RcIiA+XG4gICAgPGRpdiAjdGFnIGNsYXNzPVwibWlhbS1yZWNpcGUtdGFnc19fbGlzdF9fYmFkZ2VcIiAqbmdGb3I9XCJsZXQgcmVjaXBlTGluZSBvZiByZWNpcGVQcmV2aWV3TGluZXMsIGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19iYWRnZV9faWNvblwiIFtpY29uTmFtZV09J2ljb24uTWVhbCcgKGNsaWNrKT0ndG9nZ2xlUmVjaXBlKHJlY2lwZUxpbmUuaWQpJ1xuICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itd2hpdGUpJz48L25nLW1pYW0taWNvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtdGFnX19iYWRnZV9fdGV4dFwiIChjbGljayk9J3RvZ2dsZVJlY2lwZShyZWNpcGVMaW5lLmlkKSc+e3tyZWNpcGVMaW5lLnRpdGxlIHwgZWxsaXBzaXMgOiA2fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnbWlhbS1yZWNpcGUtdGFnc19fY29udGFpbmVyX190b2dnbGVfX2hpZGRlbic6ICFyb3dDb3VudCB8fCB3cmFwcGVkSXRlbXNDb3VudCA9PT0gMCB9XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19jb250YWluZXJfX3RvZ2dsZVwiID5cbiAgICA8c3BhbiAgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX190b2dnbGVfX29wZW5cIiAoY2xpY2spPSd0b2dnbGVMaXN0KCknPlxuICAgICAge3sgaXNMaXN0T3BlbiA/ICcgICcgOiAnKycgK3dyYXBwZWRJdGVtc0NvdW50fX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtdGFnc19fdG9nZ2xlX19saWduZVwiPjwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX190b2dnbGVfX2Nsb3NlXCIgW25nU3R5bGVdPVwieydvcGFjaXR5JzogaXNMaXN0T3BlbiA/IDEgOiAwfVwiIChjbGljayk9J3RvZ2dsZUxpc3QoKSc+IFxuICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09J2ljb24uQ2hldnJvbkRvd24nIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci13aGl0ZSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLXRhZ3MvcmVjaXBlLXRhZ3MuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtdGFncy9yZWNpcGUtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUM3RCxLQUFLLEVBQUUsWUFBWSxFQUFjLFNBQVMsRUFDdEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7O0lDTmxDLG1DQUNFO0lBQUEsd0NBQ3FEO0lBRHNCLDBRQUFxQztJQUMxRSxpQkFBZTtJQUNyRCxnQ0FBaUY7SUFBdEMsb1FBQXFDO0lBQUMsWUFBbUM7O0lBQUEsaUJBQU87SUFDN0gsaUJBQU07Ozs7SUFIZ0QsZUFBc0I7SUFBdEIsMkNBQXNCO0lBRU8sZUFBbUM7SUFBbkMsa0VBQW1DOzs7Ozs7O0lBTDFILDhCQUNFO0lBQUEsOEJBQ0U7SUFBQSx5RkFDRTtJQUlKLGlCQUFNO0lBQ04sOEJBQ0U7SUFBQSwrQkFDRTtJQUQ0Qyx3TUFBc0I7SUFDbEUsWUFBK0M7SUFBQSxpQkFBTztJQUN0RCx5QkFBbUQ7SUFDbkQsK0JBQ0U7SUFEd0Ysd01BQXNCO0lBQzlHLG1DQUF1SDtJQUN6SCxpQkFBTztJQUNYLGlCQUFNO0lBQ1IsaUJBQU07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RSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7U0FDbEY7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3NGQWhHVSxtQkFBbUI7d0RBQW5CLG1CQUFtQjs7Ozs7O1FDbkJoQyxzRkFDRTtRQWtCRixxSEFDRTs7O1FBcEJZLGtDQUE0QixpQkFBQTs7a0REbUI3QixtQkFBbUI7Y0FQL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSw4QkFBOEI7Z0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUMzQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OEhBR1UsS0FBSztrQkFBYixLQUFLO1lBQ0csMEJBQTBCO2tCQUFsQyxLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ2UsSUFBSTtrQkFBeEIsWUFBWTttQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFza2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvYmFza2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCBncm91cEJ5IGZyb20gJ2xvZGFzaC1lcy9ncm91cEJ5JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS10YWdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLXRhZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlVGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBleHRJZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWNpcGVEZXRhaWxQcmV2aWV3QWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHJlZHVjZSA9IGZhbHNlO1xuICBAVmlld0NoaWxkcmVuKCd0YWcnKSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgaWNvbiA9IEljb247XG4gIHJlY2lwZVByZXZpZXdMaW5lczogQmFza2V0UHJldmlld0xpbmVbXTtcbiAgd3JhcHBlZEl0ZW1zQ291bnQ6IG51bWJlcjtcbiAgcm93Q291bnQ6IG51bWJlcjtcbiAgbGFzdEl0ZW1JbmRleE9mRmlyc3RSb3c6IG51bWJlcjtcbiAgaXNMaXN0T3BlbjogYm9vbGVhbjtcbiAgbW9kYWxUaXRsZTogc3RyaW5nO1xuICBtb2RhbElzT3BlbmVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dGVzZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHNpbXBsZUNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2V4dElkJykgJiYgc2ltcGxlQ2hhbmdlcy5leHRJZC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5iYXNrZXRTZXJ2aWNlLmJhc2tldFByZXZpZXckLnN1YnNjcmliZShiYXNrZXRQcmV2aWV3TGluZXMgPT4ge1xuICAgICAgICBpZiAoYmFza2V0UHJldmlld0xpbmVzKSB7XG4gICAgICAgICAgLy8gd2UgZ2V0IHRoZSBsaXN0IG9mIGJhc2tldFByZXZpZXdMaW5lcyAoYXQgcmVjaXBlIGxldmVsKSB3aXRjaCBoYXZlIGl0ZW1zIGxpbmsgd2l0aCBnaXZlbiBleHRJZFxuICAgICAgICAgIHRoaXMucmVjaXBlUHJldmlld0xpbmVzID0gYmFza2V0UHJldmlld0xpbmVzLmZpbHRlcihicGwgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJwbC5lbnRyaWVzLmZvdW5kLmZpbmQoZW50cnkgPT4gZW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXNbJ2V4dC1pZCddID09PSB0aGlzLmV4dElkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gQ2FsbCBlYWNoIHRpbWUgbGlzdCBvZiByZWNpcGUtdGFncyBjaGFuZ2VcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRhZ3MuY2hhbmdlcy5zdWJzY3JpYmUocXVlcnlMaXN0ID0+IHRoaXMuZGV0ZWN0V3JhcHBlZFRhZ3MocXVlcnlMaXN0KSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVjdCBhbmQgY291bnQgd3JhcHBlZCBpdGVtIGJlbG93IHRoZSBmaXN0IHJvd1xuICAgKiBpdGVtcyBhbmQgY29udGFpbmVyIGNhbiBoYXZlIHZhcmlvdXMgd2lkdGggc28gcm93IG51bWJlciBjYW4gZGlmZmVyXG4gICAqIGJhc2Ugb24gYWJzb2x1dGUgcG9zaXRpb24gaW4gd2luZG93IHdlIGFyZSBhYmxlIHRvIGZpbmQgZWxlbWVudCB3aXRjaCBiZWxvbmdzXG4gICAqIHRvIHRoZSBmaXJzdCByb3cgYW5kIG90aGVyIGFuZCB0aGVuIGNvdW50IGhpZGRlbiBlbGVtZW50cyBhbmQgbnVtYmVyIG9mIHJvd3NcbiAgICogQHBhcmFtIHRhZ3MgIFF1ZXJ5TGlzdDxFbGVtZW50UmVmPlxuICAgKi9cbiAgZGV0ZWN0V3JhcHBlZFRhZ3ModGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSB7XG5cbiAgICBpZiAodGFncy5sZW5ndGggPT09IDApeyByZXR1cm47IH1cblxuICAgIC8vIGdldCBmb3IgZWFjaCBlbGVtZW50IGhpcyBhYnNvbHV0ZSBwb3NpdGlvbiBmcm9tIHRvcCBvZiB3aW5kb3dcbiAgICBjb25zdCB0YWdzUG9zaXRpb24gPSB0YWdzLm1hcCh0YWcgPT4gdGFnLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgLy8gZ3JvdXAgYnkgdG9wICwgZWxlbWVudCB0aGF0IHNoYXJlIHRoZSBzYW1lIHRvcCBwb3NpdGlvbiBhcmUgaW4gdGhlIHNhbWUgbGluZVxuICAgIGNvbnN0IHRhZ3NHcm91cEJ5Um93ID0gZ3JvdXBCeSh0YWdzUG9zaXRpb24sICd0b3AnKTtcblxuICAgIC8vIGdldCBsaXN0IG9mIGRpc3RpbmN0IGhpZ2h0XG4gICAgY29uc3QgdGFnc0Rpc3RpbmN0SGlnaHQgPSBPYmplY3Qua2V5cyh0YWdzR3JvdXBCeVJvdyk7XG5cbiAgICB0aGlzLnJvd0NvdW50ID0gdGFnc0Rpc3RpbmN0SGlnaHQubGVuZ3RoO1xuXG4gICAgLy8gZ2V0IHNpemUgb2YgZmlyc3Qgcm93ICdsbCBoZWxwIHVzIHRvIGdldCBsYXN0IGl0ZW0gb2YgdGhpcyByb3dcbiAgICB0aGlzLmxhc3RJdGVtSW5kZXhPZkZpcnN0Um93ID0gdGFnc0dyb3VwQnlSb3dbdGFnc0Rpc3RpbmN0SGlnaHRbMF1dLmxlbmd0aCAtIDE7XG5cbiAgICAvLyB3cmFwcGVkIGl0ZW1zIGNvdW50IGlzIGxlbmd0aCAtIHRhZ3MgY291bnQgaW4gZmlyc3Qgcm93XG4gICAgdGhpcy53cmFwcGVkSXRlbXNDb3VudCA9IHRhZ3MudG9BcnJheSgpLmxlbmd0aCAtICh0aGlzLmxhc3RJdGVtSW5kZXhPZkZpcnN0Um93ICsgMSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlUmVjaXBlKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRleHRlc2VydmljZS5taWFtLnJlY2lwZXMuZGlzcGxheShpZCwgdGhpcy5yZWNpcGVEZXRhaWxQcmV2aWV3QWxsb3dlZCApO1xuICB9XG5cbiAgdG9nZ2xlTGlzdCgpIHtcbiAgICB0aGlzLmlzTGlzdE9wZW4gPSAhdGhpcy5pc0xpc3RPcGVuO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZU1vZGFsKCkge1xuICAgIGlmICghdGhpcy5tb2RhbElzT3BlbmVkKSB7XG4gICAgICB0aGlzLm1vZGFsVGl0bGUgPSAnVXRpbGlzw6kgZGFucyAnICsgdGhpcy5yZWNpcGVQcmV2aWV3TGluZXMubGVuZ3RoICsgJyByZWNldHRlcyc7XG4gICAgfVxuICAgIHRoaXMubW9kYWxJc09wZW5lZCA9ICF0aGlzLm1vZGFsSXNPcGVuZWQ7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlZHVjZSBlbHNlIHJlZHVjZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX2NvbnRhaW5lclwiICpuZ0lmPVwicmVjaXBlUHJldmlld0xpbmVzPy5sZW5ndGggPiAwXCIgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBpc0xpc3RPcGVuID8gMzIgKiByb3dDb3VudCA6IDI0ICB9XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX2NvbnRhaW5lcl9fbGlzdFwiID5cbiAgICAgIDxkaXYgI3RhZyBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX2xpc3RfX2JhZGdlXCIgKm5nRm9yPVwibGV0IHJlY2lwZUxpbmUgb2YgcmVjaXBlUHJldmlld0xpbmVzLCBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19iYWRnZV9faWNvblwiIFtpY29uTmFtZV09J2ljb24uTWVhbCcgKGNsaWNrKT0ndG9nZ2xlUmVjaXBlKHJlY2lwZUxpbmUuaWQpJ1xuICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci13aGl0ZSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ19fYmFkZ2VfX3RleHRcIiAoY2xpY2spPSd0b2dnbGVSZWNpcGUocmVjaXBlTGluZS5pZCknPnt7cmVjaXBlTGluZS50aXRsZSB8IGVsbGlwc2lzIDogNn19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J21pYW0tcmVjaXBlLXRhZ3NfX2NvbnRhaW5lcl9fdG9nZ2xlX19oaWRkZW4nOiAhcm93Q291bnQgfHwgd3JhcHBlZEl0ZW1zQ291bnQgPT09IDAgfVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtdGFnc19fY29udGFpbmVyX190b2dnbGVcIiA+XG4gICAgICA8c3BhbiAgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX190b2dnbGVfX29wZW5cIiAoY2xpY2spPSd0b2dnbGVMaXN0KCknPlxuICAgICAgICB7eyBpc0xpc3RPcGVuID8gJyAgJyA6ICcrJyArd3JhcHBlZEl0ZW1zQ291bnR9fTwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX3RvZ2dsZV9fbGlnbmVcIj48L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX190b2dnbGVfX2Nsb3NlXCIgW25nU3R5bGVdPVwieydvcGFjaXR5JzogaXNMaXN0T3BlbiA/IDEgOiAwfVwiIChjbGljayk9J3RvZ2dsZUxpc3QoKSc+IFxuICAgICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT0naWNvbi5DaGV2cm9uRG93bicgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXdoaXRlKSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjcmVkdWNlZD5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX3JlY2lwZXNcIiAqbmdJZj1cInJlY2lwZVByZXZpZXdMaW5lcz8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJ0b2dnbGVNb2RhbCgpXCI+XG4gICAgPHNwYW4+e3tyZWNpcGVQcmV2aWV3TGluZXMubGVuZ3RofX0gcmVjZXR0ZXM8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxuZy1taWFtLW1vZGFsIFxuICAgIFtpc0FuZ3VsYXJDb21wb25lbnRdPVwidHJ1ZVwiIFxuICAgIFtleHBhbmRlZF09XCJtb2RhbElzT3BlbmVkXCJcbiAgICBbbm9IZWFkZXJNb2RlXT1cImZhbHNlXCIgXG4gICAgW3RpdGxlXT1cIm1vZGFsVGl0bGVcIlxuICAgIChjbG9zZSk9XCJ0b2dnbGVNb2RhbCgpXCJcbiAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLXRhZ3NfX21vZGFsXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19jb250YWluZXJfX2xpc3RcIiA+XG4gICAgICA8ZGl2ICN0YWcgY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdzX19saXN0X19iYWRnZVwiICpuZ0Zvcj1cImxldCByZWNpcGVMaW5lIG9mIHJlY2lwZVByZXZpZXdMaW5lcywgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtdGFnc19fYmFkZ2VfX2ljb25cIiBbaWNvbk5hbWVdPSdpY29uLk1lYWwnIChjbGljayk9J3RvZ2dsZVJlY2lwZShyZWNpcGVMaW5lLmlkKSdcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itd2hpdGUpJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS10YWdfX2JhZGdlX190ZXh0XCIgKGNsaWNrKT0ndG9nZ2xlUmVjaXBlKHJlY2lwZUxpbmUuaWQpJz57e3JlY2lwZUxpbmUudGl0bGV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLW1pYW0tbW9kYWw+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=