ng-miam 3.3.2 → 3.4.3

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 (84) hide show
  1. package/bundles/ng-miam.umd.js +1844 -1111
  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/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +23 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  9. package/esm2015/lib/_models/article.js +43 -0
  10. package/esm2015/lib/_models/basket.js +2 -2
  11. package/esm2015/lib/_models/index.js +4 -1
  12. package/esm2015/lib/_models/ingredient.js +11 -7
  13. package/esm2015/lib/_models/package.js +14 -3
  14. package/esm2015/lib/_models/recipe.js +6 -2
  15. package/esm2015/lib/_models/user.js +10 -1
  16. package/esm2015/lib/_services/analytics.service.js +3 -3
  17. package/esm2015/lib/_services/articles.service.js +21 -0
  18. package/esm2015/lib/_services/baskets.service.js +2 -2
  19. package/esm2015/lib/_services/context.service.js +19 -1
  20. package/esm2015/lib/_services/groceries-lists.service.js +2 -2
  21. package/esm2015/lib/_services/index.js +3 -1
  22. package/esm2015/lib/_services/ingredients.service.js +2 -2
  23. package/esm2015/lib/_services/interceptor.service.js +2 -3
  24. package/esm2015/lib/_services/package.service.js +32 -9
  25. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  26. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  27. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  28. package/esm2015/lib/_services/recipes.service.js +2 -2
  29. package/esm2015/lib/_services/suppliers.service.js +2 -2
  30. package/esm2015/lib/_services/toastr.service.js +52 -0
  31. package/esm2015/lib/_services/user.service.js +64 -21
  32. package/esm2015/lib/_types/icon.enum.js +2 -1
  33. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  34. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  35. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  36. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  37. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  38. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  39. package/esm2015/lib/_web-components/index.js +2 -1
  40. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  41. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  42. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  43. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +355 -278
  44. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  45. package/esm2015/lib/_web-components/web-components.module.js +17 -9
  46. package/esm2015/lib/environments/environment.js +6 -0
  47. package/esm2015/lib/ng-miam.module.js +4 -4
  48. package/fesm2015/ng-miam.js +1755 -1140
  49. package/fesm2015/ng-miam.js.map +1 -1
  50. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  51. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  52. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  53. package/lib/_models/article.d.ts +23 -0
  54. package/lib/_models/basket.d.ts +1 -2
  55. package/lib/_models/index.d.ts +3 -0
  56. package/lib/_models/ingredient.d.ts +2 -0
  57. package/lib/_models/package.d.ts +10 -3
  58. package/lib/_models/recipe.d.ts +2 -0
  59. package/lib/_models/user.d.ts +16 -1
  60. package/lib/_services/articles.service.d.ts +10 -0
  61. package/lib/_services/context.service.d.ts +14 -6
  62. package/lib/_services/index.d.ts +2 -0
  63. package/lib/_services/package.service.d.ts +6 -1
  64. package/lib/_services/toastr.service.d.ts +10 -0
  65. package/lib/_services/user.service.d.ts +12 -6
  66. package/lib/_types/icon.enum.d.ts +2 -1
  67. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  68. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  69. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  70. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  71. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  72. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  73. package/lib/_web-components/index.d.ts +1 -0
  74. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  75. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  76. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  77. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +19 -6
  78. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  79. package/lib/_web-components/web-components.module.d.ts +13 -11
  80. package/lib/environments/environment.d.ts +5 -0
  81. package/miam-style.css +1 -1
  82. package/package.json +1 -1
  83. package/esm2015/lib/environment.js +0 -18
  84. package/lib/environment.d.ts +0 -5
@@ -1,42 +1,44 @@
1
1
  import { MediaMatcher } from '@angular/cdk/layout';
2
2
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, EventEmitter, Input } from '@angular/core';
3
+ import { UserService } from '../../_services';
3
4
  import { Icon } from '../../_types/icon.enum';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/cdk/layout";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../icon/icon.component";
8
- import * as i4 from "@angular/forms";
7
+ import * as i2 from "../../_services";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "../icon/icon.component";
10
+ import * as i5 from "@angular/forms";
9
11
  function RecipeFiltersComponent_span_2_Template(rf, ctx) { if (rf & 1) {
10
12
  i0.ɵɵelementStart(0, "span");
11
13
  i0.ɵɵtext(1, "Filtrer");
12
14
  i0.ɵɵelementEnd();
13
15
  } }
14
16
  function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
15
- const _r10 = i0.ɵɵgetCurrentView();
17
+ const _r11 = i0.ɵɵgetCurrentView();
16
18
  i0.ɵɵelementStart(0, "div", 14);
17
19
  i0.ɵɵelementStart(1, "span");
18
20
  i0.ɵɵtext(2);
19
21
  i0.ɵɵelementEnd();
20
22
  i0.ɵɵelementStart(3, "ng-miam-icon", 15);
21
- i0.ɵɵlistener("click", function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template_ng_miam_icon_click_3_listener() { i0.ɵɵrestoreView(_r10); const filter_r8 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(3); return ctx_r9.removeFilter(filter_r8); });
23
+ i0.ɵɵlistener("click", function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template_ng_miam_icon_click_3_listener() { i0.ɵɵrestoreView(_r11); const filter_r9 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(3); return ctx_r10.removeFilter(filter_r9); });
22
24
  i0.ɵɵelementEnd();
23
25
  i0.ɵɵelementEnd();
24
26
  } if (rf & 2) {
25
- const filter_r8 = ctx.$implicit;
26
- const ctx_r7 = i0.ɵɵnextContext(3);
27
+ const filter_r9 = ctx.$implicit;
28
+ const ctx_r8 = i0.ɵɵnextContext(3);
27
29
  i0.ɵɵadvance(2);
28
- i0.ɵɵtextInterpolate(filter_r8);
30
+ i0.ɵɵtextInterpolate(filter_r9);
29
31
  i0.ɵɵadvance(1);
30
- i0.ɵɵproperty("iconName", ctx_r7.icon.Clear);
32
+ i0.ɵɵproperty("iconName", ctx_r8.icon.Clear);
31
33
  } }
32
34
  function RecipeFiltersComponent_div_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
33
35
  i0.ɵɵelementContainerStart(0);
34
36
  i0.ɵɵtemplate(1, RecipeFiltersComponent_div_5_ng_container_1_div_1_Template, 4, 2, "div", 13);
35
37
  i0.ɵɵelementContainerEnd();
36
38
  } if (rf & 2) {
37
- const ctx_r6 = i0.ɵɵnextContext(2);
39
+ const ctx_r7 = i0.ɵɵnextContext(2);
38
40
  i0.ɵɵadvance(1);
39
- i0.ɵɵproperty("ngForOf", ctx_r6.filtersToDisplay);
41
+ i0.ɵɵproperty("ngForOf", ctx_r7.filtersToDisplay);
40
42
  } }
41
43
  function RecipeFiltersComponent_div_5_Template(rf, ctx) { if (rf & 1) {
42
44
  i0.ɵɵelementStart(0, "div", 12);
@@ -48,75 +50,106 @@ function RecipeFiltersComponent_div_5_Template(rf, ctx) { if (rf & 1) {
48
50
  i0.ɵɵproperty("ngIf", ctx_r1.filtersToDisplay && ctx_r1.filtersToDisplay.length > 0);
49
51
  } }
50
52
  function RecipeFiltersComponent_div_9_Template(rf, ctx) { if (rf & 1) {
51
- const _r13 = i0.ɵɵgetCurrentView();
53
+ const _r14 = i0.ɵɵgetCurrentView();
52
54
  i0.ɵɵelementStart(0, "div", 16);
53
55
  i0.ɵɵelementStart(1, "input", 17);
54
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r13); const difficulty_r11 = ctx.$implicit; return difficulty_r11.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.filtersChanged(); });
56
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r14); const difficulty_r12 = ctx.$implicit; return difficulty_r12.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.filtersChanged(); });
55
57
  i0.ɵɵelementEnd();
56
58
  i0.ɵɵtext(2);
57
59
  i0.ɵɵelementEnd();
58
60
  } if (rf & 2) {
59
- const difficulty_r11 = ctx.$implicit;
61
+ const difficulty_r12 = ctx.$implicit;
60
62
  i0.ɵɵadvance(1);
61
- i0.ɵɵproperty("ngModel", difficulty_r11.value);
63
+ i0.ɵɵproperty("ngModel", difficulty_r12.value);
62
64
  i0.ɵɵadvance(1);
63
- i0.ɵɵtextInterpolate1(" ", difficulty_r11.text, " ");
65
+ i0.ɵɵtextInterpolate1(" ", difficulty_r12.text, " ");
64
66
  } }
65
67
  function RecipeFiltersComponent_div_14_Template(rf, ctx) { if (rf & 1) {
66
- const _r17 = i0.ɵɵgetCurrentView();
68
+ const _r18 = i0.ɵɵgetCurrentView();
67
69
  i0.ɵɵelementStart(0, "div", 16);
68
70
  i0.ɵɵelementStart(1, "input", 17);
69
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.uncheckFiltersOnChange("cost"); })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r17); const cost_r15 = ctx.$implicit; return cost_r15.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.filtersChanged(); });
71
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.uncheckFiltersOnChange("cost"); })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r18); const cost_r16 = ctx.$implicit; return cost_r16.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r20 = i0.ɵɵnextContext(); return ctx_r20.filtersChanged(); });
70
72
  i0.ɵɵelementEnd();
71
73
  i0.ɵɵtext(2);
72
74
  i0.ɵɵelementEnd();
73
75
  } if (rf & 2) {
74
- const cost_r15 = ctx.$implicit;
76
+ const cost_r16 = ctx.$implicit;
75
77
  i0.ɵɵadvance(1);
76
- i0.ɵɵproperty("ngModel", cost_r15.value);
78
+ i0.ɵɵproperty("ngModel", cost_r16.value);
77
79
  i0.ɵɵadvance(1);
78
- i0.ɵɵtextInterpolate1(" ", cost_r15.text, " ");
80
+ i0.ɵɵtextInterpolate1(" ", cost_r16.text, " ");
79
81
  } }
80
82
  function RecipeFiltersComponent_div_19_Template(rf, ctx) { if (rf & 1) {
81
- const _r22 = i0.ɵɵgetCurrentView();
83
+ const _r23 = i0.ɵɵgetCurrentView();
82
84
  i0.ɵɵelementStart(0, "div", 16);
83
85
  i0.ɵɵelementStart(1, "input", 17);
84
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return ctx_r21.uncheckFiltersOnChange("time"); })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const time_r20 = ctx.$implicit; return time_r20.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(); return ctx_r24.filtersChanged(); });
86
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return ctx_r22.uncheckFiltersOnChange("time"); })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r23); const time_r21 = ctx.$implicit; return time_r21.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r23); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.filtersChanged(); });
85
87
  i0.ɵɵelementEnd();
86
88
  i0.ɵɵtext(2);
87
89
  i0.ɵɵelementEnd();
88
90
  } if (rf & 2) {
89
- const time_r20 = ctx.$implicit;
91
+ const time_r21 = ctx.$implicit;
90
92
  i0.ɵɵadvance(1);
91
- i0.ɵɵproperty("ngModel", time_r20.value);
93
+ i0.ɵɵproperty("ngModel", time_r21.value);
92
94
  i0.ɵɵadvance(1);
93
- i0.ɵɵtextInterpolate1(" < ", time_r20.text, " ");
95
+ i0.ɵɵtextInterpolate1(" < ", time_r21.text, " ");
94
96
  } }
95
97
  function RecipeFiltersComponent_div_23_Template(rf, ctx) { if (rf & 1) {
96
- const _r26 = i0.ɵɵgetCurrentView();
97
- i0.ɵɵelementStart(0, "div", 18);
98
- i0.ɵɵlistener("click", function RecipeFiltersComponent_div_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.toggleFilter(); });
98
+ const _r27 = i0.ɵɵgetCurrentView();
99
+ i0.ɵɵelementStart(0, "div");
100
+ i0.ɵɵelement(1, "div", 8);
101
+ i0.ɵɵelementStart(2, "div", 18);
102
+ i0.ɵɵelementStart(3, "div", 6);
103
+ i0.ɵɵtext(4, "Pr\u00E9f\u00E9rences");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelementStart(5, "div", 16);
106
+ i0.ɵɵelementStart(6, "input", 17);
107
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_23_Template_input_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return ctx_r26.updateUserPreference("has_children", $event); });
108
+ i0.ɵɵelementEnd();
109
+ i0.ɵɵtext(7);
110
+ i0.ɵɵelementEnd();
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementEnd();
113
+ } if (rf & 2) {
114
+ const ctx_r5 = i0.ɵɵnextContext();
115
+ i0.ɵɵadvance(6);
116
+ i0.ɵɵproperty("ngModel", ctx_r5.hasChildren);
117
+ i0.ɵɵadvance(1);
118
+ i0.ɵɵtextInterpolate1(" ", ctx_r5.hasChildren ? "J'ai des enfants" : "Je n'ai pas d'enfant", " ");
119
+ } }
120
+ function RecipeFiltersComponent_div_24_Template(rf, ctx) { if (rf & 1) {
121
+ const _r29 = i0.ɵɵgetCurrentView();
122
+ i0.ɵɵelementStart(0, "div", 19);
123
+ i0.ɵɵlistener("click", function RecipeFiltersComponent_div_24_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return ctx_r28.toggleFilter(); });
99
124
  i0.ɵɵtext(1, " Fermer ");
100
125
  i0.ɵɵelementEnd();
101
126
  } }
102
127
  const _c0 = function (a0) { return { "filter-collapsed": a0 }; };
103
128
  const _c1 = function (a0, a1) { return { "filter-collapsed": a0, "mobile-fixed": a1 }; };
104
129
  export class RecipeFiltersComponent {
105
- constructor(cdr, mediaMatcher) {
130
+ constructor(cdr, mediaMatcher, usersService) {
106
131
  this.cdr = cdr;
107
132
  this.mediaMatcher = mediaMatcher;
133
+ this.usersService = usersService;
108
134
  this.mobileFixed = false;
109
135
  this.filterChanged = new EventEmitter();
110
136
  this.filterReset = new EventEmitter();
111
137
  this.filterCollapsed = new EventEmitter();
138
+ this.preferencesChanged = new EventEmitter();
112
139
  this.isFilterCollapsed = false;
113
140
  this.icon = Icon;
114
141
  this.filtersToDisplay = [];
115
142
  this.isMobile = false;
116
143
  this.willDoubleBuild = false; // If filters were changed in recipe-filters, it will trigger the build function 2 times
144
+ this.isLogged = false;
145
+ this.hasChildren = false;
146
+ this.subscriptions = [];
117
147
  this.isMobile = mediaMatcher.matchMedia('(max-width: 1022px)').matches;
118
148
  this.isFilterCollapsed = this.isMobile;
119
149
  }
150
+ ngOnInit() {
151
+ this.setUserObservables();
152
+ }
120
153
  ngOnChanges() {
121
154
  if (this.filterToRemove) {
122
155
  this.removeFilter(this.filterToRemove);
@@ -131,6 +164,9 @@ export class RecipeFiltersComponent {
131
164
  }
132
165
  this.cdr.detectChanges();
133
166
  }
167
+ ngOnDestroy() {
168
+ this.subscriptions.forEach(s => s.unsubscribe());
169
+ }
134
170
  filtersChanged() {
135
171
  if (this.isMobile) {
136
172
  this.filtersToDisplay = this.buildFiltersArray();
@@ -183,9 +219,22 @@ export class RecipeFiltersComponent {
183
219
  this.cdr.detectChanges();
184
220
  this.filterCollapsed.emit();
185
221
  }
222
+ updateUserPreference(preference, state) {
223
+ this.subscriptions.push(this.usersService.setPreference(preference, state).subscribe(() => this.preferencesChanged.emit()));
224
+ }
225
+ setUserObservables() {
226
+ this.subscriptions.push(this.usersService.isLogged$.subscribe(logged => {
227
+ this.isLogged = logged;
228
+ this.cdr.detectChanges();
229
+ }));
230
+ this.subscriptions.push(this.usersService.hasPreference('has_children').subscribe(hasChildren => {
231
+ this.hasChildren = hasChildren;
232
+ this.cdr.detectChanges();
233
+ }));
234
+ }
186
235
  }
187
- RecipeFiltersComponent.ɵfac = function RecipeFiltersComponent_Factory(t) { return new (t || RecipeFiltersComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher)); };
188
- RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersComponent, selectors: [["ng-miam-recipe-filters"]], inputs: { filters: "filters", mobileFixed: "mobileFixed", filterToRemove: "filterToRemove" }, outputs: { filterChanged: "filterChanged", filterReset: "filterReset", filterCollapsed: "filterCollapsed" }, features: [i0.ɵɵNgOnChangesFeature], decls: 24, vars: 22, consts: [[1, "miam-recipe-filters", 3, "ngClass"], [1, "miam-recipe-filters__toggle", 3, "ngClass", "click"], [4, "ngIf"], ["primaryColor", "var(--m-color-white)", 3, "iconName", "height", "width", "ngClass"], [1, "miam-recipe-filters__container", 3, "ngClass"], ["class", "miam-recipe-filter__details", 4, "ngIf"], [1, "miam-recipe-filters__title"], ["class", "miam-recipe-filters__choice", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filters__separator"], [1, "miam-recipe-filters__remove"], [3, "click"], ["class", "miam-recipe-filters__toggle mobile-fixed", 3, "click", 4, "ngIf"], [1, "miam-recipe-filter__details"], ["class", "miam-recipe-filter__detail", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filter__detail"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-filter__detail__icon", 3, "iconName", "click"], [1, "miam-recipe-filters__choice"], ["type", "checkbox", 3, "ngModel", "ngModelChange"], [1, "miam-recipe-filters__toggle", "mobile-fixed", 3, "click"]], template: function RecipeFiltersComponent_Template(rf, ctx) { if (rf & 1) {
236
+ RecipeFiltersComponent.ɵfac = function RecipeFiltersComponent_Factory(t) { return new (t || RecipeFiltersComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i2.UserService)); };
237
+ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersComponent, selectors: [["ng-miam-recipe-filters"]], inputs: { filters: "filters", mobileFixed: "mobileFixed", filterToRemove: "filterToRemove" }, outputs: { filterChanged: "filterChanged", filterReset: "filterReset", filterCollapsed: "filterCollapsed", preferencesChanged: "preferencesChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 25, vars: 23, consts: [[1, "miam-recipe-filters", 3, "ngClass"], [1, "miam-recipe-filters__toggle", 3, "ngClass", "click"], [4, "ngIf"], ["primaryColor", "var(--m-color-white)", 3, "iconName", "height", "width", "ngClass"], [1, "miam-recipe-filters__container", 3, "ngClass"], ["class", "miam-recipe-filter__details", 4, "ngIf"], [1, "miam-recipe-filters__title"], ["class", "miam-recipe-filters__choice", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filters__separator"], [1, "miam-recipe-filters__remove"], [3, "click"], ["class", "miam-recipe-filters__toggle mobile-fixed", 3, "click", 4, "ngIf"], [1, "miam-recipe-filter__details"], ["class", "miam-recipe-filter__detail", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filter__detail"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-filter__detail__icon", 3, "iconName", "click"], [1, "miam-recipe-filters__choice"], ["type", "checkbox", 3, "ngModel", "ngModelChange"], [1, "miam-recipe-filters__preferences"], [1, "miam-recipe-filters__toggle", "mobile-fixed", 3, "click"]], template: function RecipeFiltersComponent_Template(rf, ctx) { if (rf & 1) {
189
238
  i0.ɵɵelementStart(0, "div", 0);
190
239
  i0.ɵɵelementStart(1, "div", 1);
191
240
  i0.ɵɵlistener("click", function RecipeFiltersComponent_Template_div_click_1_listener() { return ctx.toggleFilter(); });
@@ -220,19 +269,20 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
220
269
  i0.ɵɵtext(22, "Retirer tous les filtres");
221
270
  i0.ɵɵelementEnd();
222
271
  i0.ɵɵelementEnd();
223
- i0.ɵɵtemplate(23, RecipeFiltersComponent_div_23_Template, 2, 0, "div", 11);
272
+ i0.ɵɵtemplate(23, RecipeFiltersComponent_div_23_Template, 8, 2, "div", 2);
273
+ i0.ɵɵtemplate(24, RecipeFiltersComponent_div_24_Template, 2, 0, "div", 11);
224
274
  i0.ɵɵelementEnd();
225
275
  i0.ɵɵelementEnd();
226
276
  } if (rf & 2) {
227
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c0, ctx.isFilterCollapsed));
277
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.isFilterCollapsed));
228
278
  i0.ɵɵadvance(1);
229
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(15, _c1, ctx.isFilterCollapsed, ctx.mobileFixed));
279
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(16, _c1, ctx.isFilterCollapsed, ctx.mobileFixed));
230
280
  i0.ɵɵadvance(1);
231
281
  i0.ɵɵproperty("ngIf", ctx.isFilterCollapsed);
232
282
  i0.ɵɵadvance(1);
233
- i0.ɵɵproperty("iconName", ctx.icon.ChevronDown)("height", 32)("width", 32)("ngClass", i0.ɵɵpureFunction1(18, _c0, ctx.isFilterCollapsed));
283
+ i0.ɵɵproperty("iconName", ctx.icon.ChevronDown)("height", 32)("width", 32)("ngClass", i0.ɵɵpureFunction1(19, _c0, ctx.isFilterCollapsed));
234
284
  i0.ɵɵadvance(1);
235
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0, ctx.isFilterCollapsed));
285
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isFilterCollapsed));
236
286
  i0.ɵɵadvance(1);
237
287
  i0.ɵɵproperty("ngIf", ctx.isMobile);
238
288
  i0.ɵɵadvance(4);
@@ -242,8 +292,10 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
242
292
  i0.ɵɵadvance(5);
243
293
  i0.ɵɵproperty("ngForOf", ctx.filters.time);
244
294
  i0.ɵɵadvance(4);
295
+ i0.ɵɵproperty("ngIf", ctx.isLogged);
296
+ i0.ɵɵadvance(1);
245
297
  i0.ɵɵproperty("ngIf", ctx.isMobile);
246
- } }, directives: [i2.NgClass, i2.NgIf, i3.IconComponent, i2.NgForOf, i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgModel], styles: [".miam-recipe-filters{border-right:1px solid #e9e9e9;height:900px;left:0;padding:16px;position:relative;top:0;transition:none;width:216px}.miam-recipe-filters.filter-collapsed{padding:0;width:0}.miam-recipe-filters .miam-recipe-filters__toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--m-color-primary);border-radius:0 100px 100px 0;color:var(--m-color-white);cursor:pointer;display:flex;font-size:17px;font-weight:700;left:100%;padding:16px 24px;position:absolute;top:350px;transition:width .25s cubic-bezier(0,0,.2,1);z-index:1}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{transform:rotate(90deg)}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed{min-width:132px}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed ng-miam-icon{transform:rotate(-90deg)}.miam-recipe-filters .miam-recipe-filters__container{opacity:1;transition:opacity .25s cubic-bezier(0,0,.2,1)}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{opacity:0;transition:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details{align-items:center;background-color:var(--m-color-grey);display:flex;flex-flow:row wrap;margin-bottom:24px;min-height:10vh;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;width:100%}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail__title{margin-top:-16px;padding:0 24px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail{align-items:center;border:1px solid var(--m-color-primary);border-radius:4px;display:flex;margin:0 0 16px 8px;padding:8px 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail .miam-recipe-filter__detail__icon .icon-container{margin:0 0 0 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{font-size:17px;font-weight:700;line-height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice{display:flex;height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice:first-letter{text-transform:capitalize}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice input{cursor:pointer;height:20px;margin:0 12px 0 0;width:20px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__remove{margin:16px 0;text-align:center}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__separator{background-color:#e9e9e9;height:1px;margin:16px 0;width:174px}@media (max-width:1022px){.miam-recipe-filters{padding:0}.miam-recipe-filters .miam-recipe-filters__toggle{border-radius:24px;font-size:16px;justify-content:center;left:50vw;max-width:90vw;padding:8px;top:336px;transform:translateX(-50%);transition:unset;width:328px}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{display:none}.miam-recipe-filters .miam-recipe-filters__toggle span{align-items:center;display:flex;height:24px;padding-top:4px}.miam-recipe-filters .miam-recipe-filters__toggle span:before{content:url(https://storage.googleapis.com/assets.miam.tech/generic/catalog/Equalizer.svg);height:24px;margin:-6px 8px 0 0;width:24px}.miam-recipe-filters .miam-recipe-filters__toggle.mobile-fixed{bottom:24px;left:50%;min-width:unset;position:fixed;top:unset;transform:translateX(-90px);width:180px}.miam-recipe-filters .miam-recipe-filters__container{background-color:var(--m-color-white);height:100vh;left:0;overflow-y:scroll;padding:8px 8px 70px;position:fixed;top:0;width:100vw;z-index:1}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{display:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice,.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{margin:8px}}"], encapsulation: 2, changeDetection: 0 });
298
+ } }, directives: [i3.NgClass, i3.NgIf, i4.IconComponent, i3.NgForOf, i5.CheckboxControlValueAccessor, i5.NgControlStatus, i5.NgModel], styles: [".miam-recipe-filters{border-right:1px solid #e9e9e9;height:900px;left:0;padding:16px;position:relative;top:0;transition:none;width:216px}.miam-recipe-filters.filter-collapsed{padding:0;width:0}.miam-recipe-filters .miam-recipe-filters__toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--m-color-primary);border-radius:0 100px 100px 0;color:var(--m-color-white);cursor:pointer;display:flex;font-size:17px;font-weight:700;left:calc(100% + 1px);padding:16px 24px;position:absolute;top:253px;transition:width .25s cubic-bezier(0,0,.2,1);z-index:1}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{transform:rotate(90deg)}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed{min-width:132px}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed ng-miam-icon{transform:rotate(-90deg)}.miam-recipe-filters .miam-recipe-filters__container{opacity:1;transition:opacity .25s cubic-bezier(0,0,.2,1)}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{opacity:0;transition:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details{align-items:center;background-color:var(--m-color-grey);display:flex;flex-flow:row wrap;margin-bottom:24px;min-height:10vh;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;width:100%}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail__title{margin-top:-16px;padding:0 24px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail{align-items:center;border:1px solid var(--m-color-primary);border-radius:4px;display:flex;margin:0 0 16px 8px;padding:8px 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail .miam-recipe-filter__detail__icon .icon-container{margin:0 0 0 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{font-size:17px;font-weight:700;line-height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice{display:flex;height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice:first-letter{text-transform:capitalize}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice input{cursor:pointer;height:20px;margin:0 12px 0 0;width:20px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__remove{margin:16px 0;text-align:center}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__separator{background-color:#e9e9e9;height:1px;margin:16px 0;width:174px}@media (max-width:1022px){.miam-recipe-filters{padding:0}.miam-recipe-filters .miam-recipe-filters__toggle{border-radius:24px;font-size:16px;justify-content:center;left:50vw;max-width:90vw;padding:8px;top:320px;transform:translateX(-50%);transition:unset;width:328px}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{display:none}.miam-recipe-filters .miam-recipe-filters__toggle span{align-items:center;display:flex;height:24px;padding-top:4px}.miam-recipe-filters .miam-recipe-filters__toggle span:before{content:url(https://storage.googleapis.com/assets.miam.tech/generic/catalog/Equalizer.svg);height:24px;margin:-6px 8px 0 0;width:24px}.miam-recipe-filters .miam-recipe-filters__toggle.mobile-fixed{bottom:24px;left:50%;min-width:unset;position:fixed;top:unset;transform:translateX(-90px);width:180px}.miam-recipe-filters .miam-recipe-filters__container{background-color:var(--m-color-white);height:100vh;left:0;overflow-y:scroll;padding:8px 8px 70px;position:fixed;top:0;width:100vw;z-index:1}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{display:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice,.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{margin:8px}}"], encapsulation: 2, changeDetection: 0 });
247
299
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeFiltersComponent, [{
248
300
  type: Component,
249
301
  args: [{
@@ -253,7 +305,7 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
253
305
  encapsulation: ViewEncapsulation.None,
254
306
  changeDetection: ChangeDetectionStrategy.OnPush
255
307
  }]
256
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, { filters: [{
308
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }, { type: i2.UserService }]; }, { filters: [{
257
309
  type: Input
258
310
  }], mobileFixed: [{
259
311
  type: Input
@@ -265,5 +317,7 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
265
317
  type: Output
266
318
  }], filterCollapsed: [{
267
319
  type: Output
320
+ }], preferencesChanged: [{
321
+ type: Output
268
322
  }] }); })();
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9yZWNpcGUtZmlsdGVycy9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLWZpbHRlcnMvcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDakosT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0lDQzFDLDRCQUFnQztJQUFBLHVCQUFPO0lBQUEsaUJBQU87Ozs7SUFhMUMsK0JBQ0U7SUFBQSw0QkFBTTtJQUFBLFlBQVU7SUFBQSxpQkFBTztJQUN2Qix3Q0FLZTtJQUhiLG1RQUE4QjtJQUdoQyxpQkFBZTtJQUNqQixpQkFBTTs7OztJQVBFLGVBQVU7SUFBViwrQkFBVTtJQUlkLGVBQXVCO0lBQXZCLDRDQUF1Qjs7O0lBTjdCLDZCQUNFO0lBQUEsNkZBQ0U7SUFRSiwwQkFBZTs7O0lBVFIsZUFBdUM7SUFBdkMsaURBQXVDOzs7SUFGaEQsK0JBQ0U7SUFBQSwrRkFDRTtJQVVKLGlCQUFNOzs7SUFYVSxlQUF1RDtJQUF2RCxvRkFBdUQ7Ozs7SUFzQnJFLCtCQUNFO0lBQUEsaUNBQTBGO0lBQW5FLDZOQUE4QixtTUFBQTtJQUFyRCxpQkFBMEY7SUFBQSxZQUM1RjtJQUFBLGlCQUFNOzs7SUFEbUIsZUFBOEI7SUFBOUIsOENBQThCO0lBQXFDLGVBQzVGO0lBRDRGLG9E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QjtRQUU3QixlQUE2QjtRQUE3QiwrQ0FBNkIsY0FBQSxhQUFBLCtEQUFBO1FBUVcsZUFBbUQ7UUFBbkQsNEVBQW1EO1FBQ3hGLGVBQWdCO1FBQWhCLG1DQUFnQjtRQXVCZCxlQUE2QztRQUE3QyxnREFBNkM7UUFPN0MsZUFBaUM7UUFBakMsMENBQWlDO1FBWWpDLGVBQWlDO1FBQWpDLDBDQUFpQztRQVluQyxlQUFnQjtRQUFoQixtQ0FBZ0I7O2tERHZEWixzQkFBc0I7Y0FQbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSxpQ0FBaUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7K0ZBRVUsT0FBTztrQkFBZixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDSSxhQUFhO2tCQUF0QixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLGVBQWU7a0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFJlY2lwZUZpbHRlcnMgfSBmcm9tICcuLi8uLi9fdHlwZXMvcmVjaXBlLWZpbHRlcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZmlsdGVyczogUmVjaXBlRmlsdGVycztcbiAgQElucHV0KCkgbW9iaWxlRml4ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVG9SZW1vdmU6IHN0cmluZztcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZUZpbHRlcnM+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpc0ZpbHRlckNvbGxhcHNlZCA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcbiAgZmlsdGVyc1RvRGlzcGxheSA9IFtdO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICB3aWxsRG91YmxlQnVpbGQgPSBmYWxzZTsgLy8gSWYgZmlsdGVycyB3ZXJlIGNoYW5nZWQgaW4gcmVjaXBlLWZpbHRlcnMsIGl0IHdpbGwgdHJpZ2dlciB0aGUgYnVpbGQgZnVuY3Rpb24gMiB0aW1lc1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBtZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyMnB4KScpLm1hdGNoZXM7XG4gICAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gdGhpcy5pc01vYmlsZTtcbiAgICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyVG9SZW1vdmUpIHtcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyKHRoaXMuZmlsdGVyVG9SZW1vdmUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgaWYgKHRoaXMud2lsbERvdWJsZUJ1aWxkKSB7XG4gICAgICAgIHRoaXMud2lsbERvdWJsZUJ1aWxkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzVG9EaXNwbGF5ID0gdGhpcy5idWlsZEZpbHRlcnNBcnJheSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmaWx0ZXJzQ2hhbmdlZCgpIHtcbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgdGhpcy5maWx0ZXJzVG9EaXNwbGF5ID0gdGhpcy5idWlsZEZpbHRlcnNBcnJheSgpO1xuICAgIH1cbiAgICB0aGlzLndpbGxEb3VibGVCdWlsZCA9IHRydWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VkLmVtaXQodGhpcy5maWx0ZXJzKTtcbiAgfVxuXG4gIC8vIFRPRE86IE1heWJlIG1ha2UgYSBzZXJ2aWNlIGZvciB0aGUgZmlsdGVycyB0IG9saW1pdCB0aGUgbnVtYmVyIG9mIGZ1bmN0aW9ucyBhY3Jvc3MgY29tcG9uZW50c1xuICBidWlsZEZpbHRlcnNBcnJheSgpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGZpbHRlck5hbWVzID0gW107XG4gICAgZmlsdGVyTmFtZXMgPSBbLi4uZmlsdGVyTmFtZXMsIC4uLnRoaXMuZ2V0U2VsZWN0ZWRGaWx0ZXJzKHRoaXMuZmlsdGVycy5jb3N0KSwgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLmRpZmZpY3VsdHkpLFxuICAgICAgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLnRpbWUpXTtcbiAgICBpZiAodGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzICYmIHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycy50aXRsZSAhPT0gJycpIHtcbiAgICAgIGZpbHRlck5hbWVzID0gW3RoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycy50aXRsZV0uY29uY2F0KGZpbHRlck5hbWVzKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlck5hbWVzO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRGaWx0ZXJzKGZpbHRlcnNBcnJheSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmlsdGVyc0FycmF5LmZpbHRlcihlbCA9PiBlbC52YWx1ZSkubWFwKGVsID0+IGVsLnRleHQpO1xuICB9XG5cbiAgcmVtb3ZlRmlsdGVyKGZpbHRlclRleHQ6IHN0cmluZykge1xuICAgIGlmIChmaWx0ZXJUZXh0ID09PSB0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnM/LnRpdGxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZm9yICggY29uc3QgZmlsdGVyVHlwZSBpbiB0aGlzLmZpbHRlcnMpIHtcbiAgICAgICAgLy8gYWRkaXRpb25hbEZpbHRlcnMgaXNuJ3QgYW4gYXJyYXksIHRodXMgaXNuJ3QgaXRlcmFibGVcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVycy5oYXNPd25Qcm9wZXJ0eShmaWx0ZXJUeXBlKSAmJiBmaWx0ZXJUeXBlICE9PSAnYWRkaXRpb25hbEZpbHRlcnMnKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWx0ZXJGaWVsZCBvZiB0aGlzLmZpbHRlcnNbZmlsdGVyVHlwZV0pIHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC50ZXh0ID09PSBmaWx0ZXJUZXh0KSB7IGZpbHRlckZpZWxkLnZhbHVlID0gZmFsc2U7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIFdoZW4gZmlsdGVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlcywgb24gY2xpY2sgb24gb25lIHdlIHVuY2hlY2sgYWxsIGJlZm9yZSBtb2RlbCBjaGFuZ2VcbiAgdW5jaGVja0ZpbHRlcnNPbkNoYW5nZShmaWVsZDogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJzW2ZpZWxkXS5mb3JFYWNoKGYgPT4gZi52YWx1ZSA9IGZhbHNlKTtcbiAgfVxuXG4gIHRvZ2dsZUZpbHRlcigpe1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gdGhpcy5pc0ZpbHRlckNvbGxhcHNlZCA/ICdoaWRkZW4nIDogJ2F1dG8nO1xuICAgIH1cbiAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gIXRoaXMuaXNGaWx0ZXJDb2xsYXBzZWQ7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuZmlsdGVyQ29sbGFwc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNcIiBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZVwiIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJ1xuICAgIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkLCAnbW9iaWxlLWZpeGVkJzptb2JpbGVGaXhlZH1cIj5cbiAgICA8c3BhbiAqbmdJZj1cImlzRmlsdGVyQ29sbGFwc2VkXCI+RmlsdHJlcjwvc3Bhbj5cbiAgICA8bmctbWlhbS1pY29uIFxuICAgICAgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIlxuICAgICAgW2hlaWdodF09JzMyJ1xuICAgICAgW3dpZHRoXT0nMzInXG4gICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXdoaXRlKVwiXG4gICAgICBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpc01vYmlsZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyX19kZXRhaWxzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyc1RvRGlzcGxheSAmJiBmaWx0ZXJzVG9EaXNwbGF5Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNUb0Rpc3BsYXlcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcl9fZGV0YWlsXCI+XG4gICAgICAgICAgPHNwYW4+e3tmaWx0ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJfX2RldGFpbF9faWNvblwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXIpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5DbGVhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+ICBcbiAgICBcbiAgICA8IS0tIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIiA+VHlwZSBkZSBwbGF0PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0eXBlIG9mIGZpbHRlcnMudHlwZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInR5cGUudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7dHlwZS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj4gLS0+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX190aXRsZVwiPkRpZmZpY3VsdMOpPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkaWZmaWN1bHR5IG9mIGZpbHRlcnMuZGlmZmljdWx0eVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImRpZmZpY3VsdHkudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7ZGlmZmljdWx0eS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RpdGxlXCI+Q2/Du3Q8L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvc3Qgb2YgZmlsdGVycy5jb3N0XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgnY29zdCcpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvc3QudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAge3tjb3N0LnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5UZW1wcyBkZSBwcsOpcGFyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRpbWUgb2YgZmlsdGVycy50aW1lXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgndGltZScpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInRpbWUudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAgJiM2MDsge3t0aW1lLnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3JlbW92ZVwiPlxuICAgICAgPGEgKGNsaWNrKT1cImZpbHRlclJlc2V0LmVtaXQoKVwiPlJldGlyZXIgdG91cyBsZXMgZmlsdHJlczwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNNb2JpbGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZSBtb2JpbGUtZml4ZWRcIlxuICAgIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJz5cbiAgICAgIEZlcm1lclxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9yZWNpcGUtZmlsdGVycy9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLWZpbHRlcnMvcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7SUNaMUMsNEJBQWdDO0lBQUEsdUJBQU87SUFBQSxpQkFBTzs7OztJQWExQywrQkFDRTtJQUFBLDRCQUFNO0lBQUEsWUFBVTtJQUFBLGlCQUFPO0lBQ3ZCLHdDQUtlO0lBSGIscVFBQThCO0lBR2hDLGlCQUFlO0lBQ2pCLGlCQUFNOzs7O0lBUEUsZUFBVTtJQUFWLCtCQUFVO0lBSWQsZUFBdUI7SUFBdkIsNENBQXVCOzs7SUFON0IsNkJBQ0U7SUFBQSw2RkFDRTtJQVFKLDBCQUFlOzs7SUFUUixlQUF1QztJQUF2QyxpREFBdUM7OztJQUZoRCwrQkFDRTtJQUFBLCtGQUNFO0lBVUosaUJBQU07OztJQVhVLGVBQXVEO0lBQXZELG9GQUF1RDs7OztJQXNCckUsK0JBQ0U7SUFBQSxpQ0FBMEY7SUFBbkUsNk5BQThCLG1NQUFBO0lBQXJELGlCQUEwRjtJQUFBLFlBQzVGO0lBQUEsaUJBQU07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bnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgUmVjaXBlRmlsdGVycyB9IGZyb20gJy4uLy4uL190eXBlcy9yZWNpcGUtZmlsdGVycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZUZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZmlsdGVyczogUmVjaXBlRmlsdGVycztcbiAgQElucHV0KCkgbW9iaWxlRml4ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVG9SZW1vdmU6IHN0cmluZztcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZUZpbHRlcnM+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHByZWZlcmVuY2VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpc0ZpbHRlckNvbGxhcHNlZCA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcbiAgZmlsdGVyc1RvRGlzcGxheSA9IFtdO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICB3aWxsRG91YmxlQnVpbGQgPSBmYWxzZTsgLy8gSWYgZmlsdGVycyB3ZXJlIGNoYW5nZWQgaW4gcmVjaXBlLWZpbHRlcnMsIGl0IHdpbGwgdHJpZ2dlciB0aGUgYnVpbGQgZnVuY3Rpb24gMiB0aW1lc1xuICBpc0xvZ2dlZCA9IGZhbHNlO1xuICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIHVzZXJzU2VydmljZTogVXNlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IG1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiAxMDIycHgpJykubWF0Y2hlcztcbiAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gdGhpcy5pc01vYmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VXNlck9ic2VydmFibGVzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJUb1JlbW92ZSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIodGhpcy5maWx0ZXJUb1JlbW92ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICBpZiAodGhpcy53aWxsRG91YmxlQnVpbGQpIHtcbiAgICAgICAgdGhpcy53aWxsRG91YmxlQnVpbGQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmZpbHRlcnNUb0Rpc3BsYXkgPSB0aGlzLmJ1aWxkRmlsdGVyc0FycmF5KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGZpbHRlcnNDaGFuZ2VkKCkge1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnNUb0Rpc3BsYXkgPSB0aGlzLmJ1aWxkRmlsdGVyc0FycmF5KCk7XG4gICAgfVxuICAgIHRoaXMud2lsbERvdWJsZUJ1aWxkID0gdHJ1ZTtcbiAgICB0aGlzLmZpbHRlckNoYW5nZWQuZW1pdCh0aGlzLmZpbHRlcnMpO1xuICB9XG5cbiAgLy8gVE9ETzogTWF5YmUgbWFrZSBhIHNlcnZpY2UgZm9yIHRoZSBmaWx0ZXJzIHQgb2xpbWl0IHRoZSBudW1iZXIgb2YgZnVuY3Rpb25zIGFjcm9zcyBjb21wb25lbnRzXG4gIGJ1aWxkRmlsdGVyc0FycmF5KCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgZmlsdGVyTmFtZXMgPSBbXTtcbiAgICBmaWx0ZXJOYW1lcyA9IFsuLi5maWx0ZXJOYW1lcywgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLmNvc3QpLCAuLi50aGlzLmdldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlcnMuZGlmZmljdWx0eSksXG4gICAgICAuLi50aGlzLmdldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlcnMudGltZSldO1xuICAgIGlmICh0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLnRpdGxlICE9PSAnJykge1xuICAgICAgZmlsdGVyTmFtZXMgPSBbdGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLnRpdGxlXS5jb25jYXQoZmlsdGVyTmFtZXMpO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyTmFtZXM7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZpbHRlcnMoZmlsdGVyc0FycmF5KTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmaWx0ZXJzQXJyYXkuZmlsdGVyKGVsID0+IGVsLnZhbHVlKS5tYXAoZWwgPT4gZWwudGV4dCk7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoZmlsdGVyVGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKGZpbHRlclRleHQgPT09IHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycz8udGl0bGUpIHtcbiAgICAgIHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBmb3IgKCBjb25zdCBmaWx0ZXJUeXBlIGluIHRoaXMuZmlsdGVycykge1xuICAgICAgICAvLyBhZGRpdGlvbmFsRmlsdGVycyBpc24ndCBhbiBhcnJheSwgdGh1cyBpc24ndCBpdGVyYWJsZVxuICAgICAgICBpZiAodGhpcy5maWx0ZXJzLmhhc093blByb3BlcnR5KGZpbHRlclR5cGUpICYmIGZpbHRlclR5cGUgIT09ICdhZGRpdGlvbmFsRmlsdGVycycpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGZpbHRlckZpZWxkIG9mIHRoaXMuZmlsdGVyc1tmaWx0ZXJUeXBlXSkge1xuICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkLnRleHQgPT09IGZpbHRlclRleHQpIHsgZmlsdGVyRmllbGQudmFsdWUgPSBmYWxzZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gV2hlbiBmaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmVzLCBvbiBjbGljayBvbiBvbmUgd2UgdW5jaGVjayBhbGwgYmVmb3JlIG1vZGVsIGNoYW5nZVxuICB1bmNoZWNrRmlsdGVyc09uQ2hhbmdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlcnNbZmllbGRdLmZvckVhY2goZiA9PiBmLnZhbHVlID0gZmFsc2UpO1xuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKCl7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID8gJ2hpZGRlbicgOiAnYXV0byc7XG4gICAgfVxuICAgIHRoaXMuaXNGaWx0ZXJDb2xsYXBzZWQgPSAhdGhpcy5pc0ZpbHRlckNvbGxhcHNlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5maWx0ZXJDb2xsYXBzZWQuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlVXNlclByZWZlcmVuY2UocHJlZmVyZW5jZSwgc3RhdGUpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudXNlcnNTZXJ2aWNlLnNldFByZWZlcmVuY2UocHJlZmVyZW5jZSwgc3RhdGUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZWZlcmVuY2VzQ2hhbmdlZC5lbWl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlck9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy51c2Vyc1NlcnZpY2UuaXNMb2dnZWQkLnN1YnNjcmliZShsb2dnZWQgPT4ge1xuICAgICAgICB0aGlzLmlzTG9nZ2VkID0gbG9nZ2VkO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnVzZXJzU2VydmljZS5oYXNQcmVmZXJlbmNlKCdoYXNfY2hpbGRyZW4nKS5zdWJzY3JpYmUoaGFzQ2hpbGRyZW4gPT4ge1xuICAgICAgICB0aGlzLmhhc0NoaWxkcmVuID0gaGFzQ2hpbGRyZW47XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNcIiBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZVwiIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJ1xuICAgIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkLCAnbW9iaWxlLWZpeGVkJzptb2JpbGVGaXhlZH1cIj5cbiAgICA8c3BhbiAqbmdJZj1cImlzRmlsdGVyQ29sbGFwc2VkXCI+RmlsdHJlcjwvc3Bhbj5cbiAgICA8bmctbWlhbS1pY29uIFxuICAgICAgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIlxuICAgICAgW2hlaWdodF09JzMyJ1xuICAgICAgW3dpZHRoXT0nMzInXG4gICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXdoaXRlKVwiXG4gICAgICBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpc01vYmlsZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyX19kZXRhaWxzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyc1RvRGlzcGxheSAmJiBmaWx0ZXJzVG9EaXNwbGF5Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNUb0Rpc3BsYXlcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcl9fZGV0YWlsXCI+XG4gICAgICAgICAgPHNwYW4+e3tmaWx0ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJfX2RldGFpbF9faWNvblwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXIpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5DbGVhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+ICBcbiAgICBcbiAgICA8IS0tIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIiA+VHlwZSBkZSBwbGF0PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0eXBlIG9mIGZpbHRlcnMudHlwZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInR5cGUudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7dHlwZS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj4gLS0+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX190aXRsZVwiPkRpZmZpY3VsdMOpPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkaWZmaWN1bHR5IG9mIGZpbHRlcnMuZGlmZmljdWx0eVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImRpZmZpY3VsdHkudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7ZGlmZmljdWx0eS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RpdGxlXCI+Q2/Du3Q8L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvc3Qgb2YgZmlsdGVycy5jb3N0XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgnY29zdCcpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvc3QudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAge3tjb3N0LnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5UZW1wcyBkZSBwcsOpcGFyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRpbWUgb2YgZmlsdGVycy50aW1lXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgndGltZScpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInRpbWUudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAgJiM2MDsge3t0aW1lLnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3JlbW92ZVwiPlxuICAgICAgPGEgKGNsaWNrKT1cImZpbHRlclJlc2V0LmVtaXQoKVwiPlJldGlyZXIgdG91cyBsZXMgZmlsdHJlczwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNMb2dnZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19wcmVmZXJlbmNlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5QcsOpZsOpcmVuY2VzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlVXNlclByZWZlcmVuY2UoJ2hhc19jaGlsZHJlbicsICRldmVudClcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaGFzQ2hpbGRyZW5cIlxuICAgICAgICAgID5cbiAgICAgICAgICB7eyAoaGFzQ2hpbGRyZW4pID8gXCJKJ2FpIGRlcyBlbmZhbnRzXCIgOiBcIkplIG4nYWkgcGFzIGQnZW5mYW50XCIgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNNb2JpbGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZSBtb2JpbGUtZml4ZWRcIlxuICAgIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJz5cbiAgICAgIEZlcm1lclxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -19,7 +19,7 @@ export class TextInputComponent {
19
19
  }
20
20
  }
21
21
  TextInputComponent.ɵfac = function TextInputComponent_Factory(t) { return new (t || TextInputComponent)(); };
22
- TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, selectors: [["ng-miam-text-input"]], inputs: { icon: "icon", placeholder: "placeholder", formControl: "formControl" }, decls: 5, vars: 8, consts: [[1, "miam-text-input", "m-input"], ["type", "text", 1, "miam-text-input__input", 3, "id", "ngModel"], [1, "miam-text-input__label", 3, "for", "ngClass"], ["class", "miam-text-input__icon", "primaryColor", "var(--m-color-primary)", 3, "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-text-input__icon", 3, "iconName"]], template: function TextInputComponent_Template(rf, ctx) { if (rf & 1) {
22
+ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, selectors: [["ng-miam-text-input"]], inputs: { icon: "icon", placeholder: "placeholder", formControl: "formControl", disable: "disable" }, decls: 5, vars: 9, consts: [[1, "miam-text-input", "m-input"], ["type", "text", 1, "miam-text-input__input", 3, "id", "ngModel", "disabled"], [1, "miam-text-input__label", 3, "for", "ngClass"], ["class", "miam-text-input__icon", "primaryColor", "var(--m-color-primary)", 3, "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-text-input__icon", 3, "iconName"]], template: function TextInputComponent_Template(rf, ctx) { if (rf & 1) {
23
23
  i0.ɵɵelementStart(0, "div", 0);
24
24
  i0.ɵɵelement(1, "input", 1);
25
25
  i0.ɵɵelementStart(2, "label", 2);
@@ -29,9 +29,9 @@ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, se
29
29
  i0.ɵɵelementEnd();
30
30
  } if (rf & 2) {
31
31
  i0.ɵɵadvance(1);
32
- i0.ɵɵproperty("id", ctx.uniqueId)("ngModel", ctx.formControl == null ? null : ctx.formControl.value);
32
+ i0.ɵɵproperty("id", ctx.uniqueId)("ngModel", ctx.formControl == null ? null : ctx.formControl.value)("disabled", ctx.disable);
33
33
  i0.ɵɵadvance(1);
34
- i0.ɵɵproperty("for", ctx.uniqueId)("ngClass", i0.ɵɵpureFunction1(6, _c0, ctx.formControl == null ? null : ctx.formControl.value));
34
+ i0.ɵɵproperty("for", ctx.uniqueId)("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx.formControl == null ? null : ctx.formControl.value));
35
35
  i0.ɵɵadvance(1);
36
36
  i0.ɵɵtextInterpolate(ctx.placeholder);
37
37
  i0.ɵɵadvance(1);
@@ -52,5 +52,7 @@ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, se
52
52
  type: Input
53
53
  }], formControl: [{
54
54
  type: Input
55
+ }], disable: [{
56
+ type: Input
55
57
  }] }); })();
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQ0FsQyxrQ0FBZ0k7OztJQUF2RSxzQ0FBaUI7OztBRFM1RSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvRkFWVSxrQkFBa0I7dURBQWxCLGtCQUFrQjtRQ1ovQiw4QkFDRTtRQUFBLDJCQUNBO1FBQUEsZ0NBQXdIO1FBQUEsWUFBZTtRQUFBLGlCQUFRO1FBQy9JLHFGQUFpSDtRQUNuSCxpQkFBTTs7UUFIa0MsZUFBZTtRQUFmLGlDQUFlLG1FQUFBO1FBQ2YsZUFBZ0I7UUFBaEIsa0NBQWdCLCtGQUFBO1FBQWtFLGVBQWU7UUFBZixxQ0FBZTtRQUN6SCxlQUFZO1FBQVosK0JBQVk7O2tERFNmLGtCQUFrQjtjQVA5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzQ0FHVSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBJY29uO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgdW5pcXVlSWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51bmlxdWVJZCA9IHV1aWR2NCgpO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dCBtLWlucHV0XCI+XG4gIDxpbnB1dCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faW5wdXRcIiBbaWRdPVwidW5pcXVlSWRcIiBbbmdNb2RlbF09XCJmb3JtQ29udHJvbD8udmFsdWVcIiB0eXBlPVwidGV4dFwiIC8+XG4gIDxsYWJlbCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9fbGFiZWxcIiBbZm9yXT1cInVuaXF1ZUlkXCIgW25nQ2xhc3NdPVwieydtaWFtLXRleHQtaW5wdXRfX2xhYmVsX190b3AnOiBmb3JtQ29udHJvbD8udmFsdWV9XCIgPnt7cGxhY2Vob2xkZXJ9fTwvbGFiZWw+XG4gIDxuZy1taWFtLWljb24gKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtaWFtLXRleHQtaW5wdXRfX2ljb25cIiBbaWNvbk5hbWVdPVwiaWNvblwiIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItcHJpbWFyeSlcIj48L25nLW1pYW0taWNvbj5cbjwvZGl2PiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQ0FsQyxrQ0FBZ0k7OztJQUF2RSxzQ0FBaUI7OztBRFM1RSxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvRkFYVSxrQkFBa0I7dURBQWxCLGtCQUFrQjtRQ1ovQiw4QkFDRTtRQUFBLDJCQUNBO1FBQUEsZ0NBQXdIO1FBQUEsWUFBZTtRQUFBLGlCQUFRO1FBQy9JLHFGQUFpSDtRQUNuSCxpQkFBTTs7UUFIa0MsZUFBZTtRQUFmLGlDQUFlLG1FQUFBLHlCQUFBO1FBQ2YsZUFBZ0I7UUFBaEIsa0NBQWdCLCtGQUFBO1FBQWtFLGVBQWU7UUFBZixxQ0FBZTtRQUN6SCxlQUFZO1FBQVosK0JBQVk7O2tERFNmLGtCQUFrQjtjQVA5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzQ0FHVSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBJY29uO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGRpc2FibGU6IGJvb2xlYW47XG5cbiAgdW5pcXVlSWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51bmlxdWVJZCA9IHV1aWR2NCgpO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dCBtLWlucHV0XCI+XG4gIDxpbnB1dCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faW5wdXRcIiBbaWRdPVwidW5pcXVlSWRcIiBbbmdNb2RlbF09XCJmb3JtQ29udHJvbD8udmFsdWVcIiB0eXBlPVwidGV4dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCIgLz5cbiAgPGxhYmVsIGNsYXNzPVwibWlhbS10ZXh0LWlucHV0X19sYWJlbFwiIFtmb3JdPVwidW5pcXVlSWRcIiBbbmdDbGFzc109XCJ7J21pYW0tdGV4dC1pbnB1dF9fbGFiZWxfX3RvcCc6IGZvcm1Db250cm9sPy52YWx1ZX1cIiA+e3twbGFjZWhvbGRlcn19PC9sYWJlbD5cbiAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faWNvblwiIFtpY29uTmFtZV09XCJpY29uXCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1wcmltYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuPC9kaXY+Il19
@@ -0,0 +1,43 @@
1
+ import { DocumentCollection, DocumentResource, Resource } from 'ngx-jsonapi';
2
+ export class Article extends Resource {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.attributes = {
6
+ title: '',
7
+ image: '',
8
+ url: '',
9
+ logo: '',
10
+ date: '',
11
+ 'hidden-css-classes': ''
12
+ };
13
+ this.relationships = {
14
+ provider: new DocumentResource(),
15
+ packages: new DocumentCollection()
16
+ };
17
+ }
18
+ get title() {
19
+ return this.attributes.title;
20
+ }
21
+ get image() {
22
+ return this.attributes.image;
23
+ }
24
+ get url() {
25
+ return this.attributes.url;
26
+ }
27
+ get logo() {
28
+ return this.attributes.logo;
29
+ }
30
+ get date() {
31
+ if (!this.attributes.date) {
32
+ return null;
33
+ }
34
+ return new Date(this.attributes.date);
35
+ }
36
+ get hiddenCssClasses() {
37
+ return this.attributes['hidden-css-classes'].toString().split(',');
38
+ }
39
+ set hiddenCssClasses(classes) {
40
+ this.attributes['hidden-css-classes'] = classes.join(',');
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9hcnRpY2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0UsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUFRO0lBQXJDOztRQUNFLGVBQVUsR0FBRztZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtZQUNQLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixvQkFBb0IsRUFBRSxFQUFFO1NBQ3pCLENBQUM7UUFFRixrQkFBYSxHQUFHO1lBQ2QsUUFBUSxFQUFFLElBQUksZ0JBQWdCLEVBQWtCO1lBQ2hELFFBQVEsRUFBRSxJQUFJLGtCQUFrQixFQUFXO1NBQzVDLENBQUM7SUFpQ0osQ0FBQztJQS9CQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLE9BQWlCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50Q29sbGVjdGlvbiwgRG9jdW1lbnRSZXNvdXJjZSwgUmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBSZWNpcGVQcm92aWRlciwgUGFja2FnZSB9IGZyb20gJy4nO1xuXG5leHBvcnQgY2xhc3MgQXJ0aWNsZSBleHRlbmRzIFJlc291cmNlIHtcbiAgYXR0cmlidXRlcyA9IHtcbiAgICB0aXRsZTogJycsXG4gICAgaW1hZ2U6ICcnLFxuICAgIHVybDogJycsXG4gICAgbG9nbzogJycsXG4gICAgZGF0ZTogJycsXG4gICAgJ2hpZGRlbi1jc3MtY2xhc3Nlcyc6ICcnXG4gIH07XG5cbiAgcmVsYXRpb25zaGlwcyA9IHtcbiAgICBwcm92aWRlcjogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlUHJvdmlkZXI+KCksXG4gICAgcGFja2FnZXM6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248UGFja2FnZT4oKVxuICB9O1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICBnZXQgaW1hZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLmltYWdlO1xuICB9XG5cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMudXJsO1xuICB9XG5cbiAgZ2V0IGxvZ28oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLmxvZ287XG4gIH1cblxuICBnZXQgZGF0ZSgpOiBEYXRlIHtcbiAgICBpZiAoIXRoaXMuYXR0cmlidXRlcy5kYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5hdHRyaWJ1dGVzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IGhpZGRlbkNzc0NsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbJ2hpZGRlbi1jc3MtY2xhc3NlcyddLnRvU3RyaW5nKCkuc3BsaXQoJywnKTtcbiAgfVxuXG4gIHNldCBoaWRkZW5Dc3NDbGFzc2VzKGNsYXNzZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hdHRyaWJ1dGVzWydoaWRkZW4tY3NzLWNsYXNzZXMnXSA9IGNsYXNzZXMuam9pbignLCcpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Resource, DocumentCollection, DocumentResource } from 'ngx-jsonapi';
2
- import { environment } from '../environment';
2
+ import { environment } from '../environments/environment';
3
3
  export class Basket extends Resource {
4
4
  constructor() {
5
5
  super(...arguments);
@@ -34,4 +34,4 @@ export class Basket extends Resource {
34
34
  return this.attributes.token;
35
35
  }
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL2Jhc2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU83QyxNQUFNLE9BQU8sTUFBTyxTQUFRLFFBQVE7SUFBcEM7O1FBQ1MsZUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFDO1lBQ2pDLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsbUVBQW1FO1NBQ2hGLENBQUE7UUFFTSxrQkFBYSxHQUFHO1lBQ3JCLGdCQUFnQixFQUFFLElBQUksa0JBQWtCLEVBQWU7WUFDdkQsZUFBZSxFQUFFLElBQUksZ0JBQWdCLEVBQWU7U0FDckQsQ0FBQztJQXlCSixDQUFDO0lBdkJDLElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlLCBEb2N1bWVudENvbGxlY3Rpb24sIERvY3VtZW50UmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSB9IGZyb20gJy4vYmFza2V0LWVudHJ5JztcbmltcG9ydCB7IFBvaW50T2ZTYWxlIH0gZnJvbSAnLi9wb2ludC1vZi1zYWxlJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2tldENvbXBsZXRpb24ge1xuICB0b3RhbDogbnVtYmVyO1xuICBmb3VuZDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgQmFza2V0IGV4dGVuZHMgUmVzb3VyY2Uge1xuICBwdWJsaWMgYXR0cmlidXRlcyA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICBjb25maXJtZWQ6IGZhbHNlLFxuICAgIGNvbXBsZXRpb246IHsgdG90YWw6IDAsIGZvdW5kOiAwfSxcbiAgICAndG90YWwtcHJpY2UnOiAwLFxuICAgIHRva2VuOiBudWxsIC8vIHRva2VuIGV4cG9zZWQgb25seSBvbiBiYXNrZXQgY29uZmlybWF0aW9uIChQQVRDSCBjb25maXJtZWQ9dHJ1ZSlcbiAgfVxuXG4gIHB1YmxpYyByZWxhdGlvbnNoaXBzID0ge1xuICAgICdiYXNrZXQtZW50cmllcyc6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248QmFza2V0RW50cnk+KCksXG4gICAgJ3BvaW50LW9mLXNhbGUnOiBuZXcgRG9jdW1lbnRSZXNvdXJjZTxQb2ludE9mU2FsZT4oKVxuICB9O1xuXG4gIHB1YmxpYyBnZXQgcmVkaXJlY3RVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvYmFza2V0cy8ke3RoaXMuaWR9L3JlZGlyZWN0YDtcbiAgfVxuXG4gIGdldCBjb21wbGV0aW9uKCk6IEJhc2tldENvbXBsZXRpb24ge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuY29tcGxldGlvbjtcbiAgfVxuXG4gIGdldCBlbnRyaWVzKCk6IEJhc2tldEVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uc2hpcHNbJ2Jhc2tldC1lbnRyaWVzJ10gJiYgdGhpcy5yZWxhdGlvbnNoaXBzWydiYXNrZXQtZW50cmllcyddLmRhdGE7XG4gIH1cblxuICBnZXQgdG90YWxQcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbJ3RvdGFsLXByaWNlJ107XG4gIH1cblxuICBnZXQgdG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLnRva2VuO1xuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL2Jhc2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU8xRCxNQUFNLE9BQU8sTUFBTyxTQUFRLFFBQVE7SUFBcEM7O1FBQ1MsZUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFDO1lBQ2pDLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsbUVBQW1FO1NBQ2hGLENBQUE7UUFFTSxrQkFBYSxHQUFHO1lBQ3JCLGdCQUFnQixFQUFFLElBQUksa0JBQWtCLEVBQWU7WUFDdkQsZUFBZSxFQUFFLElBQUksZ0JBQWdCLEVBQWU7U0FDckQsQ0FBQztJQXlCSixDQUFDO0lBdkJDLElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlLCBEb2N1bWVudENvbGxlY3Rpb24sIERvY3VtZW50UmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSwgUG9pbnRPZlNhbGUgfSBmcm9tICcuJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNrZXRDb21wbGV0aW9uIHtcbiAgdG90YWw6IG51bWJlcjtcbiAgZm91bmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2tldCBleHRlbmRzIFJlc291cmNlIHtcbiAgcHVibGljIGF0dHJpYnV0ZXMgPSB7XG4gICAgbmFtZTogJycsXG4gICAgY29uZmlybWVkOiBmYWxzZSxcbiAgICBjb21wbGV0aW9uOiB7IHRvdGFsOiAwLCBmb3VuZDogMH0sXG4gICAgJ3RvdGFsLXByaWNlJzogMCxcbiAgICB0b2tlbjogbnVsbCAvLyB0b2tlbiBleHBvc2VkIG9ubHkgb24gYmFza2V0IGNvbmZpcm1hdGlvbiAoUEFUQ0ggY29uZmlybWVkPXRydWUpXG4gIH1cblxuICBwdWJsaWMgcmVsYXRpb25zaGlwcyA9IHtcbiAgICAnYmFza2V0LWVudHJpZXMnOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPEJhc2tldEVudHJ5PigpLFxuICAgICdwb2ludC1vZi1zYWxlJzogbmV3IERvY3VtZW50UmVzb3VyY2U8UG9pbnRPZlNhbGU+KClcbiAgfTtcblxuICBwdWJsaWMgZ2V0IHJlZGlyZWN0VXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL2Jhc2tldHMvJHt0aGlzLmlkfS9yZWRpcmVjdGA7XG4gIH1cblxuICBnZXQgY29tcGxldGlvbigpOiBCYXNrZXRDb21wbGV0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLmNvbXBsZXRpb247XG4gIH1cblxuICBnZXQgZW50cmllcygpOiBCYXNrZXRFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzWydiYXNrZXQtZW50cmllcyddICYmIHRoaXMucmVsYXRpb25zaGlwc1snYmFza2V0LWVudHJpZXMnXS5kYXRhO1xuICB9XG5cbiAgZ2V0IHRvdGFsUHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzWyd0b3RhbC1wcmljZSddO1xuICB9XG5cbiAgZ2V0IHRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy50b2tlbjtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './ingredient';
2
2
  export * from './item';
3
3
  export * from './point-of-sale';
4
+ export * from './package';
4
5
  export * from './quantity-unit';
5
6
  export * from './recipe';
6
7
  export * from './recipe-provider';
@@ -14,4 +15,6 @@ export * from './basket-entry';
14
15
  export * from './basket-entries-item';
15
16
  export * from './basket-preview-line';
16
17
  export * from './sponsor';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmdyZWRpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50LW9mLXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS11bml0JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXNoYXJlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1zdGVwJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdXBwbGllcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2tldCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2tldC1lbnRyeSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2tldC1lbnRyaWVzLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQtcHJldmlldy1saW5lJztcbmV4cG9ydCAqIGZyb20gJy4vc3BvbnNvcic7XG4iXX0=
18
+ export * from './article';
19
+ export * from './user';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmdyZWRpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50LW9mLXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vcXVhbnRpdHktdW5pdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1zaGFyZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtc3RlcCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3VwcGxpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQtZW50cnknO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXQtZW50cmllcy1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vYmFza2V0LXByZXZpZXctbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nwb25zb3InO1xuZXhwb3J0ICogZnJvbSAnLi9hcnRpY2xlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG4iXX0=
@@ -3,14 +3,15 @@ export class Ingredient extends Resource {
3
3
  constructor() {
4
4
  super(...arguments);
5
5
  this.attributes = {
6
- 'name': '',
7
- 'quantity': '',
8
- 'unit': '',
9
- 'active': true,
10
- 'forced-eans': []
6
+ name: '',
7
+ quantity: '',
8
+ unit: '',
9
+ active: true,
10
+ 'forced-eans': [],
11
+ picture: ''
11
12
  };
12
13
  this.relationships = {
13
- 'recipe': new DocumentResource(),
14
+ recipe: new DocumentResource(),
14
15
  'quantity-unit': new DocumentResource()
15
16
  };
16
17
  }
@@ -23,5 +24,8 @@ export class Ingredient extends Resource {
23
24
  return '1';
24
25
  }
25
26
  }
27
+ get picture() {
28
+ return this.attributes.picture;
29
+ }
26
30
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVkaWVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9pbmdyZWRpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJekQsTUFBTSxPQUFPLFVBQVcsU0FBUSxRQUFRO0lBQXhDOztRQUNTLGVBQVUsR0FBRztZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLFVBQVUsRUFBRSxFQUFFO1lBQ2QsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7UUFFSyxrQkFBYSxHQUFHO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixFQUFVO1lBQ3hDLGVBQWUsRUFBRSxJQUFJLGdCQUFnQixFQUFnQjtTQUN0RCxDQUFBO0lBVUgsQ0FBQztJQVJDLElBQVcsUUFBUTtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzVCLHVEQUF1RDtZQUN2RCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hEO2FBQU07WUFDTCxPQUFPLEdBQUcsQ0FBQztTQUNaO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UsIERvY3VtZW50UmVzb3VyY2UgfSBmcm9tIFwibmd4LWpzb25hcGlcIjtcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gXCIuL3JlY2lwZVwiO1xuaW1wb3J0IHsgUXVhbnRpdHlVbml0IH0gZnJvbSBcIi4vcXVhbnRpdHktdW5pdFwiO1xuXG5leHBvcnQgY2xhc3MgSW5ncmVkaWVudCBleHRlbmRzIFJlc291cmNlIHtcbiAgcHVibGljIGF0dHJpYnV0ZXMgPSB7XG4gICAgJ25hbWUnOiAnJyxcbiAgICAncXVhbnRpdHknOiAnJyxcbiAgICAndW5pdCc6ICcnLFxuICAgICdhY3RpdmUnOiB0cnVlLFxuICAgICdmb3JjZWQtZWFucyc6IFtdXG4gIH07XG5cbiAgcHVibGljIHJlbGF0aW9uc2hpcHMgPSB7XG4gICAgJ3JlY2lwZSc6IG5ldyBEb2N1bWVudFJlc291cmNlPFJlY2lwZT4oKSxcbiAgICAncXVhbnRpdHktdW5pdCc6IG5ldyBEb2N1bWVudFJlc291cmNlPFF1YW50aXR5VW5pdD4oKVxuICB9XG5cbiAgcHVibGljIGdldCBxdWFudGl0eSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmF0dHJpYnV0ZXMucXVhbnRpdHkpIHtcbiAgICAgIC8vICAvIVxcIHRvTG9jYWxTdHJpbmcgY2FuIHRyYW5zcGhvcm0gYW4gZG90IGludG8gYSBjb21hXG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aGlzLmF0dHJpYnV0ZXMucXVhbnRpdHkpLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnMSc7XG4gICAgfVxuICB9XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVkaWVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9pbmdyZWRpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJekQsTUFBTSxPQUFPLFVBQVcsU0FBUSxRQUFRO0lBQXhDOztRQUNFLGVBQVUsR0FBRztZQUNYLElBQUksRUFBRSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osYUFBYSxFQUFFLEVBQUU7WUFDakIsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUYsa0JBQWEsR0FBRztZQUNkLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFVO1lBQ3RDLGVBQWUsRUFBRSxJQUFJLGdCQUFnQixFQUFnQjtTQUN0RCxDQUFBO0lBY0gsQ0FBQztJQVpDLElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsdURBQXVEO1lBQ3ZELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDeEQ7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZSwgRG9jdW1lbnRSZXNvdXJjZSB9IGZyb20gXCJuZ3gtanNvbmFwaVwiO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSBcIi4vcmVjaXBlXCI7XG5pbXBvcnQgeyBRdWFudGl0eVVuaXQgfSBmcm9tIFwiLi9xdWFudGl0eS11bml0XCI7XG5cbmV4cG9ydCBjbGFzcyBJbmdyZWRpZW50IGV4dGVuZHMgUmVzb3VyY2Uge1xuICBhdHRyaWJ1dGVzID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHF1YW50aXR5OiAnJyxcbiAgICB1bml0OiAnJyxcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgJ2ZvcmNlZC1lYW5zJzogW10sXG4gICAgcGljdHVyZTogJydcbiAgfTtcblxuICByZWxhdGlvbnNoaXBzID0ge1xuICAgIHJlY2lwZTogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlPigpLFxuICAgICdxdWFudGl0eS11bml0JzogbmV3IERvY3VtZW50UmVzb3VyY2U8UXVhbnRpdHlVbml0PigpXG4gIH1cblxuICBnZXQgcXVhbnRpdHkoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hdHRyaWJ1dGVzLnF1YW50aXR5KSB7XG4gICAgICAvLyAgLyFcXCB0b0xvY2FsU3RyaW5nIGNhbiB0cmFuc3Bob3JtIGFuIGRvdCBpbnRvIGEgY29tYVxuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGhpcy5hdHRyaWJ1dGVzLnF1YW50aXR5KS50b1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJzEnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwaWN0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy5waWN0dXJlO1xuICB9XG59XG4iXX0=
@@ -1,18 +1,29 @@
1
- import { DocumentResource, Resource } from 'ngx-jsonapi';
1
+ import { DocumentCollection, DocumentResource, Resource } from 'ngx-jsonapi';
2
2
  export class Package extends Resource {
3
3
  constructor() {
4
4
  super(...arguments);
5
5
  this.attributes = {
6
6
  title: '',
7
7
  'author-id': '',
8
+ // system: '',
9
+ editable: false,
10
+ shared: false,
11
+ 'catalog-category': false,
12
+ 'catalog-position': '',
13
+ 'recipes-count': ''
8
14
  };
9
15
  this.relationships = {
10
16
  provider: new DocumentResource(),
11
- status: new DocumentResource()
17
+ status: new DocumentResource(),
18
+ recipes: new DocumentCollection(),
19
+ 'shared-suppliers': new DocumentCollection()
12
20
  };
13
21
  }
14
22
  get title() {
15
23
  return this.attributes.title;
16
24
  }
25
+ get status() {
26
+ return this.relationships && this.relationships.status && this.relationships.status.data;
27
+ }
17
28
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9wYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFJdkQsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUFRO0lBQXJDOztRQUNTLGVBQVUsR0FBRztZQUNsQixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1NBRWhCLENBQUM7UUFNRixrQkFBYSxHQUFHO1lBQ2QsUUFBUSxFQUFFLElBQUksZ0JBQWdCLEVBQWtCO1lBQ2hELE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFnQjtTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQVJDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQU1GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEb2N1bWVudFJlc291cmNlLCBSZXNvdXJjZX0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXIgfSBmcm9tICcuL3JlY2lwZS1wcm92aWRlcic7XG5pbXBvcnQgeyBSZWNpcGVTdGF0dXMgfSBmcm9tICcuL3JlY2lwZS1zdGF0dXMnO1xuXG5leHBvcnQgY2xhc3MgUGFja2FnZSBleHRlbmRzIFJlc291cmNlIHtcbiAgcHVibGljIGF0dHJpYnV0ZXMgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgICdhdXRob3ItaWQnOiAnJyxcbiAgICAvLyBzeXN0ZW06ICcnXG4gIH07XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy50aXRsZTtcbiAgfVxuXG4gIHJlbGF0aW9uc2hpcHMgPSB7XG4gICAgcHJvdmlkZXI6IG5ldyBEb2N1bWVudFJlc291cmNlPFJlY2lwZVByb3ZpZGVyPigpLFxuICAgIHN0YXR1czogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlU3RhdHVzPigpXG4gIH07XG59Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9wYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0UsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUFRO0lBQXJDOztRQUNTLGVBQVUsR0FBRztZQUNsQixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYztZQUNkLFFBQVEsRUFBRSxLQUFLO1lBQ2YsTUFBTSxFQUFFLEtBQUs7WUFDYixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGtCQUFrQixFQUFFLEVBQUU7WUFDdEIsZUFBZSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztRQU1GLGtCQUFhLEdBQUc7WUFDZCxRQUFRLEVBQUUsSUFBSSxnQkFBZ0IsRUFBa0I7WUFDaEQsTUFBTSxFQUFFLElBQUksZ0JBQWdCLEVBQWdCO1lBQzVDLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixFQUFVO1lBQ3pDLGtCQUFrQixFQUFFLElBQUksa0JBQWtCLEVBQVk7U0FDdkQsQ0FBQztJQUtKLENBQUM7SUFkQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFTRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzNGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50Q29sbGVjdGlvbiwgRG9jdW1lbnRSZXNvdXJjZSwgUmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBTdXBwbGllciwgUmVjaXBlLCBSZWNpcGVQcm92aWRlciwgUmVjaXBlU3RhdHVzfSBmcm9tICcuJztcblxuZXhwb3J0IGNsYXNzIFBhY2thZ2UgZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIHB1YmxpYyBhdHRyaWJ1dGVzID0ge1xuICAgIHRpdGxlOiAnJyxcbiAgICAnYXV0aG9yLWlkJzogJycsXG4gICAgLy8gc3lzdGVtOiAnJyxcbiAgICBlZGl0YWJsZTogZmFsc2UsXG4gICAgc2hhcmVkOiBmYWxzZSxcbiAgICAnY2F0YWxvZy1jYXRlZ29yeSc6IGZhbHNlLFxuICAgICdjYXRhbG9nLXBvc2l0aW9uJzogJycsXG4gICAgJ3JlY2lwZXMtY291bnQnOiAnJ1xuICB9O1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICByZWxhdGlvbnNoaXBzID0ge1xuICAgIHByb3ZpZGVyOiBuZXcgRG9jdW1lbnRSZXNvdXJjZTxSZWNpcGVQcm92aWRlcj4oKSxcbiAgICBzdGF0dXM6IG5ldyBEb2N1bWVudFJlc291cmNlPFJlY2lwZVN0YXR1cz4oKSxcbiAgICByZWNpcGVzOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4oKSxcbiAgICAnc2hhcmVkLXN1cHBsaWVycyc6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248U3VwcGxpZXI+KClcbiAgfTtcblxuICBnZXQgc3RhdHVzKCk6IFJlY2lwZVN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25zaGlwcyAmJiB0aGlzLnJlbGF0aW9uc2hpcHMuc3RhdHVzICYmIHRoaXMucmVsYXRpb25zaGlwcy5zdGF0dXMuZGF0YTtcbiAgfVxufVxuIl19