@vendure/admin-ui 1.4.7 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +105 -121
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +280 -262
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +51 -20
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-order.umd.js +107 -17
  8. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  10. package/bundles/vendure-admin-ui-system.umd.js.map +1 -1
  11. package/catalog/components/{product-assets/product-assets.component.d.ts → assets/assets.component.d.ts} +4 -10
  12. package/catalog/components/product-detail/product-detail.component.d.ts +2 -1
  13. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +1 -1
  14. package/catalog/public_api.d.ts +1 -1
  15. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  16. package/core/common/generated-types.d.ts +84 -6
  17. package/core/common/version.d.ts +1 -1
  18. package/core/data/definitions/customer-definitions.d.ts +1 -0
  19. package/core/data/providers/customer-data.service.d.ts +1 -0
  20. package/core/data/providers/promotion-data.service.d.ts +2 -2
  21. package/core/public_api.d.ts +2 -0
  22. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +5 -0
  23. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -3
  24. package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +15 -0
  25. package/core/vendure-admin-ui-core.metadata.json +1 -1
  26. package/customer/components/address-card/address-card.component.d.ts +2 -0
  27. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -0
  28. package/customer/components/customer-list/customer-list.component.d.ts +1 -2
  29. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  30. package/esm2015/catalog/catalog.module.js +3 -3
  31. package/esm2015/catalog/components/assets/assets.component.js +93 -0
  32. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +2 -2
  33. package/esm2015/catalog/components/product-detail/product-detail.component.js +4 -3
  34. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +2 -2
  35. package/esm2015/catalog/public_api.js +2 -2
  36. package/esm2015/core/common/generated-types.js +5 -1
  37. package/esm2015/core/common/introspection-result.js +189 -249
  38. package/esm2015/core/common/utilities/configurable-operation-utils.js +1 -1
  39. package/esm2015/core/common/version.js +2 -2
  40. package/esm2015/core/data/definitions/customer-definitions.js +8 -1
  41. package/esm2015/core/data/definitions/order-definitions.js +2 -1
  42. package/esm2015/core/data/providers/customer-data.service.js +5 -2
  43. package/esm2015/core/data/providers/interceptor.js +1 -1
  44. package/esm2015/core/data/providers/promotion-data.service.js +3 -2
  45. package/esm2015/core/data/providers/shipping-method-data.service.js +1 -1
  46. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +1 -1
  47. package/esm2015/core/public_api.js +3 -1
  48. package/esm2015/core/shared/components/address-form/address-form.component.js +1 -1
  49. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
  50. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +3 -3
  51. package/esm2015/core/shared/components/asset-preview-links/asset-preview-links.component.js +18 -0
  52. package/esm2015/core/shared/components/object-tree/object-tree.component.js +3 -3
  53. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.js +48 -0
  54. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +2 -2
  55. package/esm2015/core/shared/shared.module.js +5 -1
  56. package/esm2015/customer/components/address-card/address-card.component.js +9 -3
  57. package/esm2015/customer/components/customer-detail/customer-detail.component.js +35 -13
  58. package/esm2015/customer/components/customer-list/customer-list.component.js +12 -9
  59. package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +1 -1
  60. package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +36 -6
  61. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +1 -1
  62. package/esm2015/order/components/line-refunds/line-refunds.component.js +1 -1
  63. package/esm2015/order/components/modification-detail/modification-detail.component.js +1 -1
  64. package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
  65. package/esm2015/order/components/order-editor/order-editor.component.js +22 -7
  66. package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +1 -1
  67. package/esm2015/order/components/order-history/order-history.component.js +2 -2
  68. package/esm2015/order/components/order-list/order-list.component.js +1 -1
  69. package/esm2015/order/components/order-table/order-table.component.js +2 -2
  70. package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +10 -5
  71. package/esm2015/order/order.routes.js +1 -1
  72. package/esm2015/settings/components/role-list/role-list.component.js +1 -1
  73. package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +1 -1
  74. package/esm2015/settings/providers/routing/shipping-method-resolver.js +1 -1
  75. package/esm2015/system/components/job-list/job-list.component.js +1 -1
  76. package/fesm2015/vendure-admin-ui-catalog.js +96 -109
  77. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  78. package/fesm2015/vendure-admin-ui-core.js +265 -246
  79. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  80. package/fesm2015/vendure-admin-ui-customer.js +53 -22
  81. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  82. package/fesm2015/vendure-admin-ui-order.js +67 -17
  83. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  84. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  85. package/fesm2015/vendure-admin-ui-system.js.map +1 -1
  86. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +3 -0
  87. package/order/components/order-editor/order-editor.component.d.ts +8 -2
  88. package/order/vendure-admin-ui-order.metadata.json +1 -1
  89. package/package.json +2 -2
  90. package/static/i18n-messages/cs.json +7 -1
  91. package/static/i18n-messages/de.json +7 -1
  92. package/static/i18n-messages/en.json +9 -3
  93. package/static/i18n-messages/es.json +7 -1
  94. package/static/i18n-messages/fr.json +7 -1
  95. package/static/i18n-messages/it.json +7 -1
  96. package/static/i18n-messages/pl.json +7 -1
  97. package/static/i18n-messages/pt_BR.json +7 -1
  98. package/static/i18n-messages/pt_PT.json +7 -1
  99. package/static/i18n-messages/ru.json +7 -1
  100. package/static/i18n-messages/uk.json +7 -1
  101. package/static/i18n-messages/zh_Hans.json +7 -1
  102. package/static/i18n-messages/zh_Hant.json +7 -1
  103. package/static/vendure-ui-config.json +25 -10
  104. package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
@@ -55,6 +55,7 @@
55
55
  "add-facet-value": "添加特征值",
56
56
  "add-facets": "添加特征",
57
57
  "add-option": "添加规格组",
58
+ "asset-preview-links": "",
58
59
  "assign-product-to-channel-success": "成功将产品添加至销售渠道\"{ channel }\"",
59
60
  "assign-products-to-channel": "分配产品到销售渠道",
60
61
  "assign-to-channel": "分配至销售渠道",
@@ -238,6 +239,7 @@
238
239
  "sample-formatting": "",
239
240
  "select": "选择...",
240
241
  "select-display-language": "选择显示语言",
242
+ "select-relation-id": "",
241
243
  "select-today": "选择今天",
242
244
  "set-language": "",
243
245
  "short-date": "",
@@ -309,7 +311,7 @@
309
311
  "remove-customers-from-group-success": "成功从分组\"{ groupName }\"中移除{customerCount}个客户",
310
312
  "remove-from-group": "从分组中移除",
311
313
  "search-customers-by-email": "输入要搜索的客户邮件地址",
312
- "search-customers-by-last-name": "按姓搜索",
314
+ "search-customers-by-email-last-name-postal-code": "",
313
315
  "select-customer": "选择客户",
314
316
  "set-as-default-billing-address": "设置为默认账单地址",
315
317
  "set-as-default-shipping-address": "设置为默认邮寄地址",
@@ -436,6 +438,7 @@
436
438
  "arrange-additional-payment": "添加额外付款",
437
439
  "billing-address": "账单地址",
438
440
  "cancel": "取消",
441
+ "cancel-entire-order": "",
439
442
  "cancel-fulfillment": "取消发货",
440
443
  "cancel-modification": "取消修改",
441
444
  "cancel-order": "取消订单",
@@ -443,6 +446,7 @@
443
446
  "cancel-reason-customer-request": "客户要求",
444
447
  "cancel-reason-not-available": "产品无库存",
445
448
  "cancel-selected-items": "取消已选",
449
+ "cancel-specified-items": "",
446
450
  "cancellation-reason": "取消原因",
447
451
  "cancelled-order-success": "订单成功取消",
448
452
  "confirm-modifications": "确认修改",
@@ -538,6 +542,7 @@
538
542
  "search-by-customer-last-name": "",
539
543
  "search-by-order-code": "输入要搜索的订单编号",
540
544
  "select-state": "",
545
+ "set-coupon-codes": "",
541
546
  "set-fulfillment-state": "",
542
547
  "settle-payment": "结算付款",
543
548
  "settle-payment-error": "结算付款失败",
@@ -547,6 +552,7 @@
547
552
  "settle-refund-success": "结算退款成功",
548
553
  "shipping": "运费",
549
554
  "shipping-address": "配送地址",
555
+ "shipping-cancelled": "",
550
556
  "shipping-method": "配送方式",
551
557
  "state": "状态",
552
558
  "sub-total": "小计金额",
@@ -55,6 +55,7 @@
55
55
  "add-facet-value": "新增特徵值",
56
56
  "add-facets": "新增特徵",
57
57
  "add-option": "新增規格選項",
58
+ "asset-preview-links": "",
58
59
  "assign-product-to-channel-success": "成功將產品新增至渠道\"{ channel }\"",
59
60
  "assign-products-to-channel": "分配產品到渠道",
60
61
  "assign-to-channel": "分配至渠道",
@@ -238,6 +239,7 @@
238
239
  "sample-formatting": "",
239
240
  "select": "選擇...",
240
241
  "select-display-language": "選擇顯示語言",
242
+ "select-relation-id": "",
241
243
  "select-today": "選擇今天",
242
244
  "set-language": "",
243
245
  "short-date": "",
@@ -309,7 +311,7 @@
309
311
  "remove-customers-from-group-success": "",
310
312
  "remove-from-group": "",
311
313
  "search-customers-by-email": "輸入要搜索的客户電郵地址",
312
- "search-customers-by-last-name": "",
314
+ "search-customers-by-email-last-name-postal-code": "",
313
315
  "select-customer": "",
314
316
  "set-as-default-billing-address": "設定為默認賬單地址",
315
317
  "set-as-default-shipping-address": "設定為默認郵寄地址",
@@ -436,6 +438,7 @@
436
438
  "arrange-additional-payment": "",
437
439
  "billing-address": "",
438
440
  "cancel": "取消",
441
+ "cancel-entire-order": "",
439
442
  "cancel-fulfillment": "",
440
443
  "cancel-modification": "",
441
444
  "cancel-order": "取消訂單",
@@ -443,6 +446,7 @@
443
446
  "cancel-reason-customer-request": "客户要求",
444
447
  "cancel-reason-not-available": "產品無庫存",
445
448
  "cancel-selected-items": "取消已選",
449
+ "cancel-specified-items": "",
446
450
  "cancellation-reason": "取消原因",
447
451
  "cancelled-order-success": "訂單取消成功",
448
452
  "confirm-modifications": "",
@@ -538,6 +542,7 @@
538
542
  "search-by-customer-last-name": "",
539
543
  "search-by-order-code": "輸入要搜索的訂單編號",
540
544
  "select-state": "",
545
+ "set-coupon-codes": "",
541
546
  "set-fulfillment-state": "",
542
547
  "settle-payment": "結算付款",
543
548
  "settle-payment-error": "結算付款失敗",
@@ -547,6 +552,7 @@
547
552
  "settle-refund-success": "結算退款成功",
548
553
  "shipping": "運費",
549
554
  "shipping-address": "配送地址",
555
+ "shipping-cancelled": "",
550
556
  "shipping-method": "配送方式",
551
557
  "state": "狀態",
552
558
  "sub-total": "小計金額",
@@ -1,12 +1,27 @@
1
1
  {
2
- "apiHost": "http://localhost",
3
- "apiPort": "3000",
4
- "adminApiPath": "admin-api",
5
- "tokenMethod": "bearer",
6
- "authTokenHeaderKey": "vendure-auth-token",
7
- "defaultLanguage": "en",
8
- "availableLanguages": ["en", "es", "zh_Hant", "zh_Hans", "pl", "de", "pt_BR", "pt_PT", "cs", "fr", "ru", "uk", "it"],
9
- "brand": "",
10
- "hideVendureBranding": false,
11
- "hideVersion": false
2
+ "apiHost": "http://localhost",
3
+ "apiPort": "3000",
4
+ "adminApiPath": "admin-api",
5
+ "tokenMethod": "bearer",
6
+ "authTokenHeaderKey": "vendure-auth-token",
7
+ "defaultLanguage": "en",
8
+ "availableLanguages": [
9
+ "en",
10
+ "es",
11
+ "zh_Hant",
12
+ "zh_Hans",
13
+ "pl",
14
+ "de",
15
+ "pt_BR",
16
+ "pt_PT",
17
+ "cs",
18
+ "fr",
19
+ "ru",
20
+ "uk",
21
+ "it"
22
+ ],
23
+ "brand": "",
24
+ "hideVendureBranding": false,
25
+ "hideVersion": false,
26
+ "cancellationReasons": ["order.cancel-reason-customer-request", "order.cancel-reason-not-available"]
12
27
  }
@@ -1,108 +0,0 @@
1
- import { moveItemInArray } from '@angular/cdk/drag-drop';
2
- import { ViewportRuler } from '@angular/cdk/overlay';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Optional, Output, } from '@angular/core';
4
- import { AssetPickerDialogComponent, AssetPreviewDialogComponent, ModalService, Permission, } from '@vendure/admin-ui/core';
5
- import { unique } from '@vendure/common/lib/unique';
6
- import { CollectionDetailComponent } from '../collection-detail/collection-detail.component';
7
- /**
8
- * A component which displays the Assets associated with a product, and allows assets to be removed and
9
- * added, and for the featured asset to be set.
10
- *
11
- * Note: rather complex code for drag drop is due to a limitation of the default CDK implementation
12
- * which is addressed by a work-around from here: https://github.com/angular/components/issues/13372#issuecomment-483998378
13
- */
14
- export class ProductAssetsComponent {
15
- constructor(modalService, changeDetector, viewportRuler, collectionDetailComponent) {
16
- this.modalService = modalService;
17
- this.changeDetector = changeDetector;
18
- this.viewportRuler = viewportRuler;
19
- this.collectionDetailComponent = collectionDetailComponent;
20
- this.compact = false;
21
- this.change = new EventEmitter();
22
- this.assets = [];
23
- this.updateCollectionPermissions = [Permission.UpdateCatalog, Permission.UpdateCollection];
24
- this.updateProductPermissions = [Permission.UpdateCatalog, Permission.UpdateProduct];
25
- }
26
- set assetsSetter(val) {
27
- // create a new non-readonly array of assets
28
- this.assets = (val || []).slice();
29
- }
30
- get updatePermissions() {
31
- if (this.collectionDetailComponent) {
32
- return this.updateCollectionPermissions;
33
- }
34
- else {
35
- return this.updateProductPermissions;
36
- }
37
- }
38
- selectAssets() {
39
- this.modalService
40
- .fromComponent(AssetPickerDialogComponent, {
41
- size: 'xl',
42
- })
43
- .subscribe(result => {
44
- if (result && result.length) {
45
- this.assets = unique(this.assets.concat(result), 'id');
46
- if (!this.featuredAsset) {
47
- this.featuredAsset = result[0];
48
- }
49
- this.emitChangeEvent(this.assets, this.featuredAsset);
50
- this.changeDetector.markForCheck();
51
- }
52
- });
53
- }
54
- setAsFeatured(asset) {
55
- this.featuredAsset = asset;
56
- this.emitChangeEvent(this.assets, asset);
57
- }
58
- isFeatured(asset) {
59
- return !!this.featuredAsset && this.featuredAsset.id === asset.id;
60
- }
61
- previewAsset(asset) {
62
- this.modalService
63
- .fromComponent(AssetPreviewDialogComponent, {
64
- size: 'xl',
65
- closable: true,
66
- locals: { asset },
67
- })
68
- .subscribe();
69
- }
70
- removeAsset(asset) {
71
- this.assets = this.assets.filter(a => a.id !== asset.id);
72
- if (this.featuredAsset && this.featuredAsset.id === asset.id) {
73
- this.featuredAsset = this.assets.length > 0 ? this.assets[0] : undefined;
74
- }
75
- this.emitChangeEvent(this.assets, this.featuredAsset);
76
- }
77
- emitChangeEvent(assets, featuredAsset) {
78
- this.change.emit({
79
- assets,
80
- featuredAsset,
81
- });
82
- }
83
- dropListDropped(event) {
84
- moveItemInArray(this.assets, event.previousContainer.data, event.container.data);
85
- this.emitChangeEvent(this.assets, this.featuredAsset);
86
- }
87
- }
88
- ProductAssetsComponent.decorators = [
89
- { type: Component, args: [{
90
- selector: 'vdr-product-assets',
91
- template: "<div class=\"card\" *ngIf=\"!compact; else compactView\">\r\n <div class=\"card-img\">\r\n <div class=\"featured-asset\">\r\n <img\r\n *ngIf=\"featuredAsset\"\r\n [src]=\"featuredAsset | assetPreview:'small'\"\r\n (click)=\"previewAsset(featuredAsset)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!featuredAsset\" (click)=\"selectAssets()\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-featured-asset' | translate }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-block\"><ng-container *ngTemplateOutlet=\"assetList\"></ng-container></div>\r\n <div class=\"card-footer\" *vdrIfPermissions=\"updatePermissions\">\r\n <button class=\"btn\" (click)=\"selectAssets()\">\r\n <clr-icon shape=\"attachment\"></clr-icon>\r\n {{ 'asset.add-asset' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<ng-template #compactView>\r\n <div class=\"featured-asset compact\">\r\n <img\r\n *ngIf=\"featuredAsset\"\r\n [src]=\"featuredAsset | assetPreview:'thumb'\"\r\n (click)=\"previewAsset(featuredAsset)\"\r\n />\r\n\r\n <div class=\"placeholder\" *ngIf=\"!featuredAsset\" (click)=\"selectAssets()\"><clr-icon shape=\"image\" size=\"150\"></clr-icon></div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"assetList\"></ng-container>\r\n <button\r\n *vdrIfPermissions=\"updatePermissions\"\r\n class=\"compact-select btn btn-icon btn-sm btn-block\"\r\n [title]=\"'asset.add-asset' | translate\"\r\n (click)=\"selectAssets()\"\r\n >\r\n <clr-icon shape=\"attachment\"></clr-icon>\r\n {{ 'asset.add-asset' | translate }}\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #assetList>\r\n <div class=\"all-assets\" [class.compact]=\"compact\" cdkDropListGroup>\r\n <div\r\n *ngFor=\"let asset of assets; let index = index\"\r\n class=\"drop-list\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListData]=\"index\"\r\n [cdkDropListDisabled]=\"!(updatePermissions | hasPermission)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n >\r\n <vdr-dropdown cdkDrag>\r\n <div\r\n class=\"asset-thumb\"\r\n vdrDropdownTrigger\r\n [class.featured]=\"isFeatured(asset)\"\r\n [title]=\"\"\r\n tabindex=\"0\"\r\n >\r\n <img [src]=\"asset | assetPreview:'tiny'\" />\r\n </div>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button type=\"button\" vdrDropdownItem (click)=\"previewAsset(asset)\">\r\n {{ 'asset.preview' | translate }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isFeatured(asset) || !(updatePermissions | hasPermission)\"\r\n vdrDropdownItem\r\n (click)=\"setAsFeatured(asset)\"\r\n >\r\n {{ 'asset.set-as-featured-asset' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n type=\"button\"\r\n class=\"remove-asset\"\r\n vdrDropdownItem\r\n [disabled]=\"!(updatePermissions | hasPermission)\"\r\n (click)=\"removeAsset(asset)\"\r\n >\r\n {{ 'asset.remove-asset' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
92
- changeDetection: ChangeDetectionStrategy.OnPush,
93
- styles: [":host{width:340px;display:block}:host.compact{width:162px}.placeholder{text-align:center;color:var(--color-grey-300)}.featured-asset{text-align:center;background:var(--color-component-bg-200);padding:6px;cursor:pointer}.featured-asset.compact{width:100%;min-height:40px;position:relative;padding:6px}.featured-asset .compact-select{position:absolute;bottom:6px;right:6px;margin:0}.all-assets{display:flex;flex-wrap:wrap}.all-assets .drop-list{min-width:60px}.all-assets .asset-thumb{margin:3px;padding:0;border:2px solid var(--color-component-border-100);cursor:pointer}.all-assets .asset-thumb.featured{border-color:var(--color-primary-500)}.all-assets .remove-asset{color:var(--color-warning-500)}.all-assets.compact .drop-list{min-width:54px}.all-assets.compact .asset-thumb{margin:1px;border-width:1px}.all-assets.compact .cdk-drag-placeholder{width:50px}.all-assets.compact .cdk-drag-placeholder .asset-thumb{width:50px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.all-assets.cdk-drop-list-dragging vdr-dropdown:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging>*:not(.cdk-drag-placeholder){display:none}\n"]
94
- },] }
95
- ];
96
- ProductAssetsComponent.ctorParameters = () => [
97
- { type: ModalService },
98
- { type: ChangeDetectorRef },
99
- { type: ViewportRuler },
100
- { type: CollectionDetailComponent, decorators: [{ type: Optional }] }
101
- ];
102
- ProductAssetsComponent.propDecorators = {
103
- assetsSetter: [{ type: Input, args: ['assets',] }],
104
- featuredAsset: [{ type: Input }],
105
- compact: [{ type: HostBinding, args: ['class.compact',] }, { type: Input }],
106
- change: [{ type: Output }]
107
- };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hc3NldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jYXRhbG9nL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtYXNzZXRzL3Byb2R1Y3QtYXNzZXRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLFlBQVksRUFDWixVQUFVLEdBQ2IsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFPN0Y7Ozs7OztHQU1HO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQXlCL0IsWUFDWSxZQUEwQixFQUMxQixjQUFpQyxFQUNqQyxhQUE0QixFQUNoQix5QkFBcUQ7UUFIakUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ2hCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBNEI7UUFwQjdFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDTixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU1QyxXQUFNLEdBQVksRUFBRSxDQUFDO1FBRVgsZ0NBQTJCLEdBQUcsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVB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SSxDQUFDO1lBQ2IsTUFBTTtZQUNOLGFBQWE7U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUEwQjtRQUN0QyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7WUE1RkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDQvSEFBOEM7Z0JBRTlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBeEJHLFlBQVk7WUFaWixpQkFBaUI7WUFIWixhQUFhO1lBb0JiLHlCQUF5Qix1QkFpRHpCLFFBQVE7OzsyQkE1QlosS0FBSyxTQUFDLFFBQVE7NEJBS2QsS0FBSztzQkFDTCxXQUFXLFNBQUMsZUFBZSxjQUMzQixLQUFLO3FCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQXNzZXQsXHJcbiAgICBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEFzc2V0UHJldmlld0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIE1vZGFsU2VydmljZSxcclxuICAgIFBlcm1pc3Npb24sXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IHVuaXF1ZSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvdW5pcXVlJztcclxuXHJcbmltcG9ydCB7IENvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuLi9jb2xsZWN0aW9uLWRldGFpbC9jb2xsZWN0aW9uLWRldGFpbC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBc3NldENoYW5nZSB7XHJcbiAgICBhc3NldHM6IEFzc2V0W107XHJcbiAgICBmZWF0dXJlZEFzc2V0OiBBc3NldCB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgY29tcG9uZW50IHdoaWNoIGRpc3BsYXlzIHRoZSBBc3NldHMgYXNzb2NpYXRlZCB3aXRoIGEgcHJvZHVjdCwgYW5kIGFsbG93cyBhc3NldHMgdG8gYmUgcmVtb3ZlZCBhbmRcclxuICogYWRkZWQsIGFuZCBmb3IgdGhlIGZlYXR1cmVkIGFzc2V0IHRvIGJlIHNldC5cclxuICpcclxuICogTm90ZTogcmF0aGVyIGNvbXBsZXggY29kZSBmb3IgZHJhZyBkcm9wIGlzIGR1ZSB0byBhIGxpbWl0YXRpb24gb2YgdGhlIGRlZmF1bHQgQ0RLIGltcGxlbWVudGF0aW9uXHJcbiAqIHdoaWNoIGlzIGFkZHJlc3NlZCBieSBhIHdvcmstYXJvdW5kIGZyb20gaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMTMzNzIjaXNzdWVjb21tZW50LTQ4Mzk5ODM3OFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1wcm9kdWN0LWFzc2V0cycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1hc3NldHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1hc3NldHMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFzc2V0c0NvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoJ2Fzc2V0cycpIHNldCBhc3NldHNTZXR0ZXIodmFsOiBBc3NldFtdKSB7XHJcbiAgICAgICAgLy8gY3JlYXRlIGEgbmV3IG5vbi1yZWFkb25seSBhcnJheSBvZiBhc3NldHNcclxuICAgICAgICB0aGlzLmFzc2V0cyA9ICh2YWwgfHwgW10pLnNsaWNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgZmVhdHVyZWRBc3NldDogQXNzZXQgfCB1bmRlZmluZWQ7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbXBhY3QnKVxyXG4gICAgQElucHV0KClcclxuICAgIGNvbXBhY3QgPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0Q2hhbmdlPigpO1xyXG5cclxuICAgIHB1YmxpYyBhc3NldHM6IEFzc2V0W10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZUNvbGxlY3Rpb25QZXJtaXNzaW9ucyA9IFtQZXJtaXNzaW9uLlVwZGF0ZUNhdGFsb2csIFBlcm1pc3Npb24uVXBkYXRlQ29sbGVjdGlvbl07XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZVByb2R1Y3RQZXJtaXNzaW9ucyA9IFtQZXJtaXNzaW9uLlVwZGF0ZUNhdGFsb2csIFBlcm1pc3Npb24uVXBkYXRlUHJvZHVjdF07XHJcblxyXG4gICAgZ2V0IHVwZGF0ZVBlcm1pc3Npb25zKCk6IFBlcm1pc3Npb25bXSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29sbGVjdGlvbkRldGFpbENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVDb2xsZWN0aW9uUGVybWlzc2lvbnM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUHJvZHVjdFBlcm1pc3Npb25zO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcclxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQ/OiBDb2xsZWN0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgKSB7fVxyXG5cclxuICAgIHNlbGVjdEFzc2V0cygpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc3NldHMgPSB1bmlxdWUodGhpcy5hc3NldHMuY29uY2F0KHJlc3VsdCksICdpZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5mZWF0dXJlZEFzc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVhdHVyZWRBc3NldCA9IHJlc3VsdFswXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQodGhpcy5hc3NldHMsIHRoaXMuZmVhdHVyZWRBc3NldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QXNGZWF0dXJlZChhc3NldDogQXNzZXQpIHtcclxuICAgICAgICB0aGlzLmZlYXR1cmVkQXNzZXQgPSBhc3NldDtcclxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCh0aGlzLmFzc2V0cywgYXNzZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRmVhdHVyZWQoYXNzZXQ6IEFzc2V0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5mZWF0dXJlZEFzc2V0ICYmIHRoaXMuZmVhdHVyZWRBc3NldC5pZCA9PT0gYXNzZXQuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlld0Fzc2V0KGFzc2V0OiBBc3NldCkge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KEFzc2V0UHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxzOiB7IGFzc2V0IH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBc3NldChhc3NldDogQXNzZXQpIHtcclxuICAgICAgICB0aGlzLmFzc2V0cyA9IHRoaXMuYXNzZXRzLmZpbHRlcihhID0+IGEuaWQgIT09IGFzc2V0LmlkKTtcclxuICAgICAgICBpZiAodGhpcy5mZWF0dXJlZEFzc2V0ICYmIHRoaXMuZmVhdHVyZWRBc3NldC5pZCA9PT0gYXNzZXQuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5mZWF0dXJlZEFzc2V0ID0gdGhpcy5hc3NldHMubGVuZ3RoID4gMCA/IHRoaXMuYXNzZXRzWzBdIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCh0aGlzLmFzc2V0cywgdGhpcy5mZWF0dXJlZEFzc2V0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGVtaXRDaGFuZ2VFdmVudChhc3NldHM6IEFzc2V0W10sIGZlYXR1cmVkQXNzZXQ6IEFzc2V0IHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgIGFzc2V0cyxcclxuICAgICAgICAgICAgZmVhdHVyZWRBc3NldCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkcm9wTGlzdERyb3BwZWQoZXZlbnQ6IENka0RyYWdEcm9wPG51bWJlcj4pIHtcclxuICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5hc3NldHMsIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhKTtcclxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCh0aGlzLmFzc2V0cywgdGhpcy5mZWF0dXJlZEFzc2V0KTtcclxuICAgIH1cclxufVxyXG4iXX0=