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,175 +1,254 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
- import { BasketPreviewLine } from '../../../_models/basket-preview-line';
3
- import { Icon } from '../../../_types/icon.enum';
4
- import { BasketsService, SuppliersService } from '../../../_services';
5
- import { map, skipWhile, switchMap } from 'rxjs/operators';
6
- import { AnalyticsService } from '../../../_services/analytics.service';
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { debounceTime, distinctUntilChanged, filter, map, skipWhile, switchMap, take } from 'rxjs/operators';
7
5
  import { EventTracerComponent } from '../../../_components/abstracts/event-tracer.component';
6
+ import { BasketEntry, Ingredient, Recipe } from '../../../_models';
7
+ import { AnalyticsService, BasketsService, SuppliersService, ItemsService } from '../../../_services';
8
+ import { Icon } from '../../../_types/icon.enum';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "../../../_services";
10
- import * as i2 from "../../../_services/analytics.service";
11
- import * as i3 from "../../../_components/icon/icon.component";
11
+ import * as i2 from "../../../_components/icon/icon.component";
12
+ import * as i3 from "@angular/forms";
12
13
  import * as i4 from "@angular/common";
13
- function ReplaceItemComponent_div_23_Template(rf, ctx) { if (rf & 1) {
14
- const _r4 = i0.ɵɵgetCurrentView();
15
- i0.ɵɵelementStart(0, "div", 14);
16
- i0.ɵɵlistener("click", function ReplaceItemComponent_div_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r4); const item_r1 = ctx.$implicit; const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.onSelectItem(item_r1); });
17
- i0.ɵɵelementStart(1, "div", 15);
18
- i0.ɵɵelement(2, "ng-miam-icon", 16);
19
- i0.ɵɵelement(3, "img", 17);
20
- i0.ɵɵelementEnd();
21
- i0.ɵɵelementStart(4, "div", 18);
22
- i0.ɵɵelementStart(5, "div", 19);
23
- i0.ɵɵelementStart(6, "div", 7);
14
+ import * as i5 from "../../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
15
+ function ReplaceItemComponent_div_16_span_20_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "span");
17
+ i0.ɵɵtext(1);
18
+ i0.ɵɵelementEnd();
19
+ } if (rf & 2) {
20
+ const i_r2 = i0.ɵɵnextContext().index;
21
+ i0.ɵɵadvance(1);
22
+ i0.ɵɵtextInterpolate(i_r2 === 0 ? "S\u00E9lectionn\u00E9" : "S\u00E9lectionner");
23
+ } }
24
+ function ReplaceItemComponent_div_16_span_21_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "span");
26
+ i0.ɵɵtext(1, "Ajouter au panier");
27
+ i0.ɵɵelementEnd();
28
+ } }
29
+ const _c2 = function (a0) { return { "selected": a0 }; };
30
+ function ReplaceItemComponent_div_16_Template(rf, ctx) { if (rf & 1) {
31
+ const _r7 = i0.ɵɵgetCurrentView();
32
+ i0.ɵɵelementStart(0, "div", 12);
33
+ i0.ɵɵelementStart(1, "div", 13);
34
+ i0.ɵɵelementStart(2, "div", 14);
35
+ i0.ɵɵelement(3, "img", 15);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(4, "div", 16);
38
+ i0.ɵɵelementStart(5, "div", 17);
39
+ i0.ɵɵelementStart(6, "span", 18);
24
40
  i0.ɵɵtext(7);
25
41
  i0.ɵɵelementEnd();
26
42
  i0.ɵɵelementEnd();
43
+ i0.ɵɵelementStart(8, "div", 19);
44
+ i0.ɵɵelementStart(9, "span", 20);
45
+ i0.ɵɵtext(10);
27
46
  i0.ɵɵelementEnd();
28
- i0.ɵɵelementStart(8, "div", 15);
29
- i0.ɵɵelementStart(9, "div", 8);
30
- i0.ɵɵelementStart(10, "span");
31
- i0.ɵɵtext(11);
32
47
  i0.ɵɵelementEnd();
33
- i0.ɵɵelementStart(12, "span");
48
+ i0.ɵɵelementStart(11, "div", 21);
49
+ i0.ɵɵelementStart(12, "span", 22);
34
50
  i0.ɵɵtext(13);
35
51
  i0.ɵɵelementEnd();
36
- i0.ɵɵelementStart(14, "span");
37
- i0.ɵɵtext(15);
38
- i0.ɵɵpipe(16, "async");
39
52
  i0.ɵɵelementEnd();
40
53
  i0.ɵɵelementEnd();
41
54
  i0.ɵɵelementEnd();
55
+ i0.ɵɵelementStart(14, "div", 23);
56
+ i0.ɵɵelementStart(15, "div", 24);
57
+ i0.ɵɵelementStart(16, "span");
58
+ i0.ɵɵtext(17);
59
+ i0.ɵɵpipe(18, "currency");
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(19, "button", 25);
63
+ i0.ɵɵlistener("click", function ReplaceItemComponent_div_16_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r7); const item_r1 = ctx.$implicit; const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.onSelectItem(item_r1); });
64
+ i0.ɵɵtemplate(20, ReplaceItemComponent_div_16_span_20_Template, 2, 1, "span", 26);
65
+ i0.ɵɵtemplate(21, ReplaceItemComponent_div_16_span_21_Template, 2, 0, "span", 26);
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementEnd();
42
68
  i0.ɵɵelementEnd();
43
69
  } if (rf & 2) {
44
70
  const item_r1 = ctx.$implicit;
71
+ const i_r2 = ctx.index;
45
72
  const ctx_r0 = i0.ɵɵnextContext();
46
- i0.ɵɵadvance(2);
47
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r0.icon.Swap);
48
- i0.ɵɵadvance(1);
49
- i0.ɵɵproperty("src", item_r1 == null ? null : item_r1.attributes == null ? null : item_r1.attributes.image, i0.ɵɵsanitizeUrl);
73
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c2, ctx_r0.basketEntry.selectedItem && !ctx_r0.ignoreSelected && i_r2 === 0));
74
+ i0.ɵɵadvance(3);
75
+ i0.ɵɵproperty("src", item_r1.attributes.image, i0.ɵɵsanitizeUrl);
50
76
  i0.ɵɵadvance(4);
51
- i0.ɵɵtextInterpolate2(" ", item_r1 == null ? null : item_r1.attributes == null ? null : item_r1.attributes.name, " | ", item_r1 == null ? null : item_r1.capacity, " ");
77
+ i0.ɵɵtextInterpolate(item_r1.attributes.brand);
78
+ i0.ɵɵadvance(3);
79
+ i0.ɵɵtextInterpolate(item_r1.attributes.name);
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵtextInterpolate2("", item_r1.capacityVolume, " ", item_r1.capacityUnit, "");
52
82
  i0.ɵɵadvance(4);
53
- i0.ɵɵtextInterpolate1("", ctx_r0.priceIntegerPart(item_r1 == null ? null : item_r1.attributes["unit-price"]), ",");
83
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(18, 10, item_r1.price, item_r1.attributes.currency));
54
84
  i0.ɵɵadvance(2);
55
- i0.ɵɵtextInterpolate(ctx_r0.priceDecimalPart(item_r1 == null ? null : item_r1.attributes["unit-price"]));
56
- i0.ɵɵadvance(2);
57
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 9, ctx_r0.currency), "");
85
+ i0.ɵɵproperty("disabled", ctx_r0.basketEntry.selectedItem && !ctx_r0.ignoreSelected && i_r2 === 0);
86
+ i0.ɵɵadvance(1);
87
+ i0.ɵɵproperty("ngIf", ctx_r0.basketEntry.selectedItem && !ctx_r0.ignoreSelected);
88
+ i0.ɵɵadvance(1);
89
+ i0.ɵɵproperty("ngIf", !ctx_r0.basketEntry.selectedItem || ctx_r0.ignoreSelected);
58
90
  } }
59
91
  export class ReplaceItemComponent extends EventTracerComponent {
60
- constructor(cdr, basketsService, analyticsService, supplierService) {
92
+ constructor(cdr, basketsService, analyticsService, supplierService, itemsService) {
61
93
  super(analyticsService);
62
94
  this.cdr = cdr;
63
95
  this.basketsService = basketsService;
64
96
  this.analyticsService = analyticsService;
65
97
  this.supplierService = supplierService;
98
+ this.itemsService = itemsService;
99
+ this.basketEntry = new BasketEntry();
100
+ this.ignoreSelected = false;
66
101
  this.selected = new EventEmitter();
102
+ this.searchStringChanged = new EventEmitter();
103
+ this.state = 'out';
67
104
  this.icon = Icon;
105
+ this.searchString = '';
106
+ this.searchSubject = new Subject();
107
+ this.itemsList = [];
68
108
  this.currency = this.supplierService.supplier$.pipe(skipWhile(supplier => supplier == null), map(supplier => supplier.currency));
109
+ this.subscriptions = [];
69
110
  }
70
111
  ngOnInit() {
71
- this.initLine();
112
+ this.state = 'in';
72
113
  this.pageview();
114
+ this.setupSearchObservable();
115
+ }
116
+ ngOnDestroy() {
117
+ this.state = 'out';
118
+ this.subscriptions.forEach((sub) => sub.unsubscribe());
119
+ }
120
+ ngOnChanges() {
121
+ this.fetchItems();
73
122
  }
74
123
  onClose() {
75
124
  this.selected.emit();
76
125
  }
77
- currentPath() { return 'replace-item'; }
78
- currentProps() { return { entry_name: this.line.record.entryName }; }
79
- onSelectItem(item) {
80
- this.sendEvent(this.analyticsService.EVENT_ENTRY_REPLACE);
81
- this.line.record.selectItem(item.id);
82
- this.line.record.save().pipe(switchMap(() => this.basketsService.reloadBasket())).subscribe();
83
- this.selected.emit(this.line.id);
126
+ currentPath() {
127
+ return 'replace-item';
84
128
  }
85
- initLine() {
86
- this.currentItem = this.line.record.attributes['basket-entries-items'][0];
87
- this.items = this.line.record.relationships.items.data.filter((item) => item.id === this.currentItem.item_id);
129
+ currentProps() {
130
+ return { entry_name: this.basketEntry.name };
88
131
  }
89
- priceIntegerPart(price) {
90
- const values = price.split('.');
91
- return values[0];
132
+ fetchItems() {
133
+ this.subscriptions.push(this.itemsService.searchForIngredient(this.ingredient.id).pipe(map(response => {
134
+ const items = this.itemsService.newCollection();
135
+ items.fill(response);
136
+ return items.data.filter(item => item.id !== this.basketEntry.selectedItem.id);
137
+ })).subscribe((items) => {
138
+ this.itemsList = [this.basketEntry.selectedItem, ...items];
139
+ this.cdr.detectChanges();
140
+ }));
92
141
  }
93
- /**
94
- * @param price item?.attributes["unit-price"] is a string
95
- * and we wan two decimal (not 0.8 or 0.800)
96
- * @returns first two decimal
97
- */
98
- priceDecimalPart(price) {
99
- const values = price.split('.');
100
- // force 2 decimals
101
- return (values === null || values === void 0 ? void 0 : values.length) === 2 ? (values[1] + '00').slice(0, 2) : '00';
142
+ setupSearchObservable() {
143
+ this.subscriptions.push(this.searchSubject.pipe(debounceTime(200), filter(search => search.length >= 3), distinctUntilChanged(), switchMap(search => this.itemsService.searchForIngredient(this.ingredient.id, search).pipe(map(response => {
144
+ const items = this.itemsService.newCollection();
145
+ items.fill(response);
146
+ return items.data.filter(item => item.id !== this.basketEntry.selectedItem.id);
147
+ })))).subscribe((items) => {
148
+ this.itemsList = [this.basketEntry.selectedItem, ...items];
149
+ this.cdr.detectChanges();
150
+ }));
102
151
  }
103
- }
104
- ReplaceItemComponent.ɵfac = function ReplaceItemComponent_Factory(t) { return new (t || ReplaceItemComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.BasketsService), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i1.SuppliersService)); };
105
- ReplaceItemComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReplaceItemComponent, selectors: [["ng-miam-replace-item"]], inputs: { line: "line" }, outputs: { selected: "selected" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 24, vars: 10, consts: function () { var i18n_0; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
106
- const MSG_EXTERNAL_8168765646794661881$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_1 = goog.getMsg("Retour");
107
- i18n_0 = MSG_EXTERNAL_8168765646794661881$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_1;
152
+ onSearchKeydown(event) {
153
+ if (event.key === ' ') {
154
+ event.preventDefault();
155
+ this.searchString += ' ';
156
+ }
157
+ this.onSearchInputChange();
108
158
  }
109
- else {
110
- i18n_0 = $localize `:␟7582755e46cff3b0d29465ce750a51c9b841ae9f␟8168765646794661881:Retour`;
111
- } var i18n_2; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
112
- const MSG_EXTERNAL_3678412541193319304$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_3 = goog.getMsg("Remplacer cet article par :");
113
- i18n_2 = MSG_EXTERNAL_3678412541193319304$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_3;
159
+ onSearchInputChange() {
160
+ this.searchSubject.next(this.searchString);
161
+ }
162
+ onSelectItem(item) {
163
+ this.sendEvent(this.analyticsService.EVENT_ENTRY_REPLACE);
164
+ // TODO: Distinguish between the case where this.basketEntry.id === '-1' and the else case, and make a distinct request in the else block.
165
+ if (this.basketEntry.selectedItem) {
166
+ this.basketEntry.removeRelationship('selected-item', this.basketEntry.selectedItem.id);
167
+ }
168
+ this.basketEntry.addRelationship(item, 'selected-item');
169
+ this.addToBasket();
170
+ this.selected.emit(this.basketEntry.id);
171
+ }
172
+ addToBasket() {
173
+ this.subscriptions.push(this.basketsService.recipeIsInBasket(this.recipe.id)
174
+ .pipe(take(1))
175
+ .subscribe(recipeIsInBasket => {
176
+ if (!recipeIsInBasket) {
177
+ this.basketsService.addRecipesToBasket([this.recipe.id], this.recipe.modifiedGuests, this.eventTrace(), false);
178
+ }
179
+ this.basketsService.addIngredientsToBasket(this.recipe.id, [{ ingredientId: this.ingredient.id, entry: this.basketEntry }], this.eventTrace());
180
+ }));
181
+ this.cdr.detectChanges();
182
+ }
183
+ }
184
+ ReplaceItemComponent.ɵfac = function ReplaceItemComponent_Factory(t) { return new (t || ReplaceItemComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.BasketsService), i0.ɵɵdirectiveInject(i1.AnalyticsService), i0.ɵɵdirectiveInject(i1.SuppliersService), i0.ɵɵdirectiveInject(i1.ItemsService)); };
185
+ ReplaceItemComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReplaceItemComponent, selectors: [["ng-miam-replace-item"]], hostVars: 1, hostBindings: function ReplaceItemComponent_HostBindings(rf, ctx) { if (rf & 2) {
186
+ i0.ɵɵsyntheticHostProperty("@slide", ctx.state);
187
+ } }, inputs: { basketEntry: "basketEntry", recipe: "recipe", ignoreSelected: "ignoreSelected", ingredient: "ingredient" }, outputs: { selected: "selected", searchStringChanged: "searchStringChanged" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 17, vars: 10, consts: function () { var i18n_0; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
188
+ const MSG_EXTERNAL_7333666804087812952$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_1 = goog.getMsg("{$interpolation}", { "interpolation": "\uFFFD0\uFFFD" });
189
+ i18n_0 = MSG_EXTERNAL_7333666804087812952$$LIB__WEB_COMPONENTS_BASKET_PREVIEW_REPLACE_ITEM_REPLACE_ITEM_COMPONENT_TS_1;
114
190
  }
115
191
  else {
116
- i18n_2 = $localize `:␟91e9ea6729d4b4c5b7f668863ce79497de831d633678412541193319304:Remplacer cet article par :`;
117
- } return [[1, "miam-replace-item"], [1, "m-button-primary", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], i18n_0, [1, "miam-replace-item__selected"], ["alt", "Image non disponible", 1, "miam-replace-item__selected__picture", 3, "src"], [1, "miam-replace-item__selected__column"], [1, "miam-replace-item__description"], [1, "miam-replace-item__price"], [1, "miam-replace-item__choices"], [1, "miam-replace-item__choices__action"], i18n_2, [1, "miam-replace-item__choices__list"], ["class", "miam-replace-item__choice", 3, "click", 4, "ngFor", "ngForOf"], [1, "miam-replace-item__choice", 3, "click"], [1, "miam-replace-item__choice__column"], [1, "miam-replace-item__choice__swap", 3, "height", "width", "iconName"], [3, "src"], [1, "miam-replace-item__choice__column", "fill"], [1, "miam-replace-item__choice__content"]]; }, template: function ReplaceItemComponent_Template(rf, ctx) { if (rf & 1) {
192
+ i18n_0 = $localize `:␟e911715b1472a6991e852d6899b24f378b3c8e577333666804087812952:${"\uFFFD0\uFFFD"}:INTERPOLATION:`;
193
+ } return [[1, "miam-replace-item__header", "miam-ds-text", "weight-xxl"], [1, "miam-ds-button", "ghost", "square", 3, "click"], ["width", "24", "height", "24", "primaryColor", "var(--miam-ds-color-primary-500)", 3, "iconName"], i18n_0, [1, "miam-replace-item__searchbar"], ["width", "20", "height", "20", 3, "iconName"], ["type", "text", "placeholder", "Rechercher un produit de substitution", 1, "miam-replace-item__searchbar__input", "miam-ds-text", "size-m", "weight-l", 3, "ngModel", "ngModelChange", "keydown"], [1, "miam-replace-item__product-banner"], [1, "miam-replace-item__banner-product-name", "miam-ds-text", "size-s"], [1, "miam-replace-item__banner-quantity", "miam-ds-text", "weight-xxl"], [1, "miam-replace-item__product-list"], ["class", "miam-replace-item__product-item", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-replace-item__product-item", 3, "ngClass"], [1, "miam-replace-item__card-upper-section"], [1, "miam-replace-item__product-image-container"], ["alt", "product to replace", 1, "miam-replace-item__product-image", 3, "src"], [1, "miam-replace-item__product-info"], [1, "miam-replace-item__product-brand", "miam-ds-text", "size-xs", "weight-xl"], [1, "miam-replace-item__product-brand-text"], [1, "miam-replace-item__product-name", "miam-ds-text", "size-xs"], [1, "miam-replace-item__product-name-text"], [1, "miam-ds-badge"], [1, "miam-replace-item__product-quantity", "miam-ds-text", "size-xs"], [1, "miam-replace-item__card-lower-section"], [1, "miam-replace-item__product-price", "miam-ds-text", "weight-xxl"], [1, "miam-replace-item__cta", "miam-ds-button", "small", "primary", 3, "disabled", "click"], [4, "ngIf"]]; }, template: function ReplaceItemComponent_Template(rf, ctx) { if (rf & 1) {
118
194
  i0.ɵɵelementStart(0, "div", 0);
119
195
  i0.ɵɵelementStart(1, "button", 1);
120
196
  i0.ɵɵlistener("click", function ReplaceItemComponent_Template_button_click_1_listener() { return ctx.onClose(); });
121
197
  i0.ɵɵelement(2, "ng-miam-icon", 2);
198
+ i0.ɵɵelementEnd();
122
199
  i0.ɵɵelementStart(3, "span");
123
200
  i0.ɵɵi18n(4, 3);
124
201
  i0.ɵɵelementEnd();
125
202
  i0.ɵɵelementEnd();
126
203
  i0.ɵɵelementStart(5, "div", 4);
127
- i0.ɵɵelement(6, "img", 5);
128
- i0.ɵɵelementStart(7, "div", 6);
129
- i0.ɵɵelementStart(8, "div", 7);
130
- i0.ɵɵtext(9);
131
- i0.ɵɵelementEnd();
132
- i0.ɵɵelementStart(10, "div", 8);
133
- i0.ɵɵelementStart(11, "span");
134
- i0.ɵɵtext(12);
135
- i0.ɵɵelementEnd();
136
- i0.ɵɵelementStart(13, "span");
137
- i0.ɵɵtext(14);
138
- i0.ɵɵelementEnd();
139
- i0.ɵɵelementStart(15, "span");
140
- i0.ɵɵtext(16);
141
- i0.ɵɵpipe(17, "async");
204
+ i0.ɵɵelement(6, "ng-miam-icon", 5);
205
+ i0.ɵɵelementStart(7, "input", 6);
206
+ i0.ɵɵlistener("ngModelChange", function ReplaceItemComponent_Template_input_ngModelChange_7_listener($event) { return ctx.searchString = $event; })("keydown", function ReplaceItemComponent_Template_input_keydown_7_listener($event) { return ctx.onSearchKeydown($event); });
142
207
  i0.ɵɵelementEnd();
143
208
  i0.ɵɵelementEnd();
209
+ i0.ɵɵelementStart(8, "div", 7);
210
+ i0.ɵɵelementStart(9, "span", 8);
211
+ i0.ɵɵelementStart(10, "span");
212
+ i0.ɵɵtext(11);
213
+ i0.ɵɵpipe(12, "capitalizeFirstLetter");
144
214
  i0.ɵɵelementEnd();
215
+ i0.ɵɵelementStart(13, "span", 9);
216
+ i0.ɵɵtext(14);
145
217
  i0.ɵɵelementEnd();
146
- i0.ɵɵelementStart(18, "div", 9);
147
- i0.ɵɵelementStart(19, "div", 10);
148
- i0.ɵɵelementStart(20, "div");
149
- i0.ɵɵi18n(21, 11);
150
- i0.ɵɵelementEnd();
151
- i0.ɵɵelementEnd();
152
- i0.ɵɵelementStart(22, "div", 12);
153
- i0.ɵɵtemplate(23, ReplaceItemComponent_div_23_Template, 17, 11, "div", 13);
154
218
  i0.ɵɵelementEnd();
155
219
  i0.ɵɵelementEnd();
220
+ i0.ɵɵelementStart(15, "div", 10);
221
+ i0.ɵɵtemplate(16, ReplaceItemComponent_div_16_Template, 22, 15, "div", 11);
156
222
  i0.ɵɵelementEnd();
157
223
  } if (rf & 2) {
158
224
  i0.ɵɵadvance(2);
159
225
  i0.ɵɵproperty("iconName", ctx.icon.ChevronDown);
226
+ i0.ɵɵadvance(2);
227
+ i0.ɵɵi18nExp(ctx.basketEntry.selectedItem && !ctx.ignoreSelected ? "Remplacer un produit" : "Ajouter un produit");
228
+ i0.ɵɵi18nApply(4);
229
+ i0.ɵɵadvance(2);
230
+ i0.ɵɵproperty("iconName", ctx.icon.Search);
231
+ i0.ɵɵadvance(1);
232
+ i0.ɵɵproperty("ngModel", ctx.searchString);
160
233
  i0.ɵɵadvance(4);
161
- i0.ɵɵproperty("src", ctx.line == null ? null : ctx.line.record == null ? null : ctx.line.record.selectedItem == null ? null : ctx.line.record.selectedItem.attributes == null ? null : ctx.line.record.selectedItem.attributes.image, i0.ɵɵsanitizeUrl);
234
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(12, 8, ctx.basketEntry.name), " :");
162
235
  i0.ɵɵadvance(3);
163
- i0.ɵɵtextInterpolate2(" ", ctx.line == null ? null : ctx.line.record == null ? null : ctx.line.record.selectedItem.attributes.name, " | ", ctx.line == null ? null : ctx.line.record == null ? null : ctx.line.record.selectedItem.capacity, " ");
164
- i0.ɵɵadvance(3);
165
- i0.ɵɵtextInterpolate1("", ctx.priceIntegerPart(ctx.line == null ? null : ctx.line.price), ",");
166
- i0.ɵɵadvance(2);
167
- i0.ɵɵtextInterpolate(ctx.priceDecimalPart(ctx.line == null ? null : ctx.line.price));
236
+ i0.ɵɵtextInterpolate2(" ", ctx.ingredient.quantity, " ", ctx.ingredient.attributes.unit, " ");
168
237
  i0.ɵɵadvance(2);
169
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 8, ctx.currency), "");
170
- i0.ɵɵadvance(7);
171
- i0.ɵɵproperty("ngForOf", ctx.line == null ? null : ctx.line.record == null ? null : ctx.line.record.candidateItems);
172
- } }, directives: [i3.IconComponent, i4.NgForOf], pipes: [i4.AsyncPipe], styles: [".miam-replace-item{background:var(--m-color-white);height:100%;width:100%}.miam-replace-item button ng-miam-icon{height:16px;margin-left:0;transform:rotate(90deg)}.miam-replace-item button ng-miam-icon svg path:first-of-type{fill:none}.miam-replace-item .miam-replace-item__selected{align-items:center;border:1px solid var(--m-color-primary);border-radius:16px;display:flex;margin:16px;padding:16px}.miam-replace-item .miam-replace-item__selected .miam-replace-item__selected__picture{height:70px;margin:8px}.miam-replace-item .miam-replace-item__selected .miam-replace-item__selected__column{display:flex;flex-direction:column;padding:10px;width:100%}.miam-replace-item .miam-replace-item__selected .miam-replace-item__selected__column .miam-replace-item__description{text-align:left}.miam-replace-item .miam-replace-item__choices{display:flex;flex-direction:column;margin:auto;min-width:100%;padding-bottom:80px;position:relative;width:auto}@media (max-width:475px){.miam-replace-item .miam-replace-item__choices{min-width:unset}}.miam-replace-item .miam-replace-item__choices ::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-replace-item .miam-replace-item__choices ::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-replace-item .miam-replace-item__choices ::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__action{align-items:center;display:flex;justify-content:space-between;top:0}@media (max-width:475px){.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__action{margin-left:16px}}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__action div{font-size:16px;font-weight:700}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__action .miam-replace-item__choices__close{border:none;padding:0}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list{display:flex;flex-wrap:wrap;gap:16px;padding:16px}@media (max-width:475px){.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list{display:flex;gap:0;justify-content:space-between;margin:auto;padding:0;width:90vw}}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice{-webkit-tap-highlight-color:transparent;border:1px solid var(--m-color-hairlines);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:column;width:160px}@media (max-width:475px){.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice{margin-top:8px;width:40vw}}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__column{align-items:center;display:inline-flex;flex-direction:column;gap:8px;margin:8px}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__column.fill{flex:1}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__column .miam-replace-item__choice__content{align-items:center;display:flex;flex-direction:column}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__column img{-o-object-fit:cover;border-radius:var(--m-border-radius);height:50px;object-fit:cover;width:50px}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__swap{background-color:var(--m-color-secondary);border:1px solid var(--m-color-secondary);border-radius:16px;padding:4px;transition:var(--m-default-transition)}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice .miam-replace-item__choice__swap .icon-container svg{fill:var(--m-color-white)}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice:hover{background-color:var(--m-color-white)}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice:hover .miam-replace-item__choice__swap{background-color:#fff;color:var(--m-color-secondary);transform:scale(1.1)}.miam-replace-item .miam-replace-item__choices .miam-replace-item__choices__list .miam-replace-item__choice:hover .miam-replace-item__choice__swap .icon-container svg{fill:var(--m-color-secondary)}.miam-replace-item .miam-replace-item__title{display:inline-block;font-size:16px;font-weight:700;white-space:normal}.miam-replace-item .miam-replace-item__title:first-letter{text-transform:capitalize}.miam-replace-item .miam-replace-item__description{font-size:14px;text-align:center;white-space:normal}.miam-replace-item .miam-replace-item__price{font-size:20px;font-weight:700;text-align:right}"], encapsulation: 2, changeDetection: 0 });
238
+ i0.ɵɵproperty("ngForOf", ctx.itemsList);
239
+ } }, directives: [i2.IconComponent, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.NgForOf, i4.NgClass, i4.NgIf], pipes: [i5.CapitalizeFirstLetterPipe, i4.CurrencyPipe], styles: ["ng-miam-replace-item{display:block}.miam-replace-item__header{align-items:center;background-color:var(--miam-ds-color-neutral-white,#fff);border-bottom:1px solid var(--miam-ds-color-neutral-200,#d9dde1);display:flex;flex-shrink:0;height:80px;justify-content:center;padding:0 16px;position:relative;width:100%}@media (max-width:1024px){.miam-replace-item__header{height:48px}}.miam-replace-item__header .miam-ds-button.ghost.square{left:16px;position:absolute}.miam-replace-item__header .miam-ds-button.ghost.square ng-miam-icon{transform:rotate(90deg)}.miam-replace-item__searchbar{align-items:center;background:var(--miam-ds-color-neutral-white);border:1px solid var(--miam-ds-color-neutral-200);border-radius:6px;display:flex;font-size:16px;gap:8px;margin:12px 24px;padding:12px 8px}.miam-replace-item__searchbar .miam-replace-item__searchbar__input{background:transparent;border:transparent;flex:1;outline:none!important}.miam-replace-item__product-banner{align-items:center;background:var(--miam-ds-color-primary-100,#e4eaec);border-radius:6px;display:flex;flex:1;justify-content:center;margin:16px 24px;padding:16px 8px;text-align:center}@media (max-width:1024px){.miam-replace-item__product-banner{margin:16px 16px 8px}}.miam-replace-item__product-list{display:grid;grid-gap:0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.miam-replace-item__product-list .miam-replace-item__product-item{border-bottom:1px solid var(--miam-ds-color-neutral-200,#d9dde1);border-right:1px solid var(--miam-ds-color-neutral-200,#d9dde1);display:flex;flex-direction:column;gap:8px;padding:16px}.miam-replace-item__product-list .miam-replace-item__product-item.selected{background:var(--miam-ds-color-primary-50,#f0f3f4)}.miam-replace-item__product-list .miam-replace-item__card-upper-section{align-items:center;display:flex;gap:16px}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-image-container{flex-shrink:0;height:96px;width:96px}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-image-container .miam-replace-item__product-image{height:100%;width:100%}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-info{flex:1}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-brand{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-brand-text{text-transform:uppercase}.miam-replace-item__product-list .miam-replace-item__card-upper-section .miam-replace-item__product-name{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis}.miam-replace-item__product-list .miam-replace-item__card-lower-section{align-items:center;display:flex;justify-content:space-between}.miam-replace-item__product-list .miam-replace-item__card-lower-section .miam-replace-item__product-price{color:var(--miam-ds-color-primary,#24748f)}"], encapsulation: 2, data: { animation: [
240
+ trigger('slide', [
241
+ state('in', style({ transform: 'translateX(0)' })),
242
+ state('out', style({ transform: 'translateX(100%)' })),
243
+ transition(':enter', [
244
+ style({ transform: 'translateX(100%)' }),
245
+ animate('300ms ease-in-out')
246
+ ]),
247
+ transition(':leave', [
248
+ animate('300ms ease-in-out', style({ transform: 'translateX(100%) ' }))
249
+ ])
250
+ ])
251
+ ] }, changeDetection: 0 });
173
252
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ReplaceItemComponent, [{
174
253
  type: Component,
175
254
  args: [{
@@ -177,11 +256,35 @@ ReplaceItemComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReplaceItemComponent
177
256
  templateUrl: './replace-item.component.html',
178
257
  styleUrls: ['./replace-item.component.scss'],
179
258
  encapsulation: ViewEncapsulation.None,
180
- changeDetection: ChangeDetectionStrategy.OnPush
259
+ changeDetection: ChangeDetectionStrategy.OnPush,
260
+ animations: [
261
+ trigger('slide', [
262
+ state('in', style({ transform: 'translateX(0)' })),
263
+ state('out', style({ transform: 'translateX(100%)' })),
264
+ transition(':enter', [
265
+ style({ transform: 'translateX(100%)' }),
266
+ animate('300ms ease-in-out')
267
+ ]),
268
+ transition(':leave', [
269
+ animate('300ms ease-in-out', style({ transform: 'translateX(100%) ' }))
270
+ ])
271
+ ])
272
+ ]
181
273
  }]
182
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.BasketsService }, { type: i2.AnalyticsService }, { type: i1.SuppliersService }]; }, { line: [{
274
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.BasketsService }, { type: i1.AnalyticsService }, { type: i1.SuppliersService }, { type: i1.ItemsService }]; }, { basketEntry: [{
275
+ type: Input
276
+ }], recipe: [{
277
+ type: Input
278
+ }], ignoreSelected: [{
279
+ type: Input
280
+ }], ingredient: [{
183
281
  type: Input
184
282
  }], selected: [{
185
283
  type: Output
284
+ }], searchStringChanged: [{
285
+ type: Output
286
+ }], state: [{
287
+ type: HostBinding,
288
+ args: ['@slide']
186
289
  }] }); })();
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL2Jhc2tldC1wcmV2aWV3L3JlcGxhY2UtaXRlbS9yZXBsYWNlLWl0ZW0uY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9yZXBsYWNlLWl0ZW0vcmVwbGFjZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQ2pHLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7OztJQ2dCdkYsK0JBQ0U7SUFEc0csOE5BQTRCO0lBQ2xJLCtCQUNFO0lBQUEsbUNBS2E7SUFDYiwwQkFDRjtJQUFBLGlCQUFNO0lBQ04sK0JBQ0U7SUFBQSwrQkFDRTtJQUFBLDhCQUNHO0lBQUEsWUFDSDtJQUFBLGlCQUFNO0lBQ1IsaUJBQU07SUFDUixpQkFBTTtJQUNOLCtCQUNFO0lBQUEsOEJBQ0U7SUFBQSw2QkFBTTtJQUFBLGFBQXVE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RyxlQUVGO1FBRkUsaVBBRUY7UUFFUSxlQUFvQztRQUFwQyw4RkFBb0M7UUFDcEMsZUFBbUM7UUFBbkMsb0ZBQW1DO1FBQ2xDLGVBQXFCO1FBQXJCLG1FQUFxQjtRQVNTLGVBQWdFO1FBQWhFLG1IQUFnRTs7a0REUGhHLG9CQUFvQjtjQVBoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDsrSkFFVSxJQUFJO2tCQUFaLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNrZXRQcmV2aWV3TGluZSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvYmFza2V0LXByZXZpZXctbGluZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscy9pdGVtJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IEJhc2tldHNTZXJ2aWNlLCBTdXBwbGllcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlLCBDdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50VHJhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2NvbXBvbmVudHMvYWJzdHJhY3RzL2V2ZW50LXRyYWNlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlcGxhY2UtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBsYWNlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBsYWNlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVwbGFjZUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFdmVudFRyYWNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxpbmU6IEJhc2tldFByZXZpZXdMaW5lO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgaXRlbXM6IEFycmF5PEl0ZW0+O1xuICBwdWJsaWMgY3VycmVudEl0ZW06IGFueTtcbiAgcHVibGljIGljb24gPSBJY29uO1xuICBjdXJyZW5jeSA9IHRoaXMuc3VwcGxpZXJTZXJ2aWNlLnN1cHBsaWVyJC5waXBlKFxuICAgIHNraXBXaGlsZSggc3VwcGxpZXIgPT4gc3VwcGxpZXIgPT0gbnVsbCksXG4gICAgbWFwKHN1cHBsaWVyID0+IHN1cHBsaWVyLmN1cnJlbmN5KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHN1cHBsaWVyU2VydmljZTogU3VwcGxpZXJzU2VydmljZVxuICApIHsgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRMaW5lKCk7XG4gICAgdGhpcy5wYWdldmlldygpO1xuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7IHJldHVybiAncmVwbGFjZS1pdGVtJzsgfVxuXG4gIHByb3RlY3RlZCBjdXJyZW50UHJvcHMoKTogQ3VzdG9tUHJvcGVydGllcyB7IHJldHVybiB7IGVudHJ5X25hbWU6IHRoaXMubGluZS5yZWNvcmQuZW50cnlOYW1lIH07IH1cblxuICBwdWJsaWMgb25TZWxlY3RJdGVtKGl0ZW06IEl0ZW0pIHtcbiAgICB0aGlzLnNlbmRFdmVudCh0aGlzLmFuYWx5dGljc1NlcnZpY2UuRVZFTlRfRU5UUllfUkVQTEFDRSk7XG4gICAgdGhpcy5saW5lLnJlY29yZC5zZWxlY3RJdGVtKGl0ZW0uaWQpO1xuICAgIHRoaXMubGluZS5yZWNvcmQuc2F2ZSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5yZWxvYWRCYXNrZXQoKSlcbiAgICApLnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLmxpbmUuaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TGluZSgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRJdGVtID0gdGhpcy5saW5lLnJlY29yZC5hdHRyaWJ1dGVzWydiYXNrZXQtZW50cmllcy1pdGVtcyddWzBdO1xuICAgIHRoaXMuaXRlbXMgPSB0aGlzLmxpbmUucmVjb3JkLnJlbGF0aW9uc2hpcHMuaXRlbXMuZGF0YS5maWx0ZXIoKGl0ZW06IEl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMuY3VycmVudEl0ZW0uaXRlbV9pZCk7XG4gIH1cblxuICBwcmljZUludGVnZXJQYXJ0KHByaWNlOiBzdHJpbmcgKXtcbiAgICBjb25zdCB2YWx1ZXMgPSBwcmljZS5zcGxpdCgnLicpO1xuICAgIHJldHVybiB2YWx1ZXNbMF07XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHByaWNlIGl0ZW0/LmF0dHJpYnV0ZXNbXCJ1bml0LXByaWNlXCJdIGlzIGEgc3RyaW5nXG4gICAqIGFuZCB3ZSB3YW4gdHdvIGRlY2ltYWwgKG5vdCAwLjggb3IgMC44MDApXG4gICAqIEByZXR1cm5zIGZpcnN0IHR3byBkZWNpbWFsXG4gICAqL1xuICBwcmljZURlY2ltYWxQYXJ0KHByaWNlOiBzdHJpbmcpe1xuICAgIGNvbnN0IHZhbHVlcyA9IHByaWNlLnNwbGl0KCcuJyk7XG4gICAgLy8gZm9yY2UgMiBkZWNpbWFsc1xuICAgIHJldHVybiB2YWx1ZXM/Lmxlbmd0aCA9PT0gMiA/ICh2YWx1ZXNbMV0gKyAnMDAnKS5zbGljZSgwLCAyKSA6ICcwMCc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbVwiPlxuICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tcHJpbWFyeVwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09J2ljb24uQ2hldnJvbkRvd24nIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgPjwvbmctbWlhbS1pY29uPlxuICAgIDxzcGFuIGkxOG4+UmV0b3VyPC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19zZWxlY3RlZFwiPlxuICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fc2VsZWN0ZWRfX3BpY3R1cmVcIiBbc3JjXT1cImxpbmU/LnJlY29yZD8uc2VsZWN0ZWRJdGVtPy5hdHRyaWJ1dGVzPy5pbWFnZVwiIGFsdD1cIkltYWdlIG5vbiBkaXNwb25pYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19zZWxlY3RlZF9fY29sdW1uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgIHt7IGxpbmU/LnJlY29yZD8uc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXMubmFtZSB9fSB8XG4gICAgICAgICB7eyBsaW5lPy5yZWNvcmQ/LnNlbGVjdGVkSXRlbS5jYXBhY2l0eSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3ByaWNlXCI+XG4gICAgICAgIDxzcGFuPnt7IHByaWNlSW50ZWdlclBhcnQobGluZT8ucHJpY2UpIH19LDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgcHJpY2VEZWNpbWFsUGFydChsaW5lPy5wcmljZSkgfX08L3NwYW4+ICAgXG4gICAgICAgIDxzcGFuPiB7e2N1cnJlbmN5IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlc19fYWN0aW9uXCI+XG4gICAgICA8ZGl2IGkxOG4+UmVtcGxhY2VyIGNldCBhcnRpY2xlIHBhciA6PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19jaG9pY2VzX19saXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2Nob2ljZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpbmU/LnJlY29yZD8uY2FuZGlkYXRlSXRlbXMsIGxldCBpID0gaW5kZXhcIiAoY2xpY2spPVwib25TZWxlY3RJdGVtKGl0ZW0pXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlX19jb2x1bW5cIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICAgIGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2Nob2ljZV9fc3dhcFwiIFxuICAgICAgICAgIFtoZWlnaHRdPScxNicgXG4gICAgICAgICAgW3dpZHRoXT0nMTYnIFxuICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uU3dhcCcgPlxuICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbT8uYXR0cmlidXRlcz8uaW1hZ2VcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlX19jb2x1bW4gZmlsbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlX19jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICB7eyBpdGVtPy5hdHRyaWJ1dGVzPy5uYW1lIH19IHwge3tpdGVtPy5jYXBhY2l0eX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fY2hvaWNlX19jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3ByaWNlXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBwcmljZUludGVnZXJQYXJ0KGl0ZW0/LmF0dHJpYnV0ZXNbXCJ1bml0LXByaWNlXCJdKSB9fSw8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBwcmljZURlY2ltYWxQYXJ0KGl0ZW0/LmF0dHJpYnV0ZXNbXCJ1bml0LXByaWNlXCJdKSB9fTwvc3Bhbj4gICBcbiAgICAgICAgICAgIDxzcGFuPiB7e2N1cnJlbmN5IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL2Jhc2tldC1wcmV2aWV3L3JlcGxhY2UtaXRlbS9yZXBsYWNlLWl0ZW0uY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9yZXBsYWNlLWl0ZW0vcmVwbGFjZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQVEsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0lDcUR6Qyw0QkFBMEQ7SUFB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Q0Y7MExBRVUsV0FBVztrQkFBbkIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksUUFBUTtrQkFBakIsTUFBTTtZQUNHLG1CQUFtQjtrQkFBNUIsTUFBTTtZQUNnQixLQUFLO2tCQUEzQixXQUFXO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSwgSW5ncmVkaWVudCwgSXRlbSwgUmVjaXBlIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlLCBCYXNrZXRzU2VydmljZSwgU3VwcGxpZXJzU2VydmljZSwgSXRlbXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvZXZlbnQtdHJhY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlcGxhY2UtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBsYWNlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBsYWNlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZScsIFtcbiAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pKSxcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ30pLFxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluLW91dCcpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSAnIH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlcGxhY2VJdGVtQ29tcG9uZW50IGV4dGVuZHMgRXZlbnRUcmFjZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgYmFza2V0RW50cnk6IEJhc2tldEVudHJ5ID0gbmV3IEJhc2tldEVudHJ5KCk7XG4gIEBJbnB1dCgpIHJlY2lwZTogUmVjaXBlO1xuICBASW5wdXQoKSBpZ25vcmVTZWxlY3RlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBpbmdyZWRpZW50OiBJbmdyZWRpZW50O1xuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaFN0cmluZ0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdAc2xpZGUnKSBzdGF0ZSA9ICdvdXQnO1xuXG4gIGljb24gPSBJY29uO1xuICBzZWFyY2hTdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBpdGVtc0xpc3Q6IEl0ZW1bXSA9IFtdO1xuICBjdXJyZW5jeSA9IHRoaXMuc3VwcGxpZXJTZXJ2aWNlLnN1cHBsaWVyJC5waXBlKFxuICAgIHNraXBXaGlsZShzdXBwbGllciA9PiBzdXBwbGllciA9PSBudWxsKSxcbiAgICBtYXAoc3VwcGxpZXIgPT4gc3VwcGxpZXIuY3VycmVuY3kpXG4gICk7XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdXBwbGllclNlcnZpY2U6IFN1cHBsaWVyc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpdGVtc1NlcnZpY2U6IEl0ZW1zU2VydmljZVxuICApIHtcbiAgICBzdXBlcihhbmFseXRpY3NTZXJ2aWNlKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnaW4nO1xuICAgIHRoaXMucGFnZXZpZXcoKTtcbiAgICB0aGlzLnNldHVwU2VhcmNoT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvdXQnO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaEl0ZW1zKCk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgY3VycmVudFBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3JlcGxhY2UtaXRlbSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3VycmVudFByb3BzKCk6IEN1c3RvbVByb3BlcnRpZXMge1xuICAgIHJldHVybiB7IGVudHJ5X25hbWU6IHRoaXMuYmFza2V0RW50cnkubmFtZSB9O1xuICB9XG5cbiAgZmV0Y2hJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuaXRlbXNTZXJ2aWNlLnNlYXJjaEZvckluZ3JlZGllbnQodGhpcy5pbmdyZWRpZW50LmlkKS5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc1NlcnZpY2UubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICAgIGl0ZW1zLmZpbGwocmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiBpdGVtcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IHRoaXMuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLmlkKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAoaXRlbXM6IEl0ZW1bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXNMaXN0ID0gW3RoaXMuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLCAuLi5pdGVtc107XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNldHVwU2VhcmNoT2JzZXJ2YWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuc2VhcmNoU3ViamVjdC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgZmlsdGVyKHNlYXJjaCA9PiBzZWFyY2gubGVuZ3RoID49IDMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VhcmNoID0+XG4gICAgICAgICAgdGhpcy5pdGVtc1NlcnZpY2Uuc2VhcmNoRm9ySW5ncmVkaWVudCh0aGlzLmluZ3JlZGllbnQuaWQsIHNlYXJjaCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc1NlcnZpY2UubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICAgICAgICBpdGVtcy5maWxsKHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gdGhpcy5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAoaXRlbXM6IEl0ZW1bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXNMaXN0ID0gW3RoaXMuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLCAuLi5pdGVtc107XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG9uU2VhcmNoS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nICs9ICcgJztcbiAgICB9XG4gICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XG4gIH1cblxuICBvblNlYXJjaElucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoU3ViamVjdC5uZXh0KHRoaXMuc2VhcmNoU3RyaW5nKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpdGVtOiBJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kRXZlbnQodGhpcy5hbmFseXRpY3NTZXJ2aWNlLkVWRU5UX0VOVFJZX1JFUExBQ0UpO1xuICAgIC8vIFRPRE86IERpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGNhc2Ugd2hlcmUgdGhpcy5iYXNrZXRFbnRyeS5pZCA9PT0gJy0xJyBhbmQgdGhlIGVsc2UgY2FzZSwgYW5kIG1ha2UgYSBkaXN0aW5jdCByZXF1ZXN0IGluIHRoZSBlbHNlIGJsb2NrLlxuICAgIGlmICh0aGlzLmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbSkge1xuICAgICAgdGhpcy5iYXNrZXRFbnRyeS5yZW1vdmVSZWxhdGlvbnNoaXAoJ3NlbGVjdGVkLWl0ZW0nLCB0aGlzLmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5pZCk7XG4gICAgfVxuICAgIHRoaXMuYmFza2V0RW50cnkuYWRkUmVsYXRpb25zaGlwKGl0ZW0sICdzZWxlY3RlZC1pdGVtJyk7XG4gICAgdGhpcy5hZGRUb0Jhc2tldCgpO1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLmJhc2tldEVudHJ5LmlkKTtcbiAgfVxuXG4gIGFkZFRvQmFza2V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVJc0luQmFza2V0KHRoaXMucmVjaXBlLmlkKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKHJlY2lwZUlzSW5CYXNrZXQgPT4ge1xuICAgICAgICAgIGlmICghcmVjaXBlSXNJbkJhc2tldCkge1xuICAgICAgICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5hZGRSZWNpcGVzVG9CYXNrZXQoW3RoaXMucmVjaXBlLmlkXSwgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMsIHRoaXMuZXZlbnRUcmFjZSgpLCBmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuYWRkSW5ncmVkaWVudHNUb0Jhc2tldChcbiAgICAgICAgICAgIHRoaXMucmVjaXBlLmlkLFxuICAgICAgICAgICAgW3sgaW5ncmVkaWVudElkOiB0aGlzLmluZ3JlZGllbnQuaWQsIGVudHJ5OiB0aGlzLmJhc2tldEVudHJ5IH1dLFxuICAgICAgICAgICAgdGhpcy5ldmVudFRyYWNlKClcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjwhLS0gSEVBREVSIC0tPlxuPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19oZWFkZXIgbWlhbS1kcy10ZXh0IHdlaWdodC14eGxcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0IHNxdWFyZVwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbWlhbS1kcy1jb2xvci1wcmltYXJ5LTUwMClcIj48L25nLW1pYW0taWNvbj5cbiAgPC9idXR0b24+XG4gIDxzcGFuIGkxOG4+e3sgYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtICYmICFpZ25vcmVTZWxlY3RlZCA/ICdSZW1wbGFjZXIgdW4gcHJvZHVpdCcgOiAnQWpvdXRlciB1biBwcm9kdWl0JyB9fTwvc3Bhbj5cbjwvZGl2PlxuPCEtLSBTRUFSQ0ggLS0+XG48ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3NlYXJjaGJhclwiPlxuICA8bmctbWlhbS1pY29uIFxuICAgIFtpY29uTmFtZV09XCJpY29uLlNlYXJjaFwiXG4gICAgd2lkdGg9XCIyMFwiXG4gICAgaGVpZ2h0PVwiMjBcIlxuICA+XG4gIDwvbmctbWlhbS1pY29uPlxuICA8aW5wdXQgXG4gICAgdHlwZT1cInRleHRcIiBcbiAgICBwbGFjZWhvbGRlcj1cIlJlY2hlcmNoZXIgdW4gcHJvZHVpdCBkZSBzdWJzdGl0dXRpb25cIiBcbiAgICBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19zZWFyY2hiYXJfX2lucHV0IG1pYW0tZHMtdGV4dCBzaXplLW0gd2VpZ2h0LWxcIlxuICAgIFsobmdNb2RlbCldPVwic2VhcmNoU3RyaW5nXCJcbiAgICAoa2V5ZG93bik9XCJvblNlYXJjaEtleWRvd24oJGV2ZW50KVwiXG4gID5cbjwvZGl2PlxuPCEtLSBQUk9EVUNUIE5FRURFRCBCQU5ORVIgLS0+XG48ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3Byb2R1Y3QtYmFubmVyXCI+XG4gIDxzcGFuIGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2Jhbm5lci1wcm9kdWN0LW5hbWUgbWlhbS1kcy10ZXh0IHNpemUtc1wiPlxuICAgIDxzcGFuPnt7IGJhc2tldEVudHJ5Lm5hbWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgfX0gOjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19iYW5uZXItcXVhbnRpdHkgbWlhbS1kcy10ZXh0IHdlaWdodC14eGxcIj5cbiAgICAgIHt7IGluZ3JlZGllbnQucXVhbnRpdHkgfX0ge3sgaW5ncmVkaWVudC5hdHRyaWJ1dGVzLnVuaXQgfX1cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPCEtLSBQUk9EVUNUIExJU1QgR1JJRCAtLT5cbjxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fcHJvZHVjdC1saXN0XCI+XG4gIDwhLS0gUFJPRFVDVCBDQVJEIC0tPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNMaXN0LCBsZXQgaSA9IGluZGV4XCJcbiAgICBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19wcm9kdWN0LWl0ZW1cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdzZWxlY3RlZCc6IGJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbSAmJiAhaWdub3JlU2VsZWN0ZWQgJiYgaSA9PT0gMFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19jYXJkLXVwcGVyLXNlY3Rpb25cIj5cbiAgICAgIDwhLS0gUFJPRFVDVCBJTUFHRSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fcHJvZHVjdC1pbWFnZS1jb250YWluZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIGFsdD1cInByb2R1Y3QgdG8gcmVwbGFjZVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fcHJvZHVjdC1pbWFnZVwiXG4gICAgICAgICAgW3NyY109XCJpdGVtLmF0dHJpYnV0ZXMuaW1hZ2VcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBQUk9EVUNUIElORk8gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3Byb2R1Y3QtaW5mb1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX3Byb2R1Y3QtYnJhbmQgbWlhbS1kcy10ZXh0IHNpemUteHMgd2VpZ2h0LXhsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlcGxhY2UtaXRlbV9fcHJvZHVjdC1icmFuZC10ZXh0XCI+e3sgaXRlbS5hdHRyaWJ1dGVzLmJyYW5kIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19wcm9kdWN0LW5hbWUgbWlhbS1kcy10ZXh0IHNpemUteHNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19wcm9kdWN0LW5hbWUtdGV4dFwiPnt7IGl0ZW0uYXR0cmlidXRlcy5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtYmFkZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19wcm9kdWN0LXF1YW50aXR5IG1pYW0tZHMtdGV4dCBzaXplLXhzXCI+e3sgaXRlbS5jYXBhY2l0eVZvbHVtZSB9fSB7eyBpdGVtLmNhcGFjaXR5VW5pdCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZXBsYWNlLWl0ZW1fX2NhcmQtbG93ZXItc2VjdGlvblwiPlxuICAgICAgPCEtLSBQUk9EVUNUIFBSSUNFIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19wcm9kdWN0LXByaWNlIG1pYW0tZHMtdGV4dCB3ZWlnaHQteHhsXCI+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0ucHJpY2UgfCBjdXJyZW5jeTogaXRlbS5hdHRyaWJ1dGVzLmN1cnJlbmN5IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIFBST0RVQ1QgQ1RBIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cIm1pYW0tcmVwbGFjZS1pdGVtX19jdGEgbWlhbS1kcy1idXR0b24gc21hbGwgcHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJiYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0gJiYgIWlnbm9yZVNlbGVjdGVkICYmIGkgPT09IDBcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RJdGVtKGl0ZW0pXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtICYmICFpZ25vcmVTZWxlY3RlZFwiPnt7ICBpID09PSAwID8gJ1PDqWxlY3Rpb25uw6knIDogJ1PDqWxlY3Rpb25uZXInfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbSB8fCBpZ25vcmVTZWxlY3RlZFwiPkFqb3V0ZXIgYXUgcGFuaWVyPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,12 +1,9 @@
1
1
  export * from './basket-preview';
2
- export * from './drawer/drawer.component';
3
2
  export * from './list-scan';
4
3
  export * from './meals-planner';
5
4
  export * from './planner/planner.component';
6
5
  export * from './planner-calendar/planner-calendar.component';
7
6
  export * from './planner-side-menu/planner-side-menu.component';
8
- export * from './pos-card/pos-card.component';
9
- export * from './pos-selection/pos-selection.component';
10
7
  export * from './recipe-catalog/recipe-catalog.component';
11
8
  export * from './recipe-cards';
12
9
  export * from './recipe-catalog';
@@ -18,4 +15,4 @@ export * from './recipes-history/recipes-history.component';
18
15
  export * from './recipe-modal/recipe-modal.component';
19
16
  export * from './toaster-stack/toaster-stack.component';
20
17
  export * from './web-components.module';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQtcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdlci9kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1zY2FuJztcbmV4cG9ydCAqIGZyb20gJy4vbWVhbHMtcGxhbm5lcic7XG5leHBvcnQgKiBmcm9tICcuL3BsYW5uZXIvcGxhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFubmVyLWNhbGVuZGFyL3BsYW5uZXItY2FsZW5kYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxhbm5lci1zaWRlLW1lbnUvcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9zLWNhcmQvcG9zLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9zLXNlbGVjdGlvbi9wb3Mtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXRhbG9nL3JlY2lwZS1jYXRhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXRhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWNyZWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtaGVscGVyL3JlY2lwZS1oZWxwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXRhZ3MvcmVjaXBlLXRhZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlcy1oaXN0b3J5L3JlY2lwZXMtaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtbW9kYWwvcmVjaXBlLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0ZXItc3RhY2svdG9hc3Rlci1zdGFjay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWItY29tcG9uZW50cy5tb2R1bGUnO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQtcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtc2Nhbic7XG5leHBvcnQgKiBmcm9tICcuL21lYWxzLXBsYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFubmVyL3BsYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxhbm5lci1jYWxlbmRhci9wbGFubmVyLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYW5uZXItc2lkZS1tZW51L3BsYW5uZXItc2lkZS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXRhbG9nL3JlY2lwZS1jYXRhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXRhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWNyZWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtaGVscGVyL3JlY2lwZS1oZWxwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXRhZ3MvcmVjaXBlLXRhZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlcy1oaXN0b3J5L3JlY2lwZXMtaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtbW9kYWwvcmVjaXBlLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0ZXItc3RhY2svdG9hc3Rlci1zdGFjay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWItY29tcG9uZW50cy5tb2R1bGUnO1xuIl19