ng-miam 6.4.13 → 7.0.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 (208) hide show
  1. package/bundles/ng-miam.umd.js +8539 -10855
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/event-tracer.component.js +3 -2
  6. package/esm2015/lib/_components/accordion/accordion.component.js +75 -0
  7. package/esm2015/lib/_components/components.module.js +27 -21
  8. package/esm2015/lib/_components/counter-input/counter-input.component.js +86 -76
  9. package/esm2015/lib/_components/icon/icon.component.js +1 -1
  10. package/esm2015/lib/_components/index.js +5 -5
  11. package/esm2015/lib/_components/like-button/like-button.component.js +1 -1
  12. package/esm2015/lib/_components/list-input/list-input.component.js +5 -5
  13. package/esm2015/lib/_components/loader/loader.component.js +1 -1
  14. package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +3 -3
  15. package/esm2015/lib/_components/modal/modal.component.js +155 -137
  16. package/esm2015/lib/_components/product-card/product-card.component.js +333 -0
  17. package/esm2015/lib/_components/products-picker/products-picker.component.js +155 -0
  18. package/esm2015/lib/_components/progress-tracker/progress-tracker.component.js +1 -1
  19. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +166 -217
  20. package/esm2015/lib/_components/recipe-pricing/recipe-pricing.component.js +55 -35
  21. package/esm2015/lib/_components/slider-tabs/slider-tabs.component.js +84 -0
  22. package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +1 -1
  23. package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +1 -1
  24. package/esm2015/lib/_components/tabs/tabs.component.js +48 -88
  25. package/esm2015/lib/_components/toaster/toaster.component.js +48 -84
  26. package/esm2015/lib/_components/tooltipable-content/tooltipable-content.component.js +1 -1
  27. package/esm2015/lib/_models/basket-entry.js +33 -49
  28. package/esm2015/lib/_models/basket-preview-line.js +5 -5
  29. package/esm2015/lib/_models/basket.js +15 -12
  30. package/esm2015/lib/_models/item.js +2 -2
  31. package/esm2015/lib/_models/recipe.js +2 -15
  32. package/esm2015/lib/_models/user.js +1 -1
  33. package/esm2015/lib/_services/analytics.service.js +24 -5
  34. package/esm2015/lib/_services/baskets-synchronizing/baskets-comparator.service.js +1 -10
  35. package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +15 -15
  36. package/esm2015/lib/_services/baskets.service.js +478 -60
  37. package/esm2015/lib/_services/context.service.js +22 -35
  38. package/esm2015/lib/_services/index.js +3 -5
  39. package/esm2015/lib/_services/interceptor.service.js +2 -2
  40. package/esm2015/lib/_services/items.service.js +27 -4
  41. package/esm2015/lib/_services/recipe-details.service.js +198 -0
  42. package/esm2015/lib/_services/recipe-likes.service.js +1 -1
  43. package/esm2015/lib/_services/recipes.service.js +24 -53
  44. package/esm2015/lib/_services/scrolling.service.js +17 -0
  45. package/esm2015/lib/_services/toaster.service.js +4 -5
  46. package/esm2015/lib/_services/user.service.js +2 -2
  47. package/esm2015/lib/_types/basket-action-type.enum.js +11 -0
  48. package/esm2015/lib/_types/basket-action.js +2 -0
  49. package/esm2015/lib/_types/basket-stats.js +2 -0
  50. package/esm2015/lib/_types/builded/miam-interface.js +1 -1
  51. package/esm2015/lib/_types/event-trace.js +5 -0
  52. package/esm2015/lib/_types/items-comparator.js +1 -10
  53. package/esm2015/lib/_types/recipe-filters.js +1 -1
  54. package/esm2015/lib/_types/toaster.js +1 -1
  55. package/esm2015/lib/_utils/directives/index.js +2 -1
  56. package/esm2015/lib/_utils/directives/reach-top.directive.js +33 -0
  57. package/esm2015/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.js +8 -2
  58. package/esm2015/lib/_utils/utils.module.js +12 -8
  59. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +140 -118
  60. package/esm2015/lib/_web-components/basket-preview/basket-preview-disabled/basket-preview-disabled.component.js +2 -2
  61. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +125 -444
  62. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +211 -108
  63. package/esm2015/lib/_web-components/index.js +1 -4
  64. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +11 -14
  65. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +13 -13
  66. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +6 -6
  67. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +10 -10
  68. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +23 -11
  69. package/esm2015/lib/_web-components/meals-planner/meals-planner-basket-confirmation/meals-planner-basket-confirmation.component.js +1 -1
  70. package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
  71. package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +7 -7
  72. package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +5 -5
  73. package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +16 -20
  74. package/esm2015/lib/_web-components/planner-side-menu/planner-side-menu.component.js +4 -53
  75. package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
  76. package/esm2015/lib/_web-components/recipe-cards/index.js +1 -3
  77. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +326 -404
  78. package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +50 -146
  79. package/esm2015/lib/_web-components/recipe-cards/recipe-cards.module.js +3 -15
  80. package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +1 -1
  81. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +35 -29
  82. package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +1 -1
  83. package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +27 -31
  84. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +98 -100
  85. package/esm2015/lib/_web-components/recipe-creation/recipe-form/recipe-form.component.js +2 -2
  86. package/esm2015/lib/_web-components/recipe-creation/recipe-stepper/recipe-stepper.component.js +7 -7
  87. package/esm2015/lib/_web-components/recipe-creation/tags-creator/tags-creator.component.js +4 -4
  88. package/esm2015/lib/_web-components/recipe-creation/tags-selector/tags-selector.component.js +8 -8
  89. package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +7 -3
  90. package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +57 -358
  91. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +59 -122
  92. package/esm2015/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.js +51 -72
  93. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +313 -363
  94. package/esm2015/lib/_web-components/recipe-details/recipe-details.module.js +8 -4
  95. package/esm2015/lib/_web-components/recipe-details/sponsor-storytelling/sponsor-storytelling.component.js +1 -1
  96. package/esm2015/lib/_web-components/recipe-helper/recipe-helper.component.js +89 -113
  97. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +78 -69
  98. package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +5 -5
  99. package/esm2015/lib/_web-components/toaster-stack/toaster-stack.component.js +8 -4
  100. package/esm2015/lib/_web-components/web-components.module.js +3 -19
  101. package/esm2015/lib/ng-miam.module.js +5 -7
  102. package/fesm2015/ng-miam.js +5165 -6973
  103. package/fesm2015/ng-miam.js.map +1 -1
  104. package/lib/_components/abstracts/event-tracer.component.d.ts +2 -1
  105. package/lib/_components/accordion/accordion.component.d.ts +23 -0
  106. package/lib/_components/components.module.d.ts +38 -36
  107. package/lib/_components/counter-input/counter-input.component.d.ts +12 -14
  108. package/lib/_components/index.d.ts +4 -4
  109. package/lib/_components/modal/modal.component.d.ts +18 -18
  110. package/lib/_components/product-card/product-card.component.d.ts +40 -0
  111. package/lib/_components/products-picker/products-picker.component.d.ts +17 -0
  112. package/lib/_components/recipe-pricing/recipe-pricing.component.d.ts +12 -8
  113. package/lib/_components/slider-tabs/slider-tabs.component.d.ts +16 -0
  114. package/lib/_components/tabs/tabs.component.d.ts +11 -11
  115. package/lib/_components/toaster/toaster.component.d.ts +4 -2
  116. package/lib/_models/basket-entry.d.ts +16 -20
  117. package/lib/_models/basket-preview-line.d.ts +1 -0
  118. package/lib/_models/basket.d.ts +12 -5
  119. package/lib/_models/item.d.ts +1 -1
  120. package/lib/_models/recipe.d.ts +0 -5
  121. package/lib/_models/user.d.ts +0 -1
  122. package/lib/_services/analytics.service.d.ts +8 -22
  123. package/lib/_services/baskets-synchronizing/baskets-comparator.service.d.ts +0 -5
  124. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +3 -6
  125. package/lib/_services/baskets.service.d.ts +137 -18
  126. package/lib/_services/context.service.d.ts +2 -4
  127. package/lib/_services/index.d.ts +2 -4
  128. package/lib/_services/items.service.d.ts +9 -2
  129. package/lib/_services/recipe-details.service.d.ts +84 -0
  130. package/lib/_services/recipe-likes.service.d.ts +2 -1
  131. package/lib/_services/recipes.service.d.ts +10 -14
  132. package/lib/_services/scrolling.service.d.ts +8 -0
  133. package/lib/_services/toaster.service.d.ts +1 -1
  134. package/lib/_types/basket-action-type.enum.d.ts +9 -0
  135. package/lib/_types/basket-action.d.ts +14 -0
  136. package/lib/_types/basket-stats.d.ts +5 -0
  137. package/lib/_types/builded/miam-interface.d.ts +16 -25
  138. package/lib/_types/event-trace.d.ts +22 -0
  139. package/lib/_types/items-comparator.d.ts +0 -5
  140. package/lib/_types/recipe-filters.d.ts +0 -2
  141. package/lib/_types/toaster.d.ts +1 -1
  142. package/lib/_utils/directives/index.d.ts +1 -0
  143. package/lib/_utils/directives/reach-top.directive.d.ts +13 -0
  144. package/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.d.ts +1 -1
  145. package/lib/_utils/utils.module.d.ts +2 -2
  146. package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +9 -8
  147. package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +11 -9
  148. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +27 -20
  149. package/lib/_web-components/index.d.ts +0 -3
  150. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +1 -2
  151. package/lib/_web-components/list-scan/files-inputs/files-inputs.component.d.ts +6 -5
  152. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +3 -3
  153. package/lib/_web-components/list-scan/list-scan.component.d.ts +3 -3
  154. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +8 -6
  155. package/lib/_web-components/meals-planner/meals-planner.component.d.ts +2 -3
  156. package/lib/_web-components/recipe-cards/index.d.ts +0 -2
  157. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +58 -17
  158. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +5 -12
  159. package/lib/_web-components/recipe-cards/recipe-cards.module.d.ts +7 -9
  160. package/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.d.ts +8 -6
  161. package/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.d.ts +7 -4
  162. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +2 -3
  163. package/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.d.ts +5 -2
  164. package/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.d.ts +6 -18
  165. package/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.d.ts +6 -13
  166. package/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.d.ts +2 -10
  167. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +29 -36
  168. package/lib/_web-components/recipe-details/recipe-details.module.d.ts +2 -1
  169. package/lib/_web-components/recipe-helper/recipe-helper.component.d.ts +2 -6
  170. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +11 -9
  171. package/lib/_web-components/toaster-stack/toaster-stack.component.d.ts +5 -2
  172. package/lib/_web-components/web-components.module.d.ts +23 -29
  173. package/miam-style.css +1 -1
  174. package/package.json +1 -1
  175. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +0 -130
  176. package/esm2015/lib/_components/skeleton/skeleton.component.js +0 -70
  177. package/esm2015/lib/_components/tabs/tab-body.component.js +0 -30
  178. package/esm2015/lib/_components/tabs/tab-item.component.js +0 -36
  179. package/esm2015/lib/_components/tabs/tab-label.component.js +0 -30
  180. package/esm2015/lib/_models/groceries-entry.js +0 -42
  181. package/esm2015/lib/_models/groceries-list.js +0 -36
  182. package/esm2015/lib/_services/counter.service.js +0 -20
  183. package/esm2015/lib/_services/groceries-entries.service.js +0 -21
  184. package/esm2015/lib/_services/groceries-lists.service.js +0 -240
  185. package/esm2015/lib/_services/recipe-events.service.js +0 -63
  186. package/esm2015/lib/_types/skeleton.enum.js +0 -7
  187. package/esm2015/lib/_web-components/drawer/drawer.component.js +0 -273
  188. package/esm2015/lib/_web-components/pos-card/pos-card.component.js +0 -207
  189. package/esm2015/lib/_web-components/pos-selection/pos-selection.component.js +0 -283
  190. package/esm2015/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.js +0 -632
  191. package/esm2015/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.js +0 -144
  192. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +0 -49
  193. package/lib/_components/skeleton/skeleton.component.d.ts +0 -11
  194. package/lib/_components/tabs/tab-body.component.d.ts +0 -8
  195. package/lib/_components/tabs/tab-item.component.d.ts +0 -11
  196. package/lib/_components/tabs/tab-label.component.d.ts +0 -8
  197. package/lib/_models/groceries-entry.d.ts +0 -20
  198. package/lib/_models/groceries-list.d.ts +0 -30
  199. package/lib/_services/counter.service.d.ts +0 -10
  200. package/lib/_services/groceries-entries.service.d.ts +0 -10
  201. package/lib/_services/groceries-lists.service.d.ts +0 -68
  202. package/lib/_services/recipe-events.service.d.ts +0 -23
  203. package/lib/_types/skeleton.enum.d.ts +0 -5
  204. package/lib/_web-components/drawer/drawer.component.d.ts +0 -37
  205. package/lib/_web-components/pos-card/pos-card.component.d.ts +0 -24
  206. package/lib/_web-components/pos-selection/pos-selection.component.d.ts +0 -38
  207. package/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.d.ts +0 -49
  208. package/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.d.ts +0 -42
@@ -1,144 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectorRef, ChangeDetectionStrategy, Input, ViewChild, ElementRef } from '@angular/core';
2
- import { AbstractRecipeCardComponent } from '../../../_components/abstracts/abstract-recipe-card.component';
3
- import { RecipesService, RecipeEventsService, GroceriesListsService, ContextService } from '../../../_services';
4
- import { of } from 'rxjs';
5
- import { catchError, skipWhile, switchMap, take } from 'rxjs/operators';
6
- import { RecipeCardComponent } from '../recipe-card/recipe-card.component';
7
- import { AnalyticsService } from '../../../_services/analytics.service';
8
- import { v4 as uuidv4 } from 'uuid';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../../_services";
11
- import * as i2 from "../../../_services/analytics.service";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "../recipe-card/recipe-card.component";
14
- const _c0 = ["recipeCard"];
15
- function SuggestionCardComponent_ng_miam_recipe_card_0_Template(rf, ctx) { if (rf & 1) {
16
- const _r3 = i0.ɵɵgetCurrentView();
17
- i0.ɵɵelementStart(0, "ng-miam-recipe-card", 1, 2);
18
- i0.ɵɵlistener("guestsChanged", function SuggestionCardComponent_ng_miam_recipe_card_0_Template_ng_miam_recipe_card_guestsChanged_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.guestsChanged(); });
19
- i0.ɵɵelementEnd();
20
- } if (rf & 2) {
21
- const ctx_r0 = i0.ɵɵnextContext();
22
- i0.ɵɵproperty("recipe", ctx_r0.recipe)("headerText", ctx_r0.headerText)("displayPricing", ctx_r0.displayPricing)("displayAddedOnPicture", ctx_r0.displayAddedOnPicture)("originTrace", ctx_r0.eventTrace());
23
- } }
24
- const recipeIncludes = ['recipe-provider', 'sponsors'];
25
- const recipeSparseFields = {
26
- recipes: ['title', 'number-of-guests', 'media-url', 'video-id', 'filigrane-logo-url', 'difficulty', 'preparation-time', 'cooking-time',
27
- 'resting-time', ...recipeIncludes],
28
- sponsors: ['logo-url'],
29
- ['recipe-provider']: ['name']
30
- };
31
- /**
32
- * This is an angular component design to be a web component
33
- * that's why we use onPushStrategie with the changeDetetectorRef
34
- * to avoid common issue
35
- * guide -> https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4
36
- * and alsow we use ShadowDom to protect style of our component
37
- * and alsow style of the parent aplication that will use it
38
- * doc -> https://angular.io/api/core/ViewEncapsulation
39
- */
40
- export class SuggestionCardComponent extends AbstractRecipeCardComponent {
41
- constructor(cdr, recipeService, groceriesListsService, contextService, analyticsService, recipeEventsService, element) {
42
- super(cdr, recipeService, recipeEventsService, groceriesListsService, contextService, analyticsService, element);
43
- this.cdr = cdr;
44
- this.recipeService = recipeService;
45
- this.groceriesListsService = groceriesListsService;
46
- this.contextService = contextService;
47
- this.analyticsService = analyticsService;
48
- this.recipeEventsService = recipeEventsService;
49
- this.element = element;
50
- this.isEmpty = false;
51
- this.eventsGroupId = uuidv4();
52
- // as the template creates a recipe card, the recipe card send the events
53
- this.sendShowEventOnScroll = false;
54
- }
55
- ngOnChanges(simpleChanges) {
56
- if ((simpleChanges.productIds && !this.randomModeEnable) || !this.recipe) {
57
- this.loadRecipe();
58
- }
59
- }
60
- // Only send show event if the recipe has changed while the card was in viewport
61
- sendShowEvent() {
62
- return false;
63
- }
64
- // If recipe already in basket, update the number of guests so that the pricing gets updated as well
65
- // (display = false so that the recipe details don't show up)
66
- guestsChanged() {
67
- this.subscriptions.push(this.groceriesListsService.recipeIsInList(this.recipe.id).pipe(switchMap(recipeIsInList => {
68
- if (recipeIsInList) {
69
- return this.groceriesListsService.appendRecipeToList(this.recipe.id, this.recipe.modifiedGuests, this.eventTrace())
70
- .pipe(take(1));
71
- }
72
- })).subscribe(() => this.cdr.detectChanges()));
73
- }
74
- loadRecipe() {
75
- this.subscriptions.push(this.fetchRecipes().pipe(skipWhile(results => !results), catchError(err => {
76
- this.hide.emit();
77
- return of(err);
78
- })).subscribe(results => this.processResults(results)));
79
- }
80
- fetchRecipes() {
81
- if (this.contextService.displayIngredientPicturesOnRecipeCards && !recipeIncludes.includes('ingredients')) {
82
- recipeIncludes.push('ingredients');
83
- recipeSparseFields.recipes.push('ingredients');
84
- recipeSparseFields['ingredients'] = ['name', 'quantity', 'unit', 'active', 'forced-eans', 'picture-url', 'position'];
85
- }
86
- if (this.randomModeEnable) {
87
- return this.recipeService.getRandom(recipeIncludes, recipeSparseFields);
88
- }
89
- else {
90
- return this.recipeService.getSuggestion(this.productIds, this.eventsGroupId, recipeIncludes, recipeSparseFields);
91
- }
92
- }
93
- // If the recipe is in basket, will show number of guests as defined in the basket
94
- // Otherwise, will show default number of guests for the recipe
95
- processResults(recipes) {
96
- this.isEmpty = (!recipes || recipes.length === 0);
97
- if (!this.isEmpty) {
98
- // get the first recipe and shallow copy it to permit to send event and do not disturb any other component
99
- // if ressource is cached without copy another load will get the attributes
100
- this.recipe = recipes[0].shallowCopyWithEvents(this.recipeEventsService.ORIGIN_SUGGESTION, this.eventsGroupId);
101
- // Update guests from list only if recipe is in list
102
- this.subscriptions.push(this.groceriesListsService.recipeIsInList(this.recipe.id).subscribe(isInList => {
103
- if (isInList) {
104
- this.recipe.modifiedGuests = this.groceriesListsService.guestsForRecipe(this.recipe) || +this.recipe.guests;
105
- this.recipeCard.cdr.markForCheck();
106
- }
107
- }));
108
- this.recipeCard.cdr.markForCheck();
109
- }
110
- else {
111
- this.hide.emit();
112
- }
113
- this.cdr.detectChanges();
114
- }
115
- }
116
- SuggestionCardComponent.ɵfac = function SuggestionCardComponent_Factory(t) { return new (t || SuggestionCardComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i1.GroceriesListsService), i0.ɵɵdirectiveInject(i1.ContextService), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i1.RecipeEventsService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
117
- SuggestionCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SuggestionCardComponent, selectors: [["ng-miam-suggestion-card"]], viewQuery: function SuggestionCardComponent_Query(rf, ctx) { if (rf & 1) {
118
- i0.ɵɵviewQuery(_c0, true);
119
- } if (rf & 2) {
120
- var _t;
121
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recipeCard = _t.first);
122
- } }, inputs: { randomModeEnable: "randomModeEnable", productIds: "productIds" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "recipe", "headerText", "displayPricing", "displayAddedOnPicture", "originTrace", "guestsChanged", 4, "ngIf"], [3, "recipe", "headerText", "displayPricing", "displayAddedOnPicture", "originTrace", "guestsChanged"], ["recipeCard", ""]], template: function SuggestionCardComponent_Template(rf, ctx) { if (rf & 1) {
123
- i0.ɵɵtemplate(0, SuggestionCardComponent_ng_miam_recipe_card_0_Template, 2, 5, "ng-miam-recipe-card", 0);
124
- } if (rf & 2) {
125
- i0.ɵɵproperty("ngIf", !ctx.isEmpty);
126
- } }, directives: [i3.NgIf, i4.RecipeCardComponent], styles: [""], encapsulation: 2, changeDetection: 0 });
127
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SuggestionCardComponent, [{
128
- type: Component,
129
- args: [{
130
- selector: 'ng-miam-suggestion-card',
131
- templateUrl: './suggestion-card.component.html',
132
- styleUrls: ['./suggestion-card.component.scss'],
133
- encapsulation: ViewEncapsulation.None,
134
- changeDetection: ChangeDetectionStrategy.OnPush
135
- }]
136
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i1.GroceriesListsService }, { type: i1.ContextService }, { type: i2.AnalyticsService }, { type: i1.RecipeEventsService }, { type: i0.ElementRef }]; }, { randomModeEnable: [{
137
- type: Input
138
- }], productIds: [{
139
- type: Input
140
- }], recipeCard: [{
141
- type: ViewChild,
142
- args: ['recipeCard']
143
- }] }); })();
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1jYXJkcy9zdWdnZXN0aW9uLWNhcmQvc3VnZ2VzdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmRzL3N1Z2dlc3Rpb24tY2FyZC9zdWdnZXN0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFDMUgsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEgsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztJQ1RwQyxpREFTdUI7SUFEckIsMk9BQWlDO0lBQ2xDLGlCQUFzQjs7O0lBTnJCLHNDQUFpQixpQ0FBQSx5Q0FBQSx1REFBQSxvQ0FBQTs7QURRbkIsTUFBTSxjQUFjLEdB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Q29udGVudCI6WyJcbmltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UmVjaXBlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9hYnN0cmFjdC1yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZWNpcGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5cbmNvbnN0IHJlY2lwZUluY2x1ZGVzID0gWydyZWNpcGUtcHJvdmlkZXInLCAnc3BvbnNvcnMnXTtcbmNvbnN0IHJlY2lwZVNwYXJzZUZpZWxkcyA9IHtcbiAgcmVjaXBlczogWyd0aXRsZScsICdudW1iZXItb2YtZ3Vlc3RzJywgJ21lZGlhLXVybCcsICd2aWRlby1pZCcsICdmaWxpZ3JhbmUtbG9nby11cmwnLCAnZGlmZmljdWx0eScsICdwcmVwYXJhdGlvbi10aW1lJywgJ2Nvb2tpbmctdGltZScsXG4gICAgICAgICAgICAncmVzdGluZy10aW1lJywgLi4ucmVjaXBlSW5jbHVkZXNdLFxuICBzcG9uc29yczogWydsb2dvLXVybCddLFxuICBbJ3JlY2lwZS1wcm92aWRlciddOiBbJ25hbWUnXVxufTtcblxuXG4vKipcbiAqIFRoaXMgaXMgYW4gYW5ndWxhciBjb21wb25lbnQgZGVzaWduIHRvIGJlIGEgd2ViIGNvbXBvbmVudFxuICogdGhhdCdzIHdoeSB3ZSB1c2Ugb25QdXNoU3RyYXRlZ2llIHdpdGggdGhlIGNoYW5nZURldGV0ZWN0b3JSZWZcbiAqIHRvIGF2b2lkIGNvbW1vbiBpc3N1ZVxuICogZ3VpZGUgLT4gaHR0cHM6Ly9uZXRiYXNhbC5jb20vYS1jb21wcmVoZW5zaXZlLWd1aWRlLXRvLWFuZ3VsYXItb25wdXNoLWNoYW5nZS1kZXRlY3Rpb24tc3RyYXRlZ3ktNWJhYzQ5MzA3NGE0XG4gKiBhbmQgYWxzb3cgd2UgdXNlIFNoYWRvd0RvbSB0byBwcm90ZWN0IHN0eWxlIG9mIG91ciBjb21wb25lbnRcbiAqIGFuZCBhbHNvdyBzdHlsZSBvZiB0aGUgcGFyZW50IGFwbGljYXRpb24gdGhhdCB3aWxsIHVzZSBpdFxuICogZG9jIC0+IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9WaWV3RW5jYXBzdWxhdGlvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXN1Z2dlc3Rpb24tY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWdnZXN0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdWdnZXN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uQ2FyZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UmVjaXBlQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJhbmRvbU1vZGVFbmFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByb2R1Y3RJZHM6IHtpZDogc3RyaW5nLCBoYXNIaWdoV2VpZ2h0PzogYm9vbGVhbn1bXTtcbiAgaXNFbXB0eSA9IGZhbHNlO1xuICBwcml2YXRlIGV2ZW50c0dyb3VwSWQgPSB1dWlkdjQoKTtcbiAgLy8gYXMgdGhlIHRlbXBsYXRlIGNyZWF0ZXMgYSByZWNpcGUgY2FyZCwgdGhlIHJlY2lwZSBjYXJkIHNlbmQgdGhlIGV2ZW50c1xuICBwcm90ZWN0ZWQgc2VuZFNob3dFdmVudE9uU2Nyb2xsID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgncmVjaXBlQ2FyZCcpIHJlY2lwZUNhcmQ6IFJlY2lwZUNhcmRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICApIHtcbiAgICBzdXBlcihjZHIsIHJlY2lwZVNlcnZpY2UsIHJlY2lwZUV2ZW50c1NlcnZpY2UsIGdyb2Nlcmllc0xpc3RzU2VydmljZSwgY29udGV4dFNlcnZpY2UsIGFuYWx5dGljc1NlcnZpY2UsIGVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICgoIHNpbXBsZUNoYW5nZXMucHJvZHVjdElkcyAmJiAhdGhpcy5yYW5kb21Nb2RlRW5hYmxlKSB8fCAhdGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMubG9hZFJlY2lwZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9ubHkgc2VuZCBzaG93IGV2ZW50IGlmIHRoZSByZWNpcGUgaGFzIGNoYW5nZWQgd2hpbGUgdGhlIGNhcmQgd2FzIGluIHZpZXdwb3J0XG4gIHB1YmxpYyBzZW5kU2hvd0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIElmIHJlY2lwZSBhbHJlYWR5IGluIGJhc2tldCwgdXBkYXRlIHRoZSBudW1iZXIgb2YgZ3Vlc3RzIHNvIHRoYXQgdGhlIHByaWNpbmcgZ2V0cyB1cGRhdGVkIGFzIHdlbGxcbiAgLy8gKGRpc3BsYXkgPSBmYWxzZSBzbyB0aGF0IHRoZSByZWNpcGUgZGV0YWlscyBkb24ndCBzaG93IHVwKVxuICBndWVzdHNDaGFuZ2VkKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QodGhpcy5yZWNpcGUuaWQpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChyZWNpcGVJc0luTGlzdCA9PiB7XG4gICAgICAgICAgaWYgKHJlY2lwZUlzSW5MaXN0KXtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLCB0aGlzLmV2ZW50VHJhY2UoKSlcbiAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRSZWNpcGUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmZldGNoUmVjaXBlcygpLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShyZXN1bHRzID0+ICFyZXN1bHRzKSxcbiAgICAgICAgY2F0Y2hFcnJvciggZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgICAgIH0pLFxuICAgICAgKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB0aGlzLnByb2Nlc3NSZXN1bHRzKHJlc3VsdHMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUmVjaXBlcygpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuZGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHMgJiYgIXJlY2lwZUluY2x1ZGVzLmluY2x1ZGVzKCdpbmdyZWRpZW50cycpKSB7XG4gICAgICByZWNpcGVJbmNsdWRlcy5wdXNoKCdpbmdyZWRpZW50cycpO1xuICAgICAgcmVjaXBlU3BhcnNlRmllbGRzLnJlY2lwZXMucHVzaCgnaW5ncmVkaWVudHMnKTtcbiAgICAgIHJlY2lwZVNwYXJzZUZpZWxkc1snaW5ncmVkaWVudHMnXSA9IFsnbmFtZScsICdxdWFudGl0eScsICd1bml0JywgJ2FjdGl2ZScsICdmb3JjZWQtZWFucycsICdwaWN0dXJlLXVybCcsICdwb3NpdGlvbiddO1xuICAgIH1cbiAgICBpZiAodGhpcy5yYW5kb21Nb2RlRW5hYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWNpcGVTZXJ2aWNlLmdldFJhbmRvbShyZWNpcGVJbmNsdWRlcywgcmVjaXBlU3BhcnNlRmllbGRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucmVjaXBlU2VydmljZS5nZXRTdWdnZXN0aW9uKHRoaXMucHJvZHVjdElkcywgdGhpcy5ldmVudHNHcm91cElkLCByZWNpcGVJbmNsdWRlcywgcmVjaXBlU3BhcnNlRmllbGRzKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgcmVjaXBlIGlzIGluIGJhc2tldCwgd2lsbCBzaG93IG51bWJlciBvZiBndWVzdHMgYXMgZGVmaW5lZCBpbiB0aGUgYmFza2V0XG4gIC8vIE90aGVyd2lzZSwgd2lsbCBzaG93IGRlZmF1bHQgbnVtYmVyIG9mIGd1ZXN0cyBmb3IgdGhlIHJlY2lwZVxuICBwcml2YXRlIHByb2Nlc3NSZXN1bHRzKHJlY2lwZXM6IFJlY2lwZVtdKSB7XG4gICAgdGhpcy5pc0VtcHR5ID0gKCFyZWNpcGVzIHx8IHJlY2lwZXMubGVuZ3RoID09PSAwKTtcbiAgICBpZiAoIXRoaXMuaXNFbXB0eSkge1xuICAgICAgLy8gZ2V0IHRoZSBmaXJzdCByZWNpcGUgYW5kIHNoYWxsb3cgY29weSBpdCB0byBwZXJtaXQgdG8gc2VuZCBldmVudCBhbmQgZG8gbm90IGRpc3R1cmIgYW55IG90aGVyIGNvbXBvbmVudFxuICAgICAgLy8gaWYgcmVzc291cmNlIGlzIGNhY2hlZCB3aXRob3V0IGNvcHkgYW5vdGhlciBsb2FkIHdpbGwgZ2V0IHRoZSBhdHRyaWJ1dGVzXG4gICAgICB0aGlzLnJlY2lwZSA9IHJlY2lwZXNbMF0uc2hhbGxvd0NvcHlXaXRoRXZlbnRzKHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5PUklHSU5fU1VHR0VTVElPTiwgdGhpcy5ldmVudHNHcm91cElkKTtcbiAgICAgIC8vIFVwZGF0ZSBndWVzdHMgZnJvbSBsaXN0IG9ubHkgaWYgcmVjaXBlIGlzIGluIGxpc3RcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUoaXNJbkxpc3QgPT4ge1xuICAgICAgICBpZiAoaXNJbkxpc3QpIHtcbiAgICAgICAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmd1ZXN0c0ZvclJlY2lwZSh0aGlzLnJlY2lwZSkgfHwgK3RoaXMucmVjaXBlLmd1ZXN0cztcbiAgICAgICAgICB0aGlzLnJlY2lwZUNhcmQuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgICB0aGlzLnJlY2lwZUNhcmQuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjwhLS0gVE9ETyByZW5hbWUgbmctbWlhbS1yZWNpcGVDYXJkICAtLT4gXG48bmctbWlhbS1yZWNpcGUtY2FyZFxuICAjcmVjaXBlQ2FyZFxuICAqbmdJZj1cIiFpc0VtcHR5XCJcbiAgW3JlY2lwZV09XCJyZWNpcGVcIlxuICBbaGVhZGVyVGV4dF09J2hlYWRlclRleHQnXG4gIFtkaXNwbGF5UHJpY2luZ109XCJkaXNwbGF5UHJpY2luZ1wiXG4gIFtkaXNwbGF5QWRkZWRPblBpY3R1cmVdPVwiZGlzcGxheUFkZGVkT25QaWN0dXJlXCJcbiAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gIChndWVzdHNDaGFuZ2VkKT1cImd1ZXN0c0NoYW5nZWQoKVwiXG4+PC9uZy1taWFtLXJlY2lwZS1jYXJkPlxuIl19
@@ -1,49 +0,0 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { SimplifiedIngredient } from '../../_models';
4
- import { Recipe } from '../../_models/recipe';
5
- import { RecipesService, GroceriesListsService, ContextService, RecipeEventsService } from '../../_services';
6
- import { AnalyticsService, CustomProperties } from '../../_services/analytics.service';
7
- import { Icon } from '../../_types/icon.enum';
8
- import { Skeleton } from '../../_types/skeleton.enum';
9
- import { EventTracerComponent } from './event-tracer.component';
10
- import * as i0 from "@angular/core";
11
- export declare abstract class AbstractRecipeCardComponent extends EventTracerComponent implements OnDestroy, AfterViewInit {
12
- cdr: ChangeDetectorRef;
13
- recipeService: RecipesService;
14
- recipeEventsService: RecipeEventsService;
15
- groceriesListsService: GroceriesListsService;
16
- contextService: ContextService;
17
- protected analyticsService: AnalyticsService;
18
- protected element: ElementRef<HTMLElement>;
19
- headerText: string;
20
- displayPricing: boolean;
21
- displayGuests: boolean;
22
- helpButtonAllowed: boolean;
23
- displayAddedOnPicture: boolean;
24
- hide: EventEmitter<void>;
25
- recipe: Recipe;
26
- hovered: boolean;
27
- icon: typeof Icon;
28
- skeleton: typeof Skeleton;
29
- isPriceDisplayed: boolean;
30
- addButtonLoading: boolean;
31
- protected analyticsEventSent: boolean;
32
- protected subscriptions: Subscription[];
33
- protected sendShowEventsOnScroll: boolean;
34
- constructor(cdr: ChangeDetectorRef, recipeService: RecipesService, recipeEventsService: RecipeEventsService, groceriesListsService: GroceriesListsService, contextService: ContextService, analyticsService: AnalyticsService, element: ElementRef<HTMLElement>);
35
- onScroll(): void;
36
- currentPath(): string;
37
- ngAfterViewInit(): void;
38
- ngOnDestroy(): void;
39
- toggleHelper(): void;
40
- openCalendar(event: Event): void;
41
- shareRecipe(event: Event): void;
42
- isInViewport(): boolean;
43
- sendShowEvent(): boolean;
44
- displayPrice(): void;
45
- ingredientPicture(ingredient: SimplifiedIngredient): string;
46
- protected currentProps(): CustomProperties;
47
- static ɵfac: i0.ɵɵFactoryDef<AbstractRecipeCardComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDefWithMeta<AbstractRecipeCardComponent, "ng-component", never, { "headerText": "headerText"; "displayPricing": "displayPricing"; "displayGuests": "displayGuests"; "helpButtonAllowed": "helpButtonAllowed"; "displayAddedOnPicture": "displayAddedOnPicture"; }, { "hide": "hide"; }, never, never>;
49
- }
@@ -1,11 +0,0 @@
1
- import { Icon } from '../../_types/icon.enum';
2
- import { Skeleton } from '../../_types/skeleton.enum';
3
- import * as i0 from "@angular/core";
4
- export declare class SkeletonComponent {
5
- type: Skeleton;
6
- icon: typeof Icon;
7
- skeleton: typeof Skeleton;
8
- constructor();
9
- static ɵfac: i0.ɵɵFactoryDef<SkeletonComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDefWithMeta<SkeletonComponent, "ng-miam-skeleton", never, { "type": "type"; }, {}, never, never>;
11
- }
@@ -1,8 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TabBodyComponent {
4
- bodyContent: TemplateRef<any>;
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDef<TabBodyComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDefWithMeta<TabBodyComponent, "ng-miam-tab-body", never, {}, {}, never, ["*"]>;
8
- }
@@ -1,11 +0,0 @@
1
- import { TabBodyComponent } from './tab-body.component';
2
- import { TabLabelComponent } from './tab-label.component';
3
- import * as i0 from "@angular/core";
4
- export declare class TabItemComponent {
5
- label: string;
6
- bodyComponent: TabBodyComponent;
7
- labelComponent: TabLabelComponent;
8
- constructor();
9
- static ɵfac: i0.ɵɵFactoryDef<TabItemComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDefWithMeta<TabItemComponent, "ng-miam-tab-item", never, { "label": "label"; }, {}, ["bodyComponent", "labelComponent"], ["*"]>;
11
- }
@@ -1,8 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TabLabelComponent {
4
- labelContent: TemplateRef<any>;
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDef<TabLabelComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDefWithMeta<TabLabelComponent, "ng-miam-tab-label", never, {}, {}, never, ["*"]>;
8
- }
@@ -1,20 +0,0 @@
1
- import { Resource } from 'ngx-jsonapi';
2
- export declare class GroceriesEntry extends Resource {
3
- attributes: {
4
- name: string;
5
- 'capacity-volume': number;
6
- 'capacity-unit': string;
7
- 'capacity-factor': string;
8
- status: string;
9
- 'recipe-ids': string[];
10
- };
11
- get status(): string;
12
- set status(st: string);
13
- get name(): string;
14
- set name(n: string);
15
- get recipesIds(): (string | number)[];
16
- get volume(): number;
17
- set volume(v: number);
18
- get unit(): string;
19
- set unit(u: string);
20
- }
@@ -1,30 +0,0 @@
1
- import { DocumentCollection, Resource } from 'ngx-jsonapi';
2
- import { GroceriesEntry } from './groceries-entry';
3
- import { Recipe } from './recipe';
4
- export declare class GroceriesList extends Resource {
5
- attributes: {
6
- name: string;
7
- 'created-at': string;
8
- 'updated-at': string;
9
- entries: any[];
10
- 'recipes-ids': string[];
11
- 'recipes-infos': {
12
- id: string;
13
- guests?: string;
14
- }[];
15
- 'search-options': {};
16
- settings: {};
17
- 'user-id': string;
18
- 'append-recipes': boolean;
19
- };
20
- relationships: {
21
- 'groceries-entries': DocumentCollection<GroceriesEntry>;
22
- };
23
- get recipeInfos(): {
24
- id: string;
25
- guests?: string;
26
- }[];
27
- get entries(): DocumentCollection<GroceriesEntry>;
28
- hasRecipe(recipeId: string): boolean;
29
- guestsForRecipe(recipe: Recipe): number;
30
- }
@@ -1,10 +0,0 @@
1
- import { ApplicationRef } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class CounterService {
5
- private app;
6
- counterNumber: BehaviorSubject<number>;
7
- constructor(app: ApplicationRef);
8
- static ɵfac: i0.ɵɵFactoryDef<CounterService, never>;
9
- static ɵprov: i0.ɵɵInjectableDef<CounterService>;
10
- }
@@ -1,10 +0,0 @@
1
- import { Service } from 'ngx-jsonapi';
2
- import { GroceriesEntry } from '../_models/groceries-entry';
3
- import * as i0 from "@angular/core";
4
- export declare class GroceriesEntriesService extends Service<GroceriesEntry> {
5
- resource: typeof GroceriesEntry;
6
- type: string;
7
- constructor();
8
- static ɵfac: i0.ɵɵFactoryDef<GroceriesEntriesService, never>;
9
- static ɵprov: i0.ɵɵInjectableDef<GroceriesEntriesService>;
10
- }
@@ -1,68 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Service } from 'ngx-jsonapi';
3
- import { Observable, BehaviorSubject } from 'rxjs';
4
- import { Recipe } from '../_models';
5
- import { GroceriesList } from '../_models/groceries-list';
6
- import { AnalyticsService, EventTrace } from './analytics.service';
7
- import * as i0 from "@angular/core";
8
- export declare class GroceriesListsService extends Service<GroceriesList> {
9
- private miamBasketURL;
10
- private http;
11
- private analyticsService;
12
- resource: typeof GroceriesList;
13
- type: string;
14
- recipeWasAdded$: BehaviorSubject<{
15
- id: string;
16
- guests?: string;
17
- }[]>;
18
- recipeWasDeleted$: BehaviorSubject<{
19
- id: string;
20
- guests?: string;
21
- }[]>;
22
- recipesToRemove: BehaviorSubject<{
23
- id: string;
24
- eventTrace: EventTrace;
25
- }[]>;
26
- isRemovingRecipes: boolean;
27
- private _list$;
28
- private saveOperationType;
29
- private currentSubscription;
30
- private listIsFetching;
31
- constructor(miamBasketURL: string, http: HttpClient, analyticsService: AnalyticsService);
32
- /**
33
- * We want list$ to be a singleton that always returns the same list, so it is fetched only when necessary.
34
- * At any point in time the list can be fetched via the refreshCurrentList function (if we want to fetch it on startup to save time later)
35
- * But if refreshCurrentList is not called, the list will only be fetched the 1st time it is needed
36
- */
37
- get list$(): BehaviorSubject<GroceriesList>;
38
- takeFirstList(): Observable<GroceriesList>;
39
- recipeIsInList(recipeId: string): Observable<boolean>;
40
- guestsForRecipe(recipe: Recipe): number;
41
- refreshCurrentList(): BehaviorSubject<GroceriesList>;
42
- resetList(eventTrace?: EventTrace): Observable<GroceriesList>;
43
- appendRecipeToList(recipeId: string, guests: number, eventTrace: EventTrace, openBasket?: boolean): Observable<object>;
44
- appendRecipesToList(recipes: {
45
- id: string;
46
- guests: number;
47
- }[], eventTrace: EventTrace, openBasket?: boolean): Observable<object>;
48
- private addOrUpdateRecipeInList;
49
- removeRecipeFromList(recipeId: string, eventTrace: EventTrace): void;
50
- updateRecipeGuests(recipeId: string, guests: number, eventTrace: EventTrace): Observable<GroceriesList>;
51
- addEntriesFromPicture(file: File, include?: any[], disableIngredientsMatching?: boolean): Observable<GroceriesList>;
52
- /**
53
- * Will create a temporary list and set it in _list$. The list won't be marked as current and thus
54
- * will not be reused
55
- */
56
- createTemporaryList(): void;
57
- emptyRecipesToRemove(): void;
58
- /**
59
- * save() returns an object that isn't a resource so methods aren't attached, so we have to do a little trick
60
- * @param res result of the save
61
- * @returns correct GroceriesList with the right attributes & methods
62
- */
63
- private afterSave;
64
- private saveList;
65
- private assignList;
66
- static ɵfac: i0.ɵɵFactoryDef<GroceriesListsService, never>;
67
- static ɵprov: i0.ɵɵInjectableDef<GroceriesListsService>;
68
- }
@@ -1,23 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Recipe } from '../_models';
3
- import * as i0 from "@angular/core";
4
- export declare class RecipeEventsService {
5
- private http;
6
- suggestionUrl: string;
7
- ORIGIN_SUGGESTION: string;
8
- ORIGIN_CATALOG: string;
9
- ACTION_PROPOSED: string;
10
- ACTION_SHOWN: string;
11
- ACTION_DISPLAYED: string;
12
- ACTION_ADDED: string;
13
- ACTION_PUSHED: string;
14
- private eventQueue;
15
- private willAlreadyProcess;
16
- private QUEUE_REFRESH_TIME_MS;
17
- constructor(http: HttpClient);
18
- enqueueEvent(recipe: Recipe, action: string): void;
19
- processQueue(): void;
20
- sendEvent(recipe: Recipe, action: string): void;
21
- static ɵfac: i0.ɵɵFactoryDef<RecipeEventsService, never>;
22
- static ɵprov: i0.ɵɵInjectableDef<RecipeEventsService>;
23
- }
@@ -1,5 +0,0 @@
1
- export declare enum Skeleton {
2
- Picture = 0,
3
- Text = 1,
4
- IconWithInfo = 2
5
- }
@@ -1,37 +0,0 @@
1
- import { OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
2
- import { BasketsService, GroceriesListsService, BasketStats, ContextService, SuppliersService } from '../../_services';
3
- import { PointOfSalesService } from '../../_services/point-of-sales.service';
4
- import { PointOfSale } from '../../_models/point-of-sale';
5
- import { AnalyticsService } from '../../_services/analytics.service';
6
- import * as i0 from "@angular/core";
7
- export declare class DrawerComponent implements OnInit, OnDestroy {
8
- private cdr;
9
- private listsService;
10
- private posService;
11
- private basketsService;
12
- private analyticsService;
13
- private context;
14
- private supplierService;
15
- expand: boolean;
16
- recipesCount: number;
17
- jiggle: boolean;
18
- valid: boolean;
19
- loading: boolean;
20
- pos: PointOfSale;
21
- basketStats: BasketStats;
22
- currency: import("rxjs").Observable<string>;
23
- private subscriptions;
24
- constructor(cdr: ChangeDetectorRef, listsService: GroceriesListsService, posService: PointOfSalesService, basketsService: BasketsService, analyticsService: AnalyticsService, context: ContextService, supplierService: SuppliersService);
25
- ngOnInit(): void;
26
- ngOnDestroy(): void;
27
- onKeydownHandler(event: KeyboardEvent): void;
28
- clickout(event: any): void;
29
- toggleExpand(): void;
30
- order(): void;
31
- private show;
32
- private hide;
33
- private doJiggle;
34
- private assessValid;
35
- static ɵfac: i0.ɵɵFactoryDef<DrawerComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDefWithMeta<DrawerComponent, "ng-miam-drawer", never, {}, {}, never, never>;
37
- }
@@ -1,24 +0,0 @@
1
- import { OnInit, ChangeDetectorRef, OnDestroy, EventEmitter } from '@angular/core';
2
- import { PointOfSale } from '../../_models/point-of-sale';
3
- import { BasketCompletion } from '../../_models/basket';
4
- import { BasketsService, GroceriesListsService } from '../../_services';
5
- import * as i0 from "@angular/core";
6
- export declare class PosCardComponent implements OnInit, OnDestroy {
7
- cdr: ChangeDetectorRef;
8
- private listsService;
9
- private basketsService;
10
- pos: PointOfSale;
11
- selected: boolean;
12
- hoverText: string;
13
- select: EventEmitter<PointOfSale>;
14
- completion: BasketCompletion;
15
- gaugeColor: string;
16
- gaugeSize: string;
17
- private subscriptions;
18
- constructor(cdr: ChangeDetectorRef, listsService: GroceriesListsService, basketsService: BasketsService);
19
- ngOnInit(): void;
20
- ngOnDestroy(): void;
21
- private calculateGauge;
22
- static ɵfac: i0.ɵɵFactoryDef<PosCardComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDefWithMeta<PosCardComponent, "ng-miam-pos-card", never, { "pos": "pos"; "selected": "selected"; "hoverText": "hoverText"; }, { "select": "select"; }, never, never>;
24
- }
@@ -1,38 +0,0 @@
1
- import { OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
2
- import { PointOfSalesService } from '../../_services/point-of-sales.service';
3
- import { PointOfSale } from '../../_models/point-of-sale';
4
- import { PosCardComponent } from '../pos-card/pos-card.component';
5
- import { ContextService } from '../../_services/context.service';
6
- import { AnalyticsService } from '../../_services/analytics.service';
7
- import { Icon } from '../../_types/icon.enum';
8
- import * as i0 from "@angular/core";
9
- export declare class PosSelectionComponent implements OnInit, OnDestroy {
10
- private cdr;
11
- private contextService;
12
- posService: PointOfSalesService;
13
- private analyticsService;
14
- blockTitle: string;
15
- selectedPosCard: PosCardComponent;
16
- expand: boolean;
17
- loading: boolean;
18
- replacing: boolean;
19
- address: string;
20
- sorryCaption: string;
21
- selectedPos: PointOfSale;
22
- candidatePos: PointOfSale[];
23
- corsIssues: boolean;
24
- icon: typeof Icon;
25
- private subscriptions;
26
- constructor(cdr: ChangeDetectorRef, contextService: ContextService, posService: PointOfSalesService, analyticsService: AnalyticsService);
27
- ngOnInit(): void;
28
- ngOnDestroy(): void;
29
- toggle(): void;
30
- show(): void;
31
- hide(): void;
32
- startReplace(): void;
33
- replace(pos: PointOfSale): void;
34
- endReplace(): void;
35
- searchAddress(): any;
36
- static ɵfac: i0.ɵɵFactoryDef<PosSelectionComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDefWithMeta<PosSelectionComponent, "ng-miam-pos-selection", never, { "blockTitle": "blockTitle"; }, {}, never, never>;
38
- }
@@ -1,49 +0,0 @@
1
- import { ChangeDetectorRef, OnInit, ElementRef, EventEmitter, AfterViewInit } from '@angular/core';
2
- import { RecipesService, GroceriesListsService, ContextService, RecipeEventsService, UserService } from '../../../_services';
3
- import { AnalyticsService } from '../../../_services/analytics.service';
4
- import { RecipeCardComponent } from '../recipe-card/recipe-card.component';
5
- import { Recipe } from '../../../_models';
6
- import { RecipeCardCtaComponent } from '../recipe-card-cta/recipe-card-cta.component';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * This is an angular component design to be a web component
10
- * that's why we use onPushStrategie with the changeDetetectorRef
11
- * to avoid common issue
12
- * guide -> https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4
13
- * and alsow we use ShadowDom to protect style of our component
14
- * and alsow style of the parent aplication that will use it
15
- * doc -> https://angular.io/api/core/ViewEncapsulation
16
- */
17
- export declare class CatalogRecipeCardComponent extends RecipeCardComponent implements OnInit, AfterViewInit {
18
- cdr: ChangeDetectorRef;
19
- recipeService: RecipesService;
20
- recipeEventsService: RecipeEventsService;
21
- groceriesListsService: GroceriesListsService;
22
- userService: UserService;
23
- contextService: ContextService;
24
- analyticsService: AnalyticsService;
25
- element: ElementRef<HTMLElement>;
26
- private eventsGroupId;
27
- private observer;
28
- displayPricing: boolean;
29
- displayAddedOnPicture: boolean;
30
- addRecipeMode: boolean;
31
- replaceMode: boolean;
32
- actionTriggered: EventEmitter<string>;
33
- removeFromMealsPlanner: EventEmitter<null>;
34
- addToMealsPlanner: EventEmitter<Recipe>;
35
- openCatalog: EventEmitter<null>;
36
- cardType: string;
37
- moreActions: ElementRef<HTMLElement>;
38
- cta: RecipeCardCtaComponent;
39
- actionsOpened: boolean;
40
- constructor(cdr: ChangeDetectorRef, recipeService: RecipesService, recipeEventsService: RecipeEventsService, groceriesListsService: GroceriesListsService, userService: UserService, contextService: ContextService, analyticsService: AnalyticsService, element: ElementRef<HTMLElement>);
41
- ngOnInit(): void;
42
- ngAfterViewInit(): void;
43
- initIntersectionObserver(): void;
44
- updateGuests(count: any): void;
45
- toggleMoreActions(event: any): void;
46
- closeMoreActions(): void;
47
- static ɵfac: i0.ɵɵFactoryDef<CatalogRecipeCardComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDefWithMeta<CatalogRecipeCardComponent, "ng-miam-catalog-recipe-card", never, { "displayPricing": "displayPricing"; "displayAddedOnPicture": "displayAddedOnPicture"; "addRecipeMode": "addRecipeMode"; "replaceMode": "replaceMode"; }, { "actionTriggered": "actionTriggered"; "removeFromMealsPlanner": "removeFromMealsPlanner"; "addToMealsPlanner": "addToMealsPlanner"; "openCatalog": "openCatalog"; }, never, never>;
49
- }
@@ -1,42 +0,0 @@
1
- import { ChangeDetectorRef, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
2
- import { AbstractRecipeCardComponent } from '../../../_components/abstracts/abstract-recipe-card.component';
3
- import { RecipesService, RecipeEventsService, GroceriesListsService, ContextService } from '../../../_services';
4
- import { RecipeCardComponent } from '../recipe-card/recipe-card.component';
5
- import { AnalyticsService } from '../../../_services/analytics.service';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * This is an angular component design to be a web component
9
- * that's why we use onPushStrategie with the changeDetetectorRef
10
- * to avoid common issue
11
- * guide -> https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4
12
- * and alsow we use ShadowDom to protect style of our component
13
- * and alsow style of the parent aplication that will use it
14
- * doc -> https://angular.io/api/core/ViewEncapsulation
15
- */
16
- export declare class SuggestionCardComponent extends AbstractRecipeCardComponent implements OnChanges {
17
- cdr: ChangeDetectorRef;
18
- recipeService: RecipesService;
19
- groceriesListsService: GroceriesListsService;
20
- contextService: ContextService;
21
- protected analyticsService: AnalyticsService;
22
- recipeEventsService: RecipeEventsService;
23
- protected element: ElementRef<HTMLElement>;
24
- randomModeEnable: boolean;
25
- productIds: {
26
- id: string;
27
- hasHighWeight?: boolean;
28
- }[];
29
- isEmpty: boolean;
30
- private eventsGroupId;
31
- protected sendShowEventOnScroll: boolean;
32
- recipeCard: RecipeCardComponent;
33
- constructor(cdr: ChangeDetectorRef, recipeService: RecipesService, groceriesListsService: GroceriesListsService, contextService: ContextService, analyticsService: AnalyticsService, recipeEventsService: RecipeEventsService, element: ElementRef<HTMLElement>);
34
- ngOnChanges(simpleChanges: SimpleChanges): void;
35
- sendShowEvent(): boolean;
36
- guestsChanged(): void;
37
- private loadRecipe;
38
- private fetchRecipes;
39
- private processResults;
40
- static ɵfac: i0.ɵɵFactoryDef<SuggestionCardComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDefWithMeta<SuggestionCardComponent, "ng-miam-suggestion-card", never, { "randomModeEnable": "randomModeEnable"; "productIds": "productIds"; }, {}, never, never>;
42
- }