@colijnit/transaction 1.9.31 → 12.0.1

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 (125) hide show
  1. package/app/component/common/icon/icon.component.d.ts +1 -2
  2. package/bundles/colijnit-transaction.umd.js +950 -983
  3. package/bundles/colijnit-transaction.umd.js.map +1 -1
  4. package/colijnit-transaction.d.ts +14 -14
  5. package/colijnit-transaction.metadata.json +1 -1
  6. package/esm2015/app/component/checkout/checkout/checkout.component.js +22 -26
  7. package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +18 -27
  8. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +26 -49
  9. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +17 -24
  10. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +18 -24
  11. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +27 -42
  12. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +19 -22
  13. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +25 -36
  14. package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +18 -24
  15. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +16 -21
  16. package/esm2015/app/component/checkout/ione-checkout.component.js +27 -34
  17. package/esm2015/app/component/checkout/ione-checkout.module.js +55 -58
  18. package/esm2015/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +16 -18
  19. package/esm2015/app/component/common/icon/icon.component.js +14 -18
  20. package/esm2015/app/component/common/image-display/image-display.component.js +19 -36
  21. package/esm2015/app/component/common/no-image-display/no-image-display.component.js +14 -20
  22. package/esm2015/app/component/core/core.module.js +32 -34
  23. package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +20 -27
  24. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +31 -48
  25. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +51 -52
  26. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +29 -49
  27. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +25 -38
  28. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +27 -38
  29. package/esm2015/app/component/shopping-cart/stock-status-indicator/stock-status-indicator.component.js +13 -17
  30. package/esm2015/app/enum/checkout-steps.enum.js +1 -1
  31. package/esm2015/app/enum/content-view-mode.enum.js +1 -1
  32. package/esm2015/app/enum/direction.enum.js +1 -1
  33. package/esm2015/app/enum/language-code.enum.js +1 -1
  34. package/esm2015/app/enum/order-discount-type.enum.js +1 -1
  35. package/esm2015/app/enum/time-size.type.js +1 -1
  36. package/esm2015/app/model/business-object.js +6 -6
  37. package/esm2015/app/model/text-value-container.js +1 -1
  38. package/esm2015/app/pipe/append.pipe.js +6 -8
  39. package/esm2015/app/pipe/co-currency.pipe.js +8 -11
  40. package/esm2015/app/pipe/date-duration.pipe.js +6 -8
  41. package/esm2015/app/pipe/delivery-time.pipe.js +6 -8
  42. package/esm2015/app/pipe/localize.pipe.js +9 -13
  43. package/esm2015/app/pipe/safe-style-pipe.js +9 -11
  44. package/esm2015/app/service/dictionary.service.js +10 -10
  45. package/esm2015/app/service/ione-connector-adapter.service.js +8 -8
  46. package/esm2015/app/service/options.service.js +8 -8
  47. package/esm2015/app/service/transaction-event.service.js +6 -8
  48. package/esm2015/app/service/transaction.service.js +11 -12
  49. package/esm2015/app/utils/string-utils.js +1 -1
  50. package/esm2015/assets/dictionary/text.properties.js +1 -1
  51. package/esm2015/colijnit-transaction.js +15 -15
  52. package/esm2015/factory/business-object-factory.js +1 -1
  53. package/esm2015/factory/decorators/boolean.decorator.js +1 -1
  54. package/esm2015/factory/decorators/complex-array.decorator.js +1 -1
  55. package/esm2015/factory/decorators/complex-field.decorator.js +2 -2
  56. package/esm2015/factory/decorators/date-field.decorator.js +1 -1
  57. package/esm2015/factory/decorators/string-number.decorator.js +1 -1
  58. package/esm2015/public_api.js +1 -1
  59. package/esm2015/utils/array-utils.js +1 -1
  60. package/esm2015/utils/is-nill.function.js +1 -1
  61. package/fesm2015/colijnit-transaction.js +640 -799
  62. package/fesm2015/colijnit-transaction.js.map +1 -1
  63. package/package.json +33 -23
  64. package/bundles/colijnit-transaction.umd.min.js +0 -16
  65. package/bundles/colijnit-transaction.umd.min.js.map +0 -1
  66. package/enum/icon.enum.d.ts +0 -281
  67. package/esm2015/enum/icon.enum.js +0 -283
  68. package/esm5/app/component/checkout/checkout/checkout.component.js +0 -196
  69. package/esm5/app/component/checkout/checkout-login/checkout-login.component.js +0 -62
  70. package/esm5/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -183
  71. package/esm5/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -48
  72. package/esm5/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -34
  73. package/esm5/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -298
  74. package/esm5/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -98
  75. package/esm5/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -303
  76. package/esm5/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -33
  77. package/esm5/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -48
  78. package/esm5/app/component/checkout/ione-checkout.component.js +0 -163
  79. package/esm5/app/component/checkout/ione-checkout.module.js +0 -82
  80. package/esm5/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +0 -62
  81. package/esm5/app/component/common/icon/icon.component.js +0 -40
  82. package/esm5/app/component/common/image-display/image-display.component.js +0 -57
  83. package/esm5/app/component/common/no-image-display/no-image-display.component.js +0 -29
  84. package/esm5/app/component/core/core.module.js +0 -48
  85. package/esm5/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -66
  86. package/esm5/app/component/shopping-cart/ione-shopping-cart.component.js +0 -169
  87. package/esm5/app/component/shopping-cart/ione-shopping-cart.module.js +0 -70
  88. package/esm5/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -179
  89. package/esm5/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -208
  90. package/esm5/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -563
  91. package/esm5/app/component/shopping-cart/stock-status-indicator/stock-status-indicator.component.js +0 -28
  92. package/esm5/app/enum/checkout-steps.enum.js +0 -10
  93. package/esm5/app/enum/content-view-mode.enum.js +0 -10
  94. package/esm5/app/enum/direction.enum.js +0 -9
  95. package/esm5/app/enum/language-code.enum.js +0 -8
  96. package/esm5/app/enum/order-discount-type.enum.js +0 -7
  97. package/esm5/app/enum/time-size.type.js +0 -10
  98. package/esm5/app/model/business-object.js +0 -85
  99. package/esm5/app/model/text-value-container.js +0 -7
  100. package/esm5/app/pipe/append.pipe.js +0 -22
  101. package/esm5/app/pipe/co-currency.pipe.js +0 -55
  102. package/esm5/app/pipe/date-duration.pipe.js +0 -61
  103. package/esm5/app/pipe/delivery-time.pipe.js +0 -38
  104. package/esm5/app/pipe/localize.pipe.js +0 -34
  105. package/esm5/app/pipe/safe-style-pipe.js +0 -22
  106. package/esm5/app/service/dictionary.service.js +0 -83
  107. package/esm5/app/service/ione-connector-adapter.service.js +0 -549
  108. package/esm5/app/service/options.service.js +0 -108
  109. package/esm5/app/service/transaction-event.service.js +0 -21
  110. package/esm5/app/service/transaction.service.js +0 -690
  111. package/esm5/app/utils/string-utils.js +0 -73
  112. package/esm5/assets/dictionary/text.properties.js +0 -282
  113. package/esm5/colijnit-transaction.js +0 -36
  114. package/esm5/enum/icon.enum.js +0 -283
  115. package/esm5/factory/business-object-factory.js +0 -122
  116. package/esm5/factory/decorators/boolean.decorator.js +0 -106
  117. package/esm5/factory/decorators/complex-array.decorator.js +0 -59
  118. package/esm5/factory/decorators/complex-field.decorator.js +0 -61
  119. package/esm5/factory/decorators/date-field.decorator.js +0 -40
  120. package/esm5/factory/decorators/string-number.decorator.js +0 -47
  121. package/esm5/public_api.js +0 -8
  122. package/esm5/utils/array-utils.js +0 -188
  123. package/esm5/utils/is-nill.function.js +0 -5
  124. package/fesm5/colijnit-transaction.js +0 -5620
  125. package/fesm5/colijnit-transaction.js.map +0 -1
@@ -1,303 +0,0 @@
1
- import { __awaiter, __decorate, __generator } from "tslib";
2
- import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Input, OnInit, Output, ViewChild } from "@angular/core";
3
- import { NULL_RELATION_OBJECT } from "@colijnit/transactionapi/build/model/nul-relation-object";
4
- import { CommunicationType } from "@colijnit/transactionapi/build/enum/communication-type.enum";
5
- import { ContactOption } from "@colijnit/transactionapi/build/model/contact-option.bo";
6
- import { isNill } from "@colijnit/transactionapi/build/utils/function/is-nill.function";
7
- import { RelationNameKind } from "@colijnit/transactionapi/build/enum/relation-name-kind.enum";
8
- import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
9
- import { GenderType } from "@colijnit/transactionapi/build/enum/gender-type.enum";
10
- import { TransactionService } from "../../../service/transaction.service";
11
- import { BusinessObjectUtils } from "@colijnit/transactionapi/build/utils/business-object-utils";
12
- import { FormComponent } from "@colijnit/corecomponents_v9";
13
- import { FunctionUtils } from "@colijnit/transactionapi/build/utils/function-utils";
14
- import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
15
- import { CoSidebarComponent } from "@colijnit/corecomponents_v9";
16
- import { Address } from "@colijnit/transactionapi/build/model/address.bo";
17
- var CheckoutOverviewRelationEditComponent = /** @class */ (function () {
18
- function CheckoutOverviewRelationEditComponent(_changeDetector, _transactionService) {
19
- var _this = this;
20
- this._changeDetector = _changeDetector;
21
- this._transactionService = _transactionService;
22
- this.validSubmit = new EventEmitter();
23
- this.invalidSubmit = new EventEmitter();
24
- this.testje = false;
25
- this.dateOfBirth = new Date();
26
- this.accountPassword = "";
27
- this.hide = true;
28
- this.gender = GenderType.Unspecified;
29
- this.emailAddress = new ContactOption();
30
- this.phoneNumber = new ContactOption();
31
- this.relationSuggestions = [];
32
- this.showRelationSidebar = false;
33
- this.inviteToAccount = false;
34
- this.relType = RelationNameKind;
35
- this.genderType = GenderType;
36
- this._relation = NULL_RELATION_OBJECT;
37
- // fetches relation suggestions
38
- this._relationNameChangeHandler = FunctionUtils.Throttle(function () {
39
- return _this._relationNameChangedHandlerFn();
40
- // tslint:disable-next-line:no-magic-numbers
41
- }, 600);
42
- }
43
- Object.defineProperty(CheckoutOverviewRelationEditComponent.prototype, "relation", {
44
- get: function () {
45
- return this._relation;
46
- },
47
- set: function (value) {
48
- this._relation = value;
49
- this.preparePrimaryEmail();
50
- this.preparePrimaryPhone();
51
- },
52
- enumerable: true,
53
- configurable: true
54
- });
55
- Object.defineProperty(CheckoutOverviewRelationEditComponent.prototype, "relationAsCustomer", {
56
- get: function () {
57
- return this._relation && this._relation;
58
- },
59
- enumerable: true,
60
- configurable: true
61
- });
62
- Object.defineProperty(CheckoutOverviewRelationEditComponent.prototype, "editFirstAddress", {
63
- get: function () {
64
- if (this.firstAddress) {
65
- return this.firstAddress;
66
- }
67
- else if (this._relation) {
68
- var address = new Address();
69
- address.addressType = AddressType.DeliveryAddress;
70
- address.startDate = new Date();
71
- address.sequence = this._relation.getNextAddressSequence();
72
- this._relation.addresses.push(address);
73
- return address;
74
- }
75
- },
76
- enumerable: true,
77
- configurable: true
78
- });
79
- Object.defineProperty(CheckoutOverviewRelationEditComponent.prototype, "firstAddress", {
80
- get: function () {
81
- if (!this.relation || !this._relation.addresses.length) {
82
- return;
83
- }
84
- return this._relation.getFirstAvailableAddress([
85
- AddressType.DeliveryAddress,
86
- AddressType.BillingAddress,
87
- AddressType.VisitingAddress,
88
- AddressType.MailingAddress,
89
- AddressType.NursingAddress
90
- ]);
91
- },
92
- enumerable: true,
93
- configurable: true
94
- });
95
- Object.defineProperty(CheckoutOverviewRelationEditComponent.prototype, "applicationUser", {
96
- get: function () {
97
- return this._transactionService.applicationUser;
98
- },
99
- enumerable: true,
100
- configurable: true
101
- });
102
- CheckoutOverviewRelationEditComponent.prototype.ngOnInit = function () {
103
- return __awaiter(this, void 0, void 0, function () {
104
- return __generator(this, function (_a) {
105
- switch (_a.label) {
106
- case 0:
107
- this._relation.type = this.relType.Private;
108
- this._relation.gender = this.gender;
109
- return [4 /*yield*/, this.loadPrivacySettings()];
110
- case 1:
111
- _a.sent();
112
- this._changeDetector.detectChanges();
113
- return [2 /*return*/];
114
- }
115
- });
116
- });
117
- };
118
- CheckoutOverviewRelationEditComponent.prototype.ngAfterViewInit = function () {
119
- this._changeDetector.detectChanges();
120
- };
121
- CheckoutOverviewRelationEditComponent.prototype.submit = function () {
122
- return this.relationForm.submit();
123
- };
124
- CheckoutOverviewRelationEditComponent.prototype.preparePrimaryEmail = function () {
125
- if (this._relation) {
126
- this.emailAddress = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);
127
- if (isNill(this.emailAddress)) {
128
- this.emailAddress = new ContactOption();
129
- this.emailAddress.type = CommunicationType.Email;
130
- this.emailAddress.sequence = 0;
131
- this._relation.addContactOption(this.emailAddress);
132
- }
133
- if (this._transactionService.emailAddress) {
134
- this.emailAddress.value = this._transactionService.emailAddress;
135
- }
136
- }
137
- };
138
- CheckoutOverviewRelationEditComponent.prototype.preparePrimaryPhone = function () {
139
- if (this._relation) {
140
- this.phoneNumber = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);
141
- if (isNill(this.phoneNumber)) {
142
- this.phoneNumber = new ContactOption();
143
- this.phoneNumber.type = CommunicationType.Telephone;
144
- this.phoneNumber.sequence = 0;
145
- this._relation.addContactOption(this.phoneNumber);
146
- }
147
- }
148
- };
149
- CheckoutOverviewRelationEditComponent.prototype.loadPrivacySettings = function () {
150
- return __awaiter(this, void 0, void 0, function () {
151
- var _a;
152
- return __generator(this, function (_b) {
153
- switch (_b.label) {
154
- case 0:
155
- _a = this;
156
- return [4 /*yield*/, this._transactionService.getRelationPrivacySettings()];
157
- case 1:
158
- _a.privacySettings = _b.sent();
159
- return [2 /*return*/];
160
- }
161
- });
162
- });
163
- };
164
- CheckoutOverviewRelationEditComponent.prototype.loadMarketing = function () {
165
- return __awaiter(this, void 0, void 0, function () {
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0: return [4 /*yield*/, this._transactionService.getMarketingCodes()];
169
- case 1:
170
- _a.sent();
171
- return [2 /*return*/];
172
- }
173
- });
174
- });
175
- };
176
- CheckoutOverviewRelationEditComponent.prototype.isShared = function (relationPrivacySetting) {
177
- var ownSetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
178
- if (ownSetting) {
179
- return ownSetting.allowToShare;
180
- }
181
- return false;
182
- };
183
- CheckoutOverviewRelationEditComponent.prototype.changeRelationType = function (value) {
184
- this.relation.type = value;
185
- };
186
- CheckoutOverviewRelationEditComponent.prototype.changeGenderType = function (value) {
187
- this.relation.gender = value;
188
- };
189
- CheckoutOverviewRelationEditComponent.prototype.firstNameChange = function (firstName) {
190
- if (this._relation) {
191
- this._relation.firstName = firstName;
192
- }
193
- this._relationNameChangeHandler.call(this);
194
- };
195
- CheckoutOverviewRelationEditComponent.prototype.familyNameChange = function (familyName) {
196
- if (this._relation) {
197
- this._relation.familyName = familyName;
198
- }
199
- this._relationNameChangeHandler.call(this);
200
- };
201
- CheckoutOverviewRelationEditComponent.prototype.onRelationSuggestionClick = function (relationSuggested) {
202
- return __awaiter(this, void 0, void 0, function () {
203
- return __generator(this, function (_a) {
204
- switch (_a.label) {
205
- case 0:
206
- if (!relationSuggested) return [3 /*break*/, 2];
207
- this.hideSidebar();
208
- return [4 /*yield*/, this._transactionService.addRelationToTransaction(relationSuggested.relationId)];
209
- case 1:
210
- _a.sent();
211
- _a.label = 2;
212
- case 2: return [2 /*return*/];
213
- }
214
- });
215
- });
216
- };
217
- CheckoutOverviewRelationEditComponent.prototype.changePrivacySetting = function (relationPrivacySetting, value) {
218
- var ownSetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
219
- if (ownSetting) {
220
- ownSetting.allowToShare = value;
221
- }
222
- else {
223
- this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);
224
- }
225
- };
226
- CheckoutOverviewRelationEditComponent.prototype.showSidebar = function () {
227
- this.showRelationSidebar = true;
228
- this._changeDetector.detectChanges();
229
- if (this.relationSidebar) {
230
- this.relationSidebar.show();
231
- }
232
- };
233
- CheckoutOverviewRelationEditComponent.prototype.hideSidebar = function () {
234
- this.showRelationSidebar = false;
235
- this._changeDetector.detectChanges();
236
- if (this.relationSidebar) {
237
- this.relationSidebar.hide();
238
- }
239
- };
240
- // load suggestions
241
- CheckoutOverviewRelationEditComponent.prototype._relationNameChangedHandlerFn = function () {
242
- return __awaiter(this, void 0, void 0, function () {
243
- var firstName, secondName, relationRequest, _a;
244
- return __generator(this, function (_b) {
245
- switch (_b.label) {
246
- case 0:
247
- firstName = ObjectUtils.ValueOrDefault(this._relation.firstName);
248
- secondName = ObjectUtils.ValueOrDefault(this._relation.familyName);
249
- if (!firstName && !secondName) {
250
- this.relationSuggestions = [];
251
- return [2 /*return*/];
252
- }
253
- relationRequest = {};
254
- relationRequest.relationType = this._relation.relationType;
255
- if (firstName) {
256
- relationRequest.firstName = firstName;
257
- }
258
- if (secondName) {
259
- relationRequest.familyName = secondName;
260
- }
261
- this.showSidebar();
262
- _a = this;
263
- return [4 /*yield*/, this._transactionService.getRelationListObjects(relationRequest)];
264
- case 1:
265
- _a.relationSuggestions = _b.sent();
266
- return [2 /*return*/];
267
- }
268
- });
269
- });
270
- };
271
- CheckoutOverviewRelationEditComponent.ctorParameters = function () { return [
272
- { type: ChangeDetectorRef },
273
- { type: TransactionService }
274
- ]; };
275
- __decorate([
276
- ViewChild(FormComponent, { static: true })
277
- ], CheckoutOverviewRelationEditComponent.prototype, "relationForm", void 0);
278
- __decorate([
279
- ViewChild(CoSidebarComponent, { static: false })
280
- ], CheckoutOverviewRelationEditComponent.prototype, "relationSidebar", void 0);
281
- __decorate([
282
- Input()
283
- ], CheckoutOverviewRelationEditComponent.prototype, "relation", null);
284
- __decorate([
285
- Input()
286
- ], CheckoutOverviewRelationEditComponent.prototype, "transaction", void 0);
287
- __decorate([
288
- Output()
289
- ], CheckoutOverviewRelationEditComponent.prototype, "validSubmit", void 0);
290
- __decorate([
291
- Output()
292
- ], CheckoutOverviewRelationEditComponent.prototype, "invalidSubmit", void 0);
293
- CheckoutOverviewRelationEditComponent = __decorate([
294
- Component({
295
- selector: "checkout-overview-relation-edit",
296
- template: "\n <co-form (validSubmit)=\"validSubmit.emit()\" (invalidSubmit)=\"invalidSubmit.emit()\">\n <div>\n <label [textContent]=\"'ACCOUNT_DETAILS' | localize\"\n class=\"checkout-label-h2\"\n ></label>\n </div>\n <div>\n <label [textContent]=\"'PERSONAL_DATA' | localize\"\n class=\"checkout-label-h3\"\n ></label>7\n </div>\n <div>\n <div>\n <label [textContent]=\"'ORDER_TYPE' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n <div>\n <co-input-radio-button [name]=\"'type'\"\n [label]=\"'PRIVATE_PERSON' | localize\"\n [value]=\"relType.Private\"\n [checked]=\"relation.type === relType.Private\"\n (modelChange)=\"changeRelationType(relType.Private)\"\n ></co-input-radio-button>\n <co-input-radio-button [name]=\"'type'\"\n [label]=\"'COMPANY' | localize\"\n [value]=\"relType.Company\"\n [(model)]=\"relation.type\"\n [checked]=\"relation.type === relType.Company\"\n (modelChange)=\"changeRelationType(relType.Company)\"\n ></co-input-radio-button>\n </div>\n </div>\n <div *ngIf=\"relation.type === relType.Private\">\n <label [textContent]=\"'SALUTATION' | localize\"\n class=\"checkout-label-h3\"\n ></label>\n <div>\n <co-input-radio-button [name]=\"'gender'\"\n [label]=\"'MALE' | localize\"\n [value]=\"genderType.Male\"\n [checked]=\"relation.gender === genderType.Male\"\n (modelChange)=\"changeGenderType(genderType.Male)\"\n ></co-input-radio-button>\n <co-input-radio-button [name]=\"'gender'\"\n [label]=\"'FEMALE' | localize \"\n [value]=\"genderType.Female\"\n [checked]=\"relation.gender === genderType.Female\"\n (modelChange)=\"changeGenderType(genderType.Female)\"\n ></co-input-radio-button>\n <co-input-radio-button [name]=\"'gender'\"\n [label]=\"'UNKNOWN' | localize\"\n [value]=\"genderType.Unspecified\"\n [checked]=\"relation.gender === genderType.Unspecified\"\n (modelChange)=\"changeGenderType(genderType.Unspecified)\"\n ></co-input-radio-button>\n </div>\n </div>\n <div *ngIf=\"relation.type === relType.Private\">\n <div>\n <label [textContent]=\"'NAME' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n <div class=\"default-flex-row\">\n <div class=\"default-flex-column\">\n <co-input-text\n [(model)]=\"relation.firstName\"\n [placeholder]=\"'FIRST_NAME' | localize \"\n (modelChange)=\"firstNameChange($event)\"\n required\n ></co-input-text>\n </div>\n <div class=\"default-flex-column\">\n <co-input-text\n [(model)]=\"relation.prefix\"\n [placeholder]=\"'PREFIX' | localize \"\n ></co-input-text>\n </div>\n <div class=\"default-flex-column\">\n <co-input-text\n [(model)]=\"relation.familyName\"\n [placeholder]=\"'LAST_NAME' | localize\"\n (modelChange)=\"familyNameChange($event)\"\n required></co-input-text>\n </div>\n </div>\n </div>\n </div>\n <div >\n <div *ngIf=\"relation?.type === relType.Company\" class=\"default-flex-column\">\n <label [textContent]=\"'COMPANY_NAME' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n <co-input-text [(model)]=\"relation.familyName\" [label]=\"'COMPANY_NAME'\" required></co-input-text>\n </div>\n </div>\n\n <div>\n <checkout-overview-relation-address\n label=\"DELIVERY_ADDRESS\" [address]=\"editFirstAddress\"\n ></checkout-overview-relation-address>\n </div>\n\n <div class=\"default-flex-row\">\n <div class=\"default-flex-column\">\n <co-input-date [placeholder]=\"'DATE_OF_BIRTH' | localize \" [(model)]=\"dateOfBirth\" required></co-input-date>\n </div>\n <div class=\"default-flex-column\">\n <co-input-text [(model)]=\"phoneNumber.value\" [placeholder]=\"'PHONE_NO' | localize \" required></co-input-text>\n </div>\n </div>\n\n <div>\n <label [textContent]=\"'LOGIN_DETAILS' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n <div>\n <p>{{ 'ACCOUNT_EXPLANATION' | localize }}</p>\n </div>\n <div class=\"default-flex-row\">\n <div class=\"default-flex-column\">\n <co-input-text [(model)]=\"emailAddress.value\" [placeholder]=\"'EMAIL_ADDRESS' | localize \" [type]=\"'email'\" required></co-input-text>\n </div>\n </div>\n\n <div class=\"default-flex-row\">\n <div *ngIf=\"!applicationUser\" class=\"default-flex-column\">\n <co-input-text [(model)]=\"accountPassword\" [placeholder]=\"'PASSWORD' | localize \" [type]=\"'password'\" required></co-input-text>\n </div>\n <div *ngIf=\"applicationUser\" class=\"default-flex-column\">\n <co-input-checkbox [label]=\"'INVITE_TO_ACCOUNT' | localize\" [(model)]=\"inviteToAccount\"></co-input-checkbox>\n </div>\n </div>\n\n <div>\n <label [textContent]=\"'PRIVACY_PREFERENCES' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n\n <div *ngFor=\"let privacySetting of privacySettings\">\n <div class=\"privacy-row\">\n <div class=\"privacy-column-left\">\n <co-input-checkbox [label]=\"privacySetting.description\"\n [model]=\"isShared(privacySetting)\"\n (modelChange)=\"changePrivacySetting(privacySetting, $event)\"\n ></co-input-checkbox>\n </div>\n <div class=\"privacy-column-right\">\n {{ privacySetting.explanation }}\n </div>\n </div>\n </div>\n </co-form>\n\n <co-sidebar #relationSidebar isOpen=\"false\" *ngIf=\"showRelationSidebar\">\n <div class=\"relation-sidebar-header\">\n <label [textContent]=\"'SUGGESTIONS' | localize \"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n <checkout-relation-suggestions-list\n [suggestions]=\"relationSuggestions\"\n (suggestionButtonClick)=\"onRelationSuggestionClick($event)\"\n ></checkout-relation-suggestions-list>\n </co-sidebar>\n\n ",
297
- styles: ["body,html{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%;color:#f7fafa;background-color:#2b60a7}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important;margin:10px 0}.step-content-customer,.step-content-delivery{padding:20px;background-color:#fff}.triangle{border-radius:3px}.full-width{width:100%}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:700}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:700}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:700}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:700}.overview-body{padding:30px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label,.overview-label{font-weight:700}ul.cart-buttons{margin-top:20px;margin-bottom:20px;display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{padding-left:11px;padding-right:11px;display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #dce4ea;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}", ".relation-sidebar-header{margin-left:5px}"]
298
- })
299
- ], CheckoutOverviewRelationEditComponent);
300
- return CheckoutOverviewRelationEditComponent;
301
- }());
302
- export { CheckoutOverviewRelationEditComponent };
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50L2NoZWNrb3V0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU5SSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUc5RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM5RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDckYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUVsRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDL0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNsRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1E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QzlCLHNCQUFPO3lCQUNSO3dCQUVLLGVBQWUsR0FBb0IsRUFBRSxDQUFDO3dCQUM1QyxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO3dCQUMzRCxJQUFJLFNBQVMsRUFBRTs0QkFDYixlQUFlLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQzt5QkFDdkM7d0JBRUQsSUFBSSxVQUFVLEVBQUU7NEJBQ2QsZUFBZSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7eUJBQ3pDO3dCQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDbkIsS0FBQSxJQUFJLENBQUE7d0JBQXVCLHFCQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsRUFBQTs7d0JBQWpHLEdBQUssbUJBQW1CLEdBQUcsU0FBc0UsQ0FBQzs7Ozs7S0FDbkc7O2dCQXhJMEIsaUJBQWlCO2dCQUNiLGtCQUFrQjs7SUEzRmpEO1FBREMsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQzsrRUFDTjtJQUduQztRQURDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQztrRkFDSjtJQUczQztRQURDLEtBQUssRUFBRTt5RUFNUDtJQUdEO1FBREMsS0FBSyxFQUFFOzhFQUM0QjtJQUdwQztRQURDLE1BQU0sRUFBRTs4RUFDeUQ7SUFHbEU7UUFEQyxNQUFNLEVBQUU7Z0ZBQzJEO0lBdEJ6RCxxQ0FBcUM7UUFqTGpELFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQ0FBaUM7WUFDM0MsUUFBUSxFQUFFLHczT0F5S1Q7O1NBS0osQ0FBQztPQUNXLHFDQUFxQyxDQXFPakQ7SUFBRCw0Q0FBQztDQUFBLEFBck9ELElBcU9DO1NBck9ZLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tYW55LXR5cGVcIjtcbmltcG9ydCB7TlVMTF9SRUxBVElPTl9PQkpFQ1R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbnVsLXJlbGF0aW9uLW9iamVjdFwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ib1wiO1xuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9jb21tdW5pY2F0aW9uLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvbnRhY3Qtb3B0aW9uLmJvXCI7XG5pbXBvcnQge2lzTmlsbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1uYW1lLWtpbmQuZW51bVwiO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XG5pbXBvcnQge1JlbGF0aW9uUHJpdmFjeVNldHRpbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcHJpdmFjeS1zZXR0aW5nLmJvXCI7XG5pbXBvcnQge0dlbmRlclR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9nZW5kZXItdHlwZS5lbnVtXCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtCdXNpbmVzc09iamVjdFV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2J1c2luZXNzLW9iamVjdC11dGlsc1wiO1xuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3Y5XCI7XG5pbXBvcnQge0Z1bmN0aW9uVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24tdXRpbHNcIjtcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdFwiO1xuaW1wb3J0IHtDb1NpZGViYXJDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjlcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIixcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgPGNvLWZvcm0gKHZhbGlkU3VibWl0KT1cInZhbGlkU3VibWl0LmVtaXQoKVwiIChpbnZhbGlkU3VibWl0KT1cImludmFsaWRTdWJtaXQuZW1pdCgpXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBQ0NPVU5UX0RFVEFJTFMnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDJcIlxuICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInUEVSU09OQUxfREFUQScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICA+PC9sYWJlbD43XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidPUkRFUl9UWVBFJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gW25hbWVdPVwiJ3R5cGUnXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BSSVZBVEVfUEVSU09OJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Qcml2YXRlXCJcbiAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Qcml2YXRlKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIFtuYW1lXT1cIid0eXBlJ1wiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDT01QQU5ZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Db21wYW55XCJcbiAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi50eXBlXCJcbiAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLkNvbXBhbnlcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Db21wYW55KVwiXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicmVsYXRpb24udHlwZSA9PT0gcmVsVHlwZS5Qcml2YXRlXCI+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidTQUxVVEFUSU9OJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIFtuYW1lXT1cIidnZW5kZXInXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ01BTEUnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZW5kZXJUeXBlLk1hbGVcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5NYWxlXCJcbiAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlR2VuZGVyVHlwZShnZW5kZXJUeXBlLk1hbGUpXCJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBbbmFtZV09XCInZ2VuZGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidGRU1BTEUnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VHZW5kZXJUeXBlKGdlbmRlclR5cGUuRmVtYWxlKVwiXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gW25hbWVdPVwiJ2dlbmRlcidcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInVU5LTk9XTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdlbmRlclR5cGUuVW5zcGVjaWZpZWRcIlxuICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5VbnNwZWNpZmllZFwiXG4gICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZUdlbmRlclR5cGUoZ2VuZGVyVHlwZS5VbnNwZWNpZmllZClcIlxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uLnR5cGUgPT09IHJlbFR5cGUuUHJpdmF0ZVwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidOQU1FJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLmZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidGSVJTVF9OQU1FJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpcnN0TmFtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQUkVGSVgnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi5mYW1pbHlOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0xBU1RfTkFNRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZhbWlseU5hbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlbGF0aW9uPy50eXBlID09PSByZWxUeXBlLkNvbXBhbnlcIiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidDT01QQU5ZX05BTUUnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwicmVsYXRpb24uZmFtaWx5TmFtZVwiIFtsYWJlbF09XCInQ09NUEFOWV9OQU1FJ1wiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxjaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzXG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkRFTElWRVJZX0FERFJFU1NcIiBbYWRkcmVzc109XCJlZGl0Rmlyc3RBZGRyZXNzXCJcbiAgICAgICAgICA+PC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbcGxhY2Vob2xkZXJdPVwiJ0RBVEVfT0ZfQklSVEgnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwiZGF0ZU9mQmlydGhcIiByZXF1aXJlZD48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInBob25lTnVtYmVyLnZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cIidQSE9ORV9OTycgfCBsb2NhbGl6ZSBcIiByZXF1aXJlZD48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidMT0dJTl9ERVRBSUxTJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHA+e3sgJ0FDQ09VTlRfRVhQTEFOQVRJT04nIHwgbG9jYWxpemUgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImVtYWlsQWRkcmVzcy52YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInRU1BSUxfQUREUkVTUycgfCBsb2NhbGl6ZSBcIiBbdHlwZV09XCInZW1haWwnXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFjY291bnRQYXNzd29yZFwiIFtwbGFjZWhvbGRlcl09XCInUEFTU1dPUkQnIHwgbG9jYWxpemUgXCIgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidJTlZJVEVfVE9fQUNDT1VOVCcgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cImludml0ZVRvQWNjb3VudFwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidQUklWQUNZX1BSRUZFUkVOQ0VTJyB8IGxvY2FsaXplIFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJpdmFjeVNldHRpbmcgb2YgcHJpdmFjeVNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpdmFjeS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpdmFjeS1jb2x1bW4tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cInByaXZhY3lTZXR0aW5nLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJpc1NoYXJlZChwcml2YWN5U2V0dGluZylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZVByaXZhY3lTZXR0aW5nKHByaXZhY3lTZXR0aW5nLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaXZhY3ktY29sdW1uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByaXZhY3lTZXR0aW5nLmV4cGxhbmF0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9jby1mb3JtPlxuXG4gICAgPGNvLXNpZGViYXIgI3JlbGF0aW9uU2lkZWJhciBpc09wZW49XCJmYWxzZVwiICpuZ0lmPVwic2hvd1JlbGF0aW9uU2lkZWJhclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLXNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1VHR0VTVElPTlMnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPGNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3RcbiAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInJlbGF0aW9uU3VnZ2VzdGlvbnNcIlxuICAgICAgICAoc3VnZ2VzdGlvbkJ1dHRvbkNsaWNrKT1cIm9uUmVsYXRpb25TdWdnZXN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+PC9jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0PlxuICAgIDwvY28tc2lkZWJhcj5cblxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICBcIi4vLi4vY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnNjc3NcIixcbiAgICAgIFwiLi9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudC5zY3NzXCJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgcmVsYXRpb25Gb3JtOiBGb3JtQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ29TaWRlYmFyQ29tcG9uZW50LCB7c3RhdGljOiBmYWxzZX0pXG4gIHB1YmxpYyByZWxhdGlvblNpZGViYXI6IENvU2lkZWJhckNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlbGF0aW9uKHZhbHVlOiBSZWxhdGlvbkFueVR5cGUpIHtcbiAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xuXG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeUVtYWlsKCk7XG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeVBob25lKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mbztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIHRlc3RqZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGF0ZU9mQmlydGg6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgYWNjb3VudFBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgaGlkZTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBnZW5kZXI6IEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlLlVuc3BlY2lmaWVkO1xuICBwdWJsaWMgZW1haWxBZGRyZXNzOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHBob25lTnVtYmVyOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHByaXZhY3lTZXR0aW5nczogUmVsYXRpb25Qcml2YWN5U2V0dGluZ1tdO1xuICBwdWJsaWMgcmVsYXRpb25TdWdnZXN0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10gPSBbXTtcbiAgcHVibGljIHNob3dSZWxhdGlvblNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGludml0ZVRvQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSByZWxUeXBlOiB0eXBlb2YgUmVsYXRpb25OYW1lS2luZCA9IFJlbGF0aW9uTmFtZUtpbmQ7XG4gIHB1YmxpYyByZWFkb25seSBnZW5kZXJUeXBlOiB0eXBlb2YgR2VuZGVyVHlwZSA9IEdlbmRlclR5cGU7XG5cbiAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25Bc0N1c3RvbWVyKCk6IEN1c3RvbWVyRnVsbE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uICYmIHRoaXMuX3JlbGF0aW9uIGFzIEN1c3RvbWVyRnVsbE9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdEZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBpZiAodGhpcy5maXJzdEFkZHJlc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpcnN0QWRkcmVzcztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgICAgIGFkZHJlc3MuYWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XG4gICAgICBhZGRyZXNzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBhZGRyZXNzLnNlcXVlbmNlID0gdGhpcy5fcmVsYXRpb24uZ2V0TmV4dEFkZHJlc3NTZXF1ZW5jZSgpO1xuICAgICAgdGhpcy5fcmVsYXRpb24uYWRkcmVzc2VzLnB1c2goYWRkcmVzcyk7XG4gICAgICByZXR1cm4gYWRkcmVzcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBpZiAoIXRoaXMucmVsYXRpb24gfHwgIXRoaXMuX3JlbGF0aW9uLmFkZHJlc3Nlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBdmFpbGFibGVBZGRyZXNzKFtcbiAgICAgIEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLkJpbGxpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuVmlzaXRpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuTWFpbGluZ0FkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5OdXJzaW5nQWRkcmVzc1xuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhcHBsaWNhdGlvblVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5hcHBsaWNhdGlvblVzZXI7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9yZWxhdGlvbi50eXBlID0gdGhpcy5yZWxUeXBlLlByaXZhdGU7XG4gICAgdGhpcy5fcmVsYXRpb24uZ2VuZGVyID0gdGhpcy5nZW5kZXI7XG4gICAgYXdhaXQgdGhpcy5sb2FkUHJpdmFjeVNldHRpbmdzKCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX1JFTEFUSU9OX09CSkVDVDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbkZvcm0uc3VibWl0KCk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZVByaW1hcnlFbWFpbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0TG93ZXN0U2VxdWVuY2VPZkNvbnRhY3RPcHRpb25zV2l0aFR5cGUoQ29tbXVuaWNhdGlvblR5cGUuRW1haWwpO1xuICAgICAgaWYgKGlzTmlsbCh0aGlzLmVtYWlsQWRkcmVzcykpIHtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgPSBuZXcgQ29udGFjdE9wdGlvbigpO1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy50eXBlID0gQ29tbXVuaWNhdGlvblR5cGUuRW1haWw7XG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzLnNlcXVlbmNlID0gMDtcbiAgICAgICAgdGhpcy5fcmVsYXRpb24uYWRkQ29udGFjdE9wdGlvbih0aGlzLmVtYWlsQWRkcmVzcyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsQWRkcmVzcykge1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSA9IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5lbWFpbEFkZHJlc3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByZXBhcmVQcmltYXJ5UGhvbmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLnBob25lTnVtYmVyID0gdGhpcy5fcmVsYXRpb24uZ2V0TG93ZXN0U2VxdWVuY2VPZkNvbnRhY3RPcHRpb25zV2l0aFR5cGUoQ29tbXVuaWNhdGlvblR5cGUuVGVsZXBob25lKTtcbiAgICAgIGlmIChpc05pbGwodGhpcy5waG9uZU51bWJlcikpIHtcbiAgICAgICAgdGhpcy5waG9uZU51bWJlciA9IG5ldyBDb250YWN0T3B0aW9uKCk7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIudHlwZSA9IENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZTtcbiAgICAgICAgdGhpcy5waG9uZU51bWJlci5zZXF1ZW5jZSA9IDA7XG4gICAgICAgIHRoaXMuX3JlbGF0aW9uLmFkZENvbnRhY3RPcHRpb24odGhpcy5waG9uZU51bWJlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRQcml2YWN5U2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wcml2YWN5U2V0dGluZ3MgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25Qcml2YWN5U2V0dGluZ3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkTWFya2V0aW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRNYXJrZXRpbmdDb2RlcygpO1xuICB9XG5cbiAgcHVibGljIGlzU2hhcmVkKHJlbGF0aW9uUHJpdmFjeVNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gICAgaWYgKG93blNldHRpbmcpIHtcbiAgICAgIHJldHVybiBvd25TZXR0aW5nLmFsbG93VG9TaGFyZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVJlbGF0aW9uVHlwZSh2YWx1ZTogUmVsYXRpb25OYW1lS2luZCk6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb24udHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZUdlbmRlclR5cGUodmFsdWU6IEdlbmRlclR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uLmdlbmRlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGZpcnN0TmFtZUNoYW5nZShmaXJzdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5fcmVsYXRpb24uZmlyc3ROYW1lID0gZmlyc3ROYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZmFtaWx5TmFtZUNoYW5nZShmYW1pbHlOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmZhbWlseU5hbWUgPSBmYW1pbHlOYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgb25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvblN1Z2dlc3RlZDogUmVsYXRpb25MaXN0T2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHJlbGF0aW9uU3VnZ2VzdGVkKSB7XG4gICAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VQcml2YWN5U2V0dGluZyhyZWxhdGlvblByaXZhY3lTZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IG93blNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcgPSBCdXNpbmVzc09iamVjdFV0aWxzLkZpbmRJdGVtQnlJZCh0aGlzLnJlbGF0aW9uQXNDdXN0b21lci5yZWxhdGlvblByaXZhY3lTZXR0aW5ncywgcmVsYXRpb25Qcml2YWN5U2V0dGluZy5nZXRJZCgpKTtcbiAgICBpZiAob3duU2V0dGluZykge1xuICAgICAgb3duU2V0dGluZy5hbGxvd1RvU2hhcmUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MucHVzaChyZWxhdGlvblByaXZhY3lTZXR0aW5nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd1NpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UmVsYXRpb25TaWRlYmFyID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5yZWxhdGlvblNpZGViYXIpIHtcbiAgICAgIHRoaXMucmVsYXRpb25TaWRlYmFyLnNob3coKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZVNpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UmVsYXRpb25TaWRlYmFyID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHRoaXMucmVsYXRpb25TaWRlYmFyKSB7XG4gICAgICB0aGlzLnJlbGF0aW9uU2lkZWJhci5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZmV0Y2hlcyByZWxhdGlvbiBzdWdnZXN0aW9uc1xuICBwcml2YXRlIF9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyOiBGdW5jdGlvbiA9IEZ1bmN0aW9uVXRpbHMuVGhyb3R0bGUoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VkSGFuZGxlckZuKCk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW1hZ2ljLW51bWJlcnNcbiAgfSwgNjAwKTtcblxuICAvLyBsb2FkIHN1Z2dlc3Rpb25zXG4gIHByaXZhdGUgYXN5bmMgX3JlbGF0aW9uTmFtZUNoYW5nZWRIYW5kbGVyRm4oKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBmaXJzdE5hbWU6IHN0cmluZyA9IE9iamVjdFV0aWxzLlZhbHVlT3JEZWZhdWx0KHRoaXMuX3JlbGF0aW9uLmZpcnN0TmFtZSk7XG4gICAgY29uc3Qgc2Vjb25kTmFtZTogc3RyaW5nID0gT2JqZWN0VXRpbHMuVmFsdWVPckRlZmF1bHQodGhpcy5fcmVsYXRpb24uZmFtaWx5TmFtZSk7XG5cbiAgICBpZiAoIWZpcnN0TmFtZSAmJiAhc2Vjb25kTmFtZSkge1xuICAgICAgdGhpcy5yZWxhdGlvblN1Z2dlc3Rpb25zID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25SZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSB7fTtcbiAgICByZWxhdGlvblJlcXVlc3QucmVsYXRpb25UeXBlID0gdGhpcy5fcmVsYXRpb24ucmVsYXRpb25UeXBlO1xuICAgIGlmIChmaXJzdE5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5maXJzdE5hbWUgPSBmaXJzdE5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHNlY29uZE5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5mYW1pbHlOYW1lID0gc2Vjb25kTmFtZTtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWRlYmFyKCk7XG4gICAgdGhpcy5yZWxhdGlvblN1Z2dlc3Rpb25zID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVsYXRpb25SZXF1ZXN0KTtcbiAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from "@angular/core";
3
- import { Direction } from "../../../enum/direction.enum";
4
- var CheckOutRelationSuggestionsListComponent = /** @class */ (function () {
5
- function CheckOutRelationSuggestionsListComponent() {
6
- this.suggestions = [];
7
- this.arrowDirection = Direction.Left;
8
- // Emits the clicked relation list object.
9
- this.suggestionButtonClick = new EventEmitter();
10
- }
11
- __decorate([
12
- Input()
13
- ], CheckOutRelationSuggestionsListComponent.prototype, "suggestions", void 0);
14
- __decorate([
15
- Input()
16
- ], CheckOutRelationSuggestionsListComponent.prototype, "arrowDirection", void 0);
17
- __decorate([
18
- Output()
19
- ], CheckOutRelationSuggestionsListComponent.prototype, "suggestionButtonClick", void 0);
20
- CheckOutRelationSuggestionsListComponent = __decorate([
21
- Component({
22
- selector: "checkout-relation-suggestions-list",
23
- template: "\n <div class=\"flex-column items-wrapper\">\n <checkout-relation-suggestions-list-item *ngFor=\"let suggestion of suggestions\" [suggestion]=\"suggestion\"\n [arrowDirection]=\"arrowDirection\"\n (buttonClick)=\"suggestionButtonClick.emit(suggestion)\"></checkout-relation-suggestions-list-item>\n <span *ngIf=\"suggestions?.length === 0\" class=\"no-results\" localize=\"NO_RESULTS_FOUND\"></span>\n </div>\n ",
24
- host: {
25
- "class": "narrow-scrollbar"
26
- },
27
- styles: [""]
28
- })
29
- ], CheckOutRelationSuggestionsListComponent);
30
- return CheckOutRelationSuggestionsListComponent;
31
- }());
32
- export { CheckOutRelationSuggestionsListComponent };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50L2NoZWNrb3V0L2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QvY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBbUJ2RDtJQUFBO1FBRVMsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1FBR3ZDLG1CQUFjLEdBQWMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUVsRCwwQ0FBMEM7UUFFbkMsMEJBQXFCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO0lBQzFHLENBQUM7SUFSQztRQURDLEtBQUssRUFBRTtpRkFDc0M7SUFHOUM7UUFEQyxLQUFLLEVBQUU7b0ZBQzBDO0lBSWxEO1FBREMsTUFBTSxFQUFFOzJGQUMrRjtJQVQ3Rix3Q0FBd0M7UUFqQnBELFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxvQ0FBb0M7WUFDOUMsUUFBUSxFQUFFLHdoQkFPUDtZQUNILElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsa0JBQWtCO2FBQzVCOztTQUlGLENBQUM7T0FDVyx3Q0FBd0MsQ0FVcEQ7SUFBRCwrQ0FBQztDQUFBLEFBVkQsSUFVQztTQVZZLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvXCI7XG5pbXBvcnQge0RpcmVjdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vZGlyZWN0aW9uLmVudW1cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3RcIixcbiAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29sdW1uIGl0ZW1zLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxjaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnNcIiBbc3VnZ2VzdGlvbl09XCJzdWdnZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJyb3dEaXJlY3Rpb25dPVwiYXJyb3dEaXJlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzdWdnZXN0aW9uQnV0dG9uQ2xpY2suZW1pdChzdWdnZXN0aW9uKVwiPjwvY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWdnZXN0aW9ucz8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCIgbG9jYWxpemU9XCJOT19SRVNVTFRTX0ZPVU5EXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICBob3N0OiB7XG4gICAgXCJjbGFzc1wiOiBcIm5hcnJvdy1zY3JvbGxiYXJcIlxuICB9LFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC5jb21wb25lbnQuc2Nzc1wiXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tPdXRSZWxhdGlvblN1Z2dlc3Rpb25zTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdWdnZXN0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXJyb3dEaXJlY3Rpb246IERpcmVjdGlvbiA9IERpcmVjdGlvbi5MZWZ0O1xuXG4gIC8vIEVtaXRzIHRoZSBjbGlja2VkIHJlbGF0aW9uIGxpc3Qgb2JqZWN0LlxuICBAT3V0cHV0KClcbiAgcHVibGljIHN1Z2dlc3Rpb25CdXR0b25DbGljazogRXZlbnRFbWl0dGVyPFJlbGF0aW9uTGlzdE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uTGlzdE9iamVjdD4oKTtcbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from "@angular/core";
3
- //import {Icon} from "../../../../enum/icon.enum";
4
- import { Direction } from "../../../enum/direction.enum";
5
- var CheckOutRelationSuggestionsListItemComponent = /** @class */ (function () {
6
- function CheckOutRelationSuggestionsListItemComponent() {
7
- this.buttonClick = new EventEmitter();
8
- // public icon: Icon;
9
- this._arrowDirection = Direction.Left;
10
- }
11
- Object.defineProperty(CheckOutRelationSuggestionsListItemComponent.prototype, "arrowDirection", {
12
- set: function (arrowDirection) {
13
- this._arrowDirection = arrowDirection;
14
- this._updateIcon();
15
- },
16
- enumerable: true,
17
- configurable: true
18
- });
19
- CheckOutRelationSuggestionsListItemComponent.prototype.ngOnInit = function () {
20
- this._updateIcon();
21
- };
22
- CheckOutRelationSuggestionsListItemComponent.prototype._updateIcon = function () {
23
- // if (this._arrowDirection === Direction.Left) {
24
- // this.icon = Icon.ArrowFatLeft;
25
- // } else {
26
- // this.icon = Icon.ArrowFatRight;
27
- // }
28
- };
29
- __decorate([
30
- Input()
31
- ], CheckOutRelationSuggestionsListItemComponent.prototype, "suggestion", void 0);
32
- __decorate([
33
- Input()
34
- ], CheckOutRelationSuggestionsListItemComponent.prototype, "arrowDirection", null);
35
- __decorate([
36
- Output()
37
- ], CheckOutRelationSuggestionsListItemComponent.prototype, "buttonClick", void 0);
38
- CheckOutRelationSuggestionsListItemComponent = __decorate([
39
- Component({
40
- selector: "checkout-relation-suggestions-list-item",
41
- template: "\n<!-- <div class=\"left\" fxLayout fxLayoutAlign=\"start center\">-->\n<!-- <avatar [relation]=\"suggestion\" class=\"smaller\"></avatar>-->\n<!-- </div>-->\n <div class=\"right\">\n <div class=\"name medium-big-font\" *ngIf=\"suggestion.displayName as displayName\" [textContent]=\"displayName\"></div>\n <div class=\"email\" *ngIf=\"suggestion.email\">\n {{ suggestion.email }}\n </div>\n <div class=\"address\" *ngIf=\"suggestion.displayAddress as address\" [textContent]=\"address\"></div>\n <div class=\"phone\" *ngIf=\"suggestion.tel1\">\n {{ suggestion?.tel1 }}\n </div>\n </div>\n <co-button [label]=\"'SELECT' | localize\" class=\"popup rounded\" (click)=\"buttonClick.emit($event)\"></co-button>\n ",
42
- styles: ["body,html{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host{display:flex}.flex-center{flex-direction:row;align-items:center!important;justify-content:center!important;margin:10px 0}:host{flex-shrink:0;padding-bottom:11px;padding-top:20px}:host,div.right{padding-left:11px}:host:hover co-button.popup{visibility:visible}co-button.popup{position:absolute!important;transform:translate(-50%,-50%);top:50%;left:50%;margin-right:-50%;visibility:hidden}div.name{font-weight:700;font-size:15px}.triangle{border-radius:3px}.full-width{width:100%}:host{padding-right:11px;position:relative;background-color:#fff;border:1px solid #dce4ea;border-radius:5px;margin:5px;max-width:250px}:host:hover{background-color:#e8eceb}div.address,div.email,div.phone{padding-bottom:5px;color:#747b87;font-size:13px}div.right{display:flex;flex-direction:column;justify-content:center}"]
43
- })
44
- ], CheckOutRelationSuggestionsListItemComponent);
45
- return CheckOutRelationSuggestionsListItemComponent;
46
- }());
47
- export { CheckOutRelationSuggestionsListItemComponent };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC90cmFuc2FjdGlvbi8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtL2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0Usa0RBQWtEO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQXdCdkQ7SUFpQkU7UUFOTyxnQkFBVyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRWhGLHNCQUFzQjtRQUVaLG9CQUFlLEdBQWMsU0FBUyxDQUFDLElBQUksQ0FBQztJQUdwRCxDQUFDO0lBYkQsc0JBQVcsd0VBQWM7YUFBekIsVUFBMEIsY0FBeUI7WUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7OztPQUFBO0lBWUQsK0RBQVEsR0FBUjtRQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sa0VBQVcsR0FBbkI7UUFDRSxpREFBaUQ7UUFDakQsbUNBQW1DO1FBQ25DLFdBQVc7UUFDWCxvQ0FBb0M7UUFDcEMsSUFBSTtJQUNOLENBQUM7SUE1QkQ7UUFEQyxLQUFLLEVBQUU7b0ZBQzhCO0lBR3RDO1FBREMsS0FBSyxFQUFFO3NGQUlQO0lBR0Q7UUFEQyxNQUFNLEVBQUU7cUZBQ3FFO0lBWG5FLDRDQUE0QztRQXRCeEQsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHlDQUF5QztZQUNuRCxRQUFRLEVBQUUsbzFCQWVQOztTQUlKLENBQUM7T0FDVyw0Q0FBNEMsQ0ErQnhEO0lBQUQsbURBQUM7Q0FBQSxBQS9CRCxJQStCQztTQS9CWSw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuLy9pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xuaW1wb3J0IHtEaXJlY3Rpb259IGZyb20gXCIuLi8uLi8uLi9lbnVtL2RpcmVjdGlvbi5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0LWl0ZW1cIixcbiAgdGVtcGxhdGU6IGBcbjwhLS0gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPi0tPlxuPCEtLSAgICAgICAgICAgIDxhdmF0YXIgW3JlbGF0aW9uXT1cInN1Z2dlc3Rpb25cIiBjbGFzcz1cInNtYWxsZXJcIj48L2F2YXRhcj4tLT5cbjwhLS0gICAgICAgIDwvZGl2Pi0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIG1lZGl1bS1iaWctZm9udFwiICpuZ0lmPVwic3VnZ2VzdGlvbi5kaXNwbGF5TmFtZSBhcyBkaXNwbGF5TmFtZVwiIFt0ZXh0Q29udGVudF09XCJkaXNwbGF5TmFtZVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsXCIgKm5nSWY9XCJzdWdnZXN0aW9uLmVtYWlsXCI+XG4gICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24uZW1haWwgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZHJlc3NcIiAqbmdJZj1cInN1Z2dlc3Rpb24uZGlzcGxheUFkZHJlc3MgYXMgYWRkcmVzc1wiIFt0ZXh0Q29udGVudF09XCJhZGRyZXNzXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGhvbmVcIiAqbmdJZj1cInN1Z2dlc3Rpb24udGVsMVwiPlxuICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy50ZWwxIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidTRUxFQ1QnIHwgbG9jYWxpemVcIiBjbGFzcz1cInBvcHVwIHJvdW5kZWRcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCI+PC9jby1idXR0b24+XG4gICAgYCxcbiAgc3R5bGVVcmxzOiBbXG4gICAgXCIuL2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QtaXRlbS5jb21wb25lbnQuc2Nzc1wiXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tPdXRSZWxhdGlvblN1Z2dlc3Rpb25zTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VnZ2VzdGlvbjogUmVsYXRpb25MaXN0T2JqZWN0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJyb3dEaXJlY3Rpb24oYXJyb3dEaXJlY3Rpb246IERpcmVjdGlvbikge1xuICAgIHRoaXMuX2Fycm93RGlyZWN0aW9uID0gYXJyb3dEaXJlY3Rpb247XG4gICAgdGhpcy5fdXBkYXRlSWNvbigpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBidXR0b25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4vLyAgcHVibGljIGljb246IEljb247XG5cbiAgcHJpdmF0ZSBfYXJyb3dEaXJlY3Rpb246IERpcmVjdGlvbiA9IERpcmVjdGlvbi5MZWZ0O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlSWNvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSWNvbigpOiB2b2lkIHtcbiAgICAvLyBpZiAodGhpcy5fYXJyb3dEaXJlY3Rpb24gPT09IERpcmVjdGlvbi5MZWZ0KSB7XG4gICAgLy8gICB0aGlzLmljb24gPSBJY29uLkFycm93RmF0TGVmdDtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgdGhpcy5pY29uID0gSWNvbi5BcnJvd0ZhdFJpZ2h0O1xuICAgIC8vIH1cbiAgfVxufVxuIl19