@vendure/admin-ui 1.4.7 → 1.5.2

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 (108) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +134 -143
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +329 -269
  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 +109 -19
  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 +2 -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 +109 -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/facet-detail/facet-detail.component.js +3 -3
  34. package/esm2015/catalog/components/product-detail/product-detail.component.js +4 -3
  35. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +9 -2
  36. package/esm2015/catalog/public_api.js +2 -2
  37. package/esm2015/core/common/generated-types.js +30 -1
  38. package/esm2015/core/common/introspection-result.js +189 -249
  39. package/esm2015/core/common/utilities/configurable-operation-utils.js +21 -3
  40. package/esm2015/core/common/version.js +2 -2
  41. package/esm2015/core/data/definitions/customer-definitions.js +8 -1
  42. package/esm2015/core/data/definitions/order-definitions.js +2 -1
  43. package/esm2015/core/data/providers/customer-data.service.js +5 -2
  44. package/esm2015/core/data/providers/interceptor.js +1 -1
  45. package/esm2015/core/data/providers/promotion-data.service.js +3 -2
  46. package/esm2015/core/data/providers/shipping-method-data.service.js +1 -1
  47. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +1 -1
  48. package/esm2015/core/public_api.js +3 -1
  49. package/esm2015/core/shared/components/address-form/address-form.component.js +1 -1
  50. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
  51. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +4 -4
  52. package/esm2015/core/shared/components/asset-preview-links/asset-preview-links.component.js +18 -0
  53. package/esm2015/core/shared/components/object-tree/object-tree.component.js +3 -3
  54. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.js +48 -0
  55. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +2 -2
  56. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +1 -1
  57. package/esm2015/core/shared/shared.module.js +5 -1
  58. package/esm2015/customer/components/address-card/address-card.component.js +9 -3
  59. package/esm2015/customer/components/customer-detail/customer-detail.component.js +35 -13
  60. package/esm2015/customer/components/customer-list/customer-list.component.js +12 -9
  61. package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +1 -1
  62. package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +36 -6
  63. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +1 -1
  64. package/esm2015/order/components/line-refunds/line-refunds.component.js +1 -1
  65. package/esm2015/order/components/modification-detail/modification-detail.component.js +1 -1
  66. package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
  67. package/esm2015/order/components/order-editor/order-editor.component.js +23 -8
  68. package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +1 -1
  69. package/esm2015/order/components/order-history/order-history.component.js +2 -2
  70. package/esm2015/order/components/order-list/order-list.component.js +1 -1
  71. package/esm2015/order/components/order-table/order-table.component.js +3 -3
  72. package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +10 -5
  73. package/esm2015/order/order.routes.js +1 -1
  74. package/esm2015/settings/components/role-list/role-list.component.js +1 -1
  75. package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +1 -1
  76. package/esm2015/settings/providers/routing/shipping-method-resolver.js +1 -1
  77. package/esm2015/system/components/job-list/job-list.component.js +1 -1
  78. package/fesm2015/vendure-admin-ui-catalog.js +105 -111
  79. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  80. package/fesm2015/vendure-admin-ui-core.js +310 -249
  81. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  82. package/fesm2015/vendure-admin-ui-customer.js +53 -22
  83. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  84. package/fesm2015/vendure-admin-ui-order.js +69 -19
  85. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  86. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  87. package/fesm2015/vendure-admin-ui-system.js.map +1 -1
  88. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +3 -0
  89. package/order/components/order-editor/order-editor.component.d.ts +8 -2
  90. package/order/vendure-admin-ui-order.metadata.json +1 -1
  91. package/package.json +5 -5
  92. package/static/i18n-messages/cs.json +7 -1
  93. package/static/i18n-messages/de.json +7 -1
  94. package/static/i18n-messages/en.json +9 -3
  95. package/static/i18n-messages/es.json +7 -1
  96. package/static/i18n-messages/fr.json +7 -1
  97. package/static/i18n-messages/it.json +7 -1
  98. package/static/i18n-messages/pl.json +7 -1
  99. package/static/i18n-messages/pt_BR.json +7 -1
  100. package/static/i18n-messages/pt_PT.json +7 -1
  101. package/static/i18n-messages/ru.json +7 -1
  102. package/static/i18n-messages/uk.json +7 -1
  103. package/static/i18n-messages/zh_Hans.json +7 -1
  104. package/static/i18n-messages/zh_Hant.json +7 -1
  105. package/static/styles/global/_overrides.scss +6 -0
  106. package/static/theme.min.css +1 -1
  107. package/static/vendure-ui-config.json +25 -10
  108. package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
@@ -2864,6 +2864,13 @@ const UPDATE_CUSTOMER_ADDRESS = gql `
2864
2864
  }
2865
2865
  ${ADDRESS_FRAGMENT}
2866
2866
  `;
2867
+ const DELETE_CUSTOMER_ADDRESS = gql `
2868
+ mutation DeleteCustomerAddress($id: ID!) {
2869
+ deleteCustomerAddress(id: $id) {
2870
+ success
2871
+ }
2872
+ }
2873
+ `;
2867
2874
  const CREATE_CUSTOMER_GROUP = gql `
2868
2875
  mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {
2869
2876
  createCustomerGroup(input: $input) {
@@ -3031,6 +3038,9 @@ class CustomerDataService {
3031
3038
  input,
3032
3039
  });
3033
3040
  }
3041
+ deleteCustomerAddress(id) {
3042
+ return this.baseDataService.mutate(DELETE_CUSTOMER_ADDRESS, { id });
3043
+ }
3034
3044
  createCustomerGroup(input) {
3035
3045
  return this.baseDataService.mutate(CREATE_CUSTOMER_GROUP, {
3036
3046
  input,
@@ -3380,6 +3390,7 @@ const ORDER_DETAIL_FRAGMENT = gql `
3380
3390
  state
3381
3391
  nextStates
3382
3392
  active
3393
+ couponCodes
3383
3394
  customer {
3384
3395
  id
3385
3396
  firstName
@@ -3816,6 +3827,7 @@ var AdjustmentType;
3816
3827
  (function (AdjustmentType) {
3817
3828
  AdjustmentType["PROMOTION"] = "PROMOTION";
3818
3829
  AdjustmentType["DISTRIBUTED_ORDER_PROMOTION"] = "DISTRIBUTED_ORDER_PROMOTION";
3830
+ AdjustmentType["OTHER"] = "OTHER";
3819
3831
  })(AdjustmentType || (AdjustmentType = {}));
3820
3832
  var AssetType;
3821
3833
  (function (AssetType) {
@@ -4189,6 +4201,9 @@ var ErrorCode;
4189
4201
  ErrorCode["ORDER_LIMIT_ERROR"] = "ORDER_LIMIT_ERROR";
4190
4202
  ErrorCode["NEGATIVE_QUANTITY_ERROR"] = "NEGATIVE_QUANTITY_ERROR";
4191
4203
  ErrorCode["INSUFFICIENT_STOCK_ERROR"] = "INSUFFICIENT_STOCK_ERROR";
4204
+ ErrorCode["COUPON_CODE_INVALID_ERROR"] = "COUPON_CODE_INVALID_ERROR";
4205
+ ErrorCode["COUPON_CODE_EXPIRED_ERROR"] = "COUPON_CODE_EXPIRED_ERROR";
4206
+ ErrorCode["COUPON_CODE_LIMIT_ERROR"] = "COUPON_CODE_LIMIT_ERROR";
4192
4207
  })(ErrorCode || (ErrorCode = {}));
4193
4208
  var GlobalFlag;
4194
4209
  (function (GlobalFlag) {
@@ -4574,6 +4589,31 @@ var LogicalOperator;
4574
4589
  * Permissions for administrators and customers. Used to control access to
4575
4590
  * GraphQL resolvers via the {@link Allow} decorator.
4576
4591
  *
4592
+ * ## Understanding Permission.Owner
4593
+ *
4594
+ * `Permission.Owner` is a special permission which is used in some of the Vendure resolvers to indicate that that resolver should only
4595
+ * be accessible to the "owner" of that resource.
4596
+ *
4597
+ * For example, the Shop API `activeCustomer` query resolver should only return the Customer object for the "owner" of that Customer, i.e.
4598
+ * based on the activeUserId of the current session. As a result, the resolver code looks like this:
4599
+ *
4600
+ * @example
4601
+ * ```TypeScript
4602
+ * \@Query()
4603
+ * \@Allow(Permission.Owner)
4604
+ * async activeCustomer(\@Ctx() ctx: RequestContext): Promise<Customer | undefined> {
4605
+ * const userId = ctx.activeUserId;
4606
+ * if (userId) {
4607
+ * return this.customerService.findOneByUserId(ctx, userId);
4608
+ * }
4609
+ * }
4610
+ * ```
4611
+ *
4612
+ * Here we can see that the "ownership" must be enforced by custom logic inside the resolver. Since "ownership" cannot be defined generally
4613
+ * nor statically encoded at build-time, any resolvers using `Permission.Owner` **must** include logic to enforce that only the owner
4614
+ * of the resource has access. If not, then it is the equivalent of using `Permission.Public`.
4615
+ *
4616
+ *
4577
4617
  * @docsCategory common
4578
4618
  */
4579
4619
  var Permission;
@@ -5074,11 +5114,12 @@ class PromotionDataService {
5074
5114
  constructor(baseDataService) {
5075
5115
  this.baseDataService = baseDataService;
5076
5116
  }
5077
- getPromotions(take = 10, skip = 0) {
5117
+ getPromotions(take = 10, skip = 0, filter) {
5078
5118
  return this.baseDataService.query(GET_PROMOTION_LIST, {
5079
5119
  options: {
5080
5120
  take,
5081
5121
  skip,
5122
+ filter,
5082
5123
  },
5083
5124
  });
5084
5125
  }
@@ -7363,254 +7404,194 @@ UserMenuComponent.propDecorators = {
7363
7404
 
7364
7405
  // tslint:disable
7365
7406
  const result = {
7366
- "possibleTypes": {
7367
- "AddFulfillmentToOrderResult": [
7368
- "Fulfillment",
7369
- "EmptyOrderLineSelectionError",
7370
- "ItemsAlreadyFulfilledError",
7371
- "InsufficientStockOnHandError",
7372
- "InvalidFulfillmentHandlerError",
7373
- "FulfillmentStateTransitionError",
7374
- "CreateFulfillmentError"
7375
- ],
7376
- "AddManualPaymentToOrderResult": [
7377
- "Order",
7378
- "ManualPaymentStateError"
7379
- ],
7380
- "AuthenticationResult": [
7381
- "CurrentUser",
7382
- "InvalidCredentialsError"
7383
- ],
7384
- "CancelOrderResult": [
7385
- "Order",
7386
- "EmptyOrderLineSelectionError",
7387
- "QuantityTooGreatError",
7388
- "MultipleOrderError",
7389
- "CancelActiveOrderError",
7390
- "OrderStateTransitionError"
7391
- ],
7392
- "CreateAssetResult": [
7393
- "Asset",
7394
- "MimeTypeError"
7395
- ],
7396
- "CreateChannelResult": [
7397
- "Channel",
7398
- "LanguageNotAvailableError"
7399
- ],
7400
- "CreateCustomerResult": [
7401
- "Customer",
7402
- "EmailAddressConflictError"
7403
- ],
7404
- "CreatePromotionResult": [
7405
- "Promotion",
7406
- "MissingConditionsError"
7407
+ possibleTypes: {
7408
+ AddFulfillmentToOrderResult: [
7409
+ 'Fulfillment',
7410
+ 'EmptyOrderLineSelectionError',
7411
+ 'ItemsAlreadyFulfilledError',
7412
+ 'InsufficientStockOnHandError',
7413
+ 'InvalidFulfillmentHandlerError',
7414
+ 'FulfillmentStateTransitionError',
7415
+ 'CreateFulfillmentError',
7407
7416
  ],
7408
- "CustomField": [
7409
- "BooleanCustomFieldConfig",
7410
- "DateTimeCustomFieldConfig",
7411
- "FloatCustomFieldConfig",
7412
- "IntCustomFieldConfig",
7413
- "LocaleStringCustomFieldConfig",
7414
- "RelationCustomFieldConfig",
7415
- "StringCustomFieldConfig",
7416
- "TextCustomFieldConfig"
7417
+ AddManualPaymentToOrderResult: ['Order', 'ManualPaymentStateError'],
7418
+ AuthenticationResult: ['CurrentUser', 'InvalidCredentialsError'],
7419
+ CancelOrderResult: [
7420
+ 'Order',
7421
+ 'EmptyOrderLineSelectionError',
7422
+ 'QuantityTooGreatError',
7423
+ 'MultipleOrderError',
7424
+ 'CancelActiveOrderError',
7425
+ 'OrderStateTransitionError',
7417
7426
  ],
7418
- "CustomFieldConfig": [
7419
- "StringCustomFieldConfig",
7420
- "LocaleStringCustomFieldConfig",
7421
- "IntCustomFieldConfig",
7422
- "FloatCustomFieldConfig",
7423
- "BooleanCustomFieldConfig",
7424
- "DateTimeCustomFieldConfig",
7425
- "RelationCustomFieldConfig",
7426
- "TextCustomFieldConfig"
7427
+ CreateAssetResult: ['Asset', 'MimeTypeError'],
7428
+ CreateChannelResult: ['Channel', 'LanguageNotAvailableError'],
7429
+ CreateCustomerResult: ['Customer', 'EmailAddressConflictError'],
7430
+ CreatePromotionResult: ['Promotion', 'MissingConditionsError'],
7431
+ CustomField: [
7432
+ 'BooleanCustomFieldConfig',
7433
+ 'DateTimeCustomFieldConfig',
7434
+ 'FloatCustomFieldConfig',
7435
+ 'IntCustomFieldConfig',
7436
+ 'LocaleStringCustomFieldConfig',
7437
+ 'RelationCustomFieldConfig',
7438
+ 'StringCustomFieldConfig',
7439
+ 'TextCustomFieldConfig',
7427
7440
  ],
7428
- "ErrorResult": [
7429
- "AlreadyRefundedError",
7430
- "CancelActiveOrderError",
7431
- "ChannelDefaultLanguageError",
7432
- "CreateFulfillmentError",
7433
- "EmailAddressConflictError",
7434
- "EmptyOrderLineSelectionError",
7435
- "FulfillmentStateTransitionError",
7436
- "InsufficientStockError",
7437
- "InsufficientStockOnHandError",
7438
- "InvalidCredentialsError",
7439
- "InvalidFulfillmentHandlerError",
7440
- "ItemsAlreadyFulfilledError",
7441
- "LanguageNotAvailableError",
7442
- "ManualPaymentStateError",
7443
- "MimeTypeError",
7444
- "MissingConditionsError",
7445
- "MultipleOrderError",
7446
- "NativeAuthStrategyError",
7447
- "NegativeQuantityError",
7448
- "NoChangesSpecifiedError",
7449
- "NothingToRefundError",
7450
- "OrderLimitError",
7451
- "OrderModificationStateError",
7452
- "OrderStateTransitionError",
7453
- "PaymentMethodMissingError",
7454
- "PaymentOrderMismatchError",
7455
- "PaymentStateTransitionError",
7456
- "ProductOptionInUseError",
7457
- "QuantityTooGreatError",
7458
- "RefundOrderStateError",
7459
- "RefundPaymentIdMissingError",
7460
- "RefundStateTransitionError",
7461
- "SettlePaymentError"
7441
+ CustomFieldConfig: [
7442
+ 'StringCustomFieldConfig',
7443
+ 'LocaleStringCustomFieldConfig',
7444
+ 'IntCustomFieldConfig',
7445
+ 'FloatCustomFieldConfig',
7446
+ 'BooleanCustomFieldConfig',
7447
+ 'DateTimeCustomFieldConfig',
7448
+ 'RelationCustomFieldConfig',
7449
+ 'TextCustomFieldConfig',
7462
7450
  ],
7463
- "ModifyOrderResult": [
7464
- "Order",
7465
- "NoChangesSpecifiedError",
7466
- "OrderModificationStateError",
7467
- "PaymentMethodMissingError",
7468
- "RefundPaymentIdMissingError",
7469
- "OrderLimitError",
7470
- "NegativeQuantityError",
7471
- "InsufficientStockError"
7451
+ ErrorResult: [
7452
+ 'AlreadyRefundedError',
7453
+ 'CancelActiveOrderError',
7454
+ 'ChannelDefaultLanguageError',
7455
+ 'CouponCodeExpiredError',
7456
+ 'CouponCodeInvalidError',
7457
+ 'CouponCodeLimitError',
7458
+ 'CreateFulfillmentError',
7459
+ 'EmailAddressConflictError',
7460
+ 'EmptyOrderLineSelectionError',
7461
+ 'FulfillmentStateTransitionError',
7462
+ 'InsufficientStockError',
7463
+ 'InsufficientStockOnHandError',
7464
+ 'InvalidCredentialsError',
7465
+ 'InvalidFulfillmentHandlerError',
7466
+ 'ItemsAlreadyFulfilledError',
7467
+ 'LanguageNotAvailableError',
7468
+ 'ManualPaymentStateError',
7469
+ 'MimeTypeError',
7470
+ 'MissingConditionsError',
7471
+ 'MultipleOrderError',
7472
+ 'NativeAuthStrategyError',
7473
+ 'NegativeQuantityError',
7474
+ 'NoChangesSpecifiedError',
7475
+ 'NothingToRefundError',
7476
+ 'OrderLimitError',
7477
+ 'OrderModificationStateError',
7478
+ 'OrderStateTransitionError',
7479
+ 'PaymentMethodMissingError',
7480
+ 'PaymentOrderMismatchError',
7481
+ 'PaymentStateTransitionError',
7482
+ 'ProductOptionInUseError',
7483
+ 'QuantityTooGreatError',
7484
+ 'RefundOrderStateError',
7485
+ 'RefundPaymentIdMissingError',
7486
+ 'RefundStateTransitionError',
7487
+ 'SettlePaymentError',
7472
7488
  ],
7473
- "NativeAuthenticationResult": [
7474
- "CurrentUser",
7475
- "InvalidCredentialsError",
7476
- "NativeAuthStrategyError"
7489
+ ModifyOrderResult: [
7490
+ 'Order',
7491
+ 'NoChangesSpecifiedError',
7492
+ 'OrderModificationStateError',
7493
+ 'PaymentMethodMissingError',
7494
+ 'RefundPaymentIdMissingError',
7495
+ 'OrderLimitError',
7496
+ 'NegativeQuantityError',
7497
+ 'InsufficientStockError',
7498
+ 'CouponCodeExpiredError',
7499
+ 'CouponCodeInvalidError',
7500
+ 'CouponCodeLimitError',
7477
7501
  ],
7478
- "Node": [
7479
- "Address",
7480
- "Administrator",
7481
- "Allocation",
7482
- "Asset",
7483
- "AuthenticationMethod",
7484
- "Cancellation",
7485
- "Channel",
7486
- "Collection",
7487
- "Country",
7488
- "Customer",
7489
- "CustomerGroup",
7490
- "Facet",
7491
- "FacetValue",
7492
- "Fulfillment",
7493
- "HistoryEntry",
7494
- "Job",
7495
- "Order",
7496
- "OrderItem",
7497
- "OrderLine",
7498
- "OrderModification",
7499
- "Payment",
7500
- "PaymentMethod",
7501
- "Product",
7502
- "ProductOption",
7503
- "ProductOptionGroup",
7504
- "ProductVariant",
7505
- "Promotion",
7506
- "Refund",
7507
- "Release",
7508
- "Return",
7509
- "Role",
7510
- "Sale",
7511
- "ShippingMethod",
7512
- "StockAdjustment",
7513
- "Surcharge",
7514
- "Tag",
7515
- "TaxCategory",
7516
- "TaxRate",
7517
- "User",
7518
- "Zone"
7502
+ NativeAuthenticationResult: ['CurrentUser', 'InvalidCredentialsError', 'NativeAuthStrategyError'],
7503
+ Node: [
7504
+ 'Address',
7505
+ 'Administrator',
7506
+ 'Allocation',
7507
+ 'Asset',
7508
+ 'AuthenticationMethod',
7509
+ 'Cancellation',
7510
+ 'Channel',
7511
+ 'Collection',
7512
+ 'Country',
7513
+ 'Customer',
7514
+ 'CustomerGroup',
7515
+ 'Facet',
7516
+ 'FacetValue',
7517
+ 'Fulfillment',
7518
+ 'HistoryEntry',
7519
+ 'Job',
7520
+ 'Order',
7521
+ 'OrderItem',
7522
+ 'OrderLine',
7523
+ 'OrderModification',
7524
+ 'Payment',
7525
+ 'PaymentMethod',
7526
+ 'Product',
7527
+ 'ProductOption',
7528
+ 'ProductOptionGroup',
7529
+ 'ProductVariant',
7530
+ 'Promotion',
7531
+ 'Refund',
7532
+ 'Release',
7533
+ 'Return',
7534
+ 'Role',
7535
+ 'Sale',
7536
+ 'ShippingMethod',
7537
+ 'StockAdjustment',
7538
+ 'Surcharge',
7539
+ 'Tag',
7540
+ 'TaxCategory',
7541
+ 'TaxRate',
7542
+ 'User',
7543
+ 'Zone',
7519
7544
  ],
7520
- "PaginatedList": [
7521
- "AdministratorList",
7522
- "AssetList",
7523
- "CollectionList",
7524
- "CountryList",
7525
- "CustomerGroupList",
7526
- "CustomerList",
7527
- "FacetList",
7528
- "HistoryEntryList",
7529
- "JobList",
7530
- "OrderList",
7531
- "PaymentMethodList",
7532
- "ProductList",
7533
- "ProductVariantList",
7534
- "PromotionList",
7535
- "RoleList",
7536
- "ShippingMethodList",
7537
- "TagList",
7538
- "TaxRateList"
7545
+ PaginatedList: [
7546
+ 'AdministratorList',
7547
+ 'AssetList',
7548
+ 'CollectionList',
7549
+ 'CountryList',
7550
+ 'CustomerGroupList',
7551
+ 'CustomerList',
7552
+ 'FacetList',
7553
+ 'HistoryEntryList',
7554
+ 'JobList',
7555
+ 'OrderList',
7556
+ 'PaymentMethodList',
7557
+ 'ProductList',
7558
+ 'ProductVariantList',
7559
+ 'PromotionList',
7560
+ 'RoleList',
7561
+ 'ShippingMethodList',
7562
+ 'TagList',
7563
+ 'TaxRateList',
7539
7564
  ],
7540
- "RefundOrderResult": [
7541
- "Refund",
7542
- "QuantityTooGreatError",
7543
- "NothingToRefundError",
7544
- "OrderStateTransitionError",
7545
- "MultipleOrderError",
7546
- "PaymentOrderMismatchError",
7547
- "RefundOrderStateError",
7548
- "AlreadyRefundedError",
7549
- "RefundStateTransitionError"
7565
+ RefundOrderResult: [
7566
+ 'Refund',
7567
+ 'QuantityTooGreatError',
7568
+ 'NothingToRefundError',
7569
+ 'OrderStateTransitionError',
7570
+ 'MultipleOrderError',
7571
+ 'PaymentOrderMismatchError',
7572
+ 'RefundOrderStateError',
7573
+ 'AlreadyRefundedError',
7574
+ 'RefundStateTransitionError',
7550
7575
  ],
7551
- "RemoveOptionGroupFromProductResult": [
7552
- "Product",
7553
- "ProductOptionInUseError"
7576
+ RemoveOptionGroupFromProductResult: ['Product', 'ProductOptionInUseError'],
7577
+ SearchResultPrice: ['PriceRange', 'SinglePrice'],
7578
+ SettlePaymentResult: [
7579
+ 'Payment',
7580
+ 'SettlePaymentError',
7581
+ 'PaymentStateTransitionError',
7582
+ 'OrderStateTransitionError',
7554
7583
  ],
7555
- "SearchResultPrice": [
7556
- "PriceRange",
7557
- "SinglePrice"
7558
- ],
7559
- "SettlePaymentResult": [
7560
- "Payment",
7561
- "SettlePaymentError",
7562
- "PaymentStateTransitionError",
7563
- "OrderStateTransitionError"
7564
- ],
7565
- "SettleRefundResult": [
7566
- "Refund",
7567
- "RefundStateTransitionError"
7568
- ],
7569
- "StockMovement": [
7570
- "Allocation",
7571
- "Cancellation",
7572
- "Release",
7573
- "Return",
7574
- "Sale",
7575
- "StockAdjustment"
7576
- ],
7577
- "StockMovementItem": [
7578
- "StockAdjustment",
7579
- "Allocation",
7580
- "Sale",
7581
- "Cancellation",
7582
- "Return",
7583
- "Release"
7584
- ],
7585
- "TransitionFulfillmentToStateResult": [
7586
- "Fulfillment",
7587
- "FulfillmentStateTransitionError"
7588
- ],
7589
- "TransitionOrderToStateResult": [
7590
- "Order",
7591
- "OrderStateTransitionError"
7592
- ],
7593
- "TransitionPaymentToStateResult": [
7594
- "Payment",
7595
- "PaymentStateTransitionError"
7596
- ],
7597
- "UpdateChannelResult": [
7598
- "Channel",
7599
- "LanguageNotAvailableError"
7600
- ],
7601
- "UpdateCustomerResult": [
7602
- "Customer",
7603
- "EmailAddressConflictError"
7604
- ],
7605
- "UpdateGlobalSettingsResult": [
7606
- "GlobalSettings",
7607
- "ChannelDefaultLanguageError"
7608
- ],
7609
- "UpdatePromotionResult": [
7610
- "Promotion",
7611
- "MissingConditionsError"
7612
- ]
7613
- }
7584
+ SettleRefundResult: ['Refund', 'RefundStateTransitionError'],
7585
+ StockMovement: ['Allocation', 'Cancellation', 'Release', 'Return', 'Sale', 'StockAdjustment'],
7586
+ StockMovementItem: ['StockAdjustment', 'Allocation', 'Sale', 'Cancellation', 'Return', 'Release'],
7587
+ TransitionFulfillmentToStateResult: ['Fulfillment', 'FulfillmentStateTransitionError'],
7588
+ TransitionOrderToStateResult: ['Order', 'OrderStateTransitionError'],
7589
+ TransitionPaymentToStateResult: ['Payment', 'PaymentStateTransitionError'],
7590
+ UpdateChannelResult: ['Channel', 'LanguageNotAvailableError'],
7591
+ UpdateCustomerResult: ['Customer', 'EmailAddressConflictError'],
7592
+ UpdateGlobalSettingsResult: ['GlobalSettings', 'ChannelDefaultLanguageError'],
7593
+ UpdatePromotionResult: ['Promotion', 'MissingConditionsError'],
7594
+ },
7614
7595
  };
7615
7596
 
7616
7597
  // Allows the introspectionResult to be imported as a named symbol
@@ -8761,7 +8742,7 @@ RelationFormInputComponent.id = 'relation-form-input';
8761
8742
  RelationFormInputComponent.decorators = [
8762
8743
  { type: Component, args: [{
8763
8744
  selector: 'vdr-relation-form-input',
8764
- template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n No input component configured for \"{{ config.entity }}\" type\r\n </ng-template>\r\n</div>\r\n",
8745
+ template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n",
8765
8746
  changeDetection: ChangeDetectionStrategy.OnPush,
8766
8747
  styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"]
8767
8748
  },] }
@@ -9399,7 +9380,7 @@ class AssetGalleryComponent {
9399
9380
  AssetGalleryComponent.decorators = [
9400
9381
  { type: Component, args: [{
9401
9382
  selector: 'vdr-asset-gallery',
9402
- template: "<div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let asset of assets\"\r\n (click)=\"toggleSelection(asset, $event)\"\r\n [class.selected]=\"isSelected(asset)\"\r\n >\r\n <div class=\"card-img\">\r\n <div class=\"selected-checkbox\"><clr-icon shape=\"check-circle\" size=\"32\"></clr-icon></div>\r\n <img [src]=\"asset | assetPreview: 'thumb'\" />\r\n </div>\r\n <div class=\"detail\">\r\n <vdr-entity-info\r\n [entity]=\"asset\"\r\n [small]=\"true\"\r\n (click)=\"entityInfoClick($event)\"\r\n ></vdr-entity-info>\r\n <span [title]=\"asset.name\">{{ asset.name }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"info-bar\">\r\n <div class=\"card\">\r\n <div class=\"card-img\">\r\n <div class=\"placeholder\" *ngIf=\"selection.length === 0\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-selection' | translate }}</div>\r\n </div>\r\n <img\r\n class=\"preview\"\r\n *ngIf=\"selection.length >= 1\"\r\n [src]=\"lastSelected().preview + '?preset=medium'\"\r\n />\r\n </div>\r\n <div class=\"card-block details\" *ngIf=\"selection.length >= 1\">\r\n <div class=\"name\">{{ lastSelected().name }}</div>\r\n <div>{{ 'asset.original-asset-size' | translate }}: {{ lastSelected().fileSize | filesize }}</div>\r\n\r\n <ng-container *ngIf=\"selection.length === 1\">\r\n <vdr-chip *ngFor=\"let tag of lastSelected().tags\" [colorFrom]=\"tag.value\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag.value }}</vdr-chip>\r\n <div>\r\n <button (click)=\"previewAsset(lastSelected())\" class=\"btn btn-link\">\r\n <clr-icon shape=\"eye\"></clr-icon> {{ 'asset.preview' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <a [routerLink]=\"['./', lastSelected().id]\" class=\"btn btn-link\">\r\n <clr-icon shape=\"pencil\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"canDelete\">\r\n <button (click)=\"deleteAssets.emit(selection)\" class=\"btn btn-link\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon> {{ 'common.delete' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card stack\" [class.visible]=\"selection.length > 1\"></div>\r\n <div class=\"selection-count\" [class.visible]=\"selection.length > 1\">\r\n {{ 'asset.assets-selected-count' | translate: { count: selection.length } }}\r\n <ul>\r\n <li *ngFor=\"let asset of selection\">{{ asset.name }}</li>\r\n </ul>\r\n </div>\r\n</div>\r\n",
9383
+ template: "<div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let asset of assets\"\r\n (click)=\"toggleSelection(asset, $event)\"\r\n [class.selected]=\"isSelected(asset)\"\r\n >\r\n <div class=\"card-img\">\r\n <div class=\"selected-checkbox\"><clr-icon shape=\"check-circle\" size=\"32\"></clr-icon></div>\r\n <img [src]=\"asset | assetPreview: 'thumb'\" />\r\n </div>\r\n <div class=\"detail\">\r\n <vdr-entity-info\r\n [entity]=\"asset\"\r\n [small]=\"true\"\r\n (click)=\"entityInfoClick($event)\"\r\n ></vdr-entity-info>\r\n <span [title]=\"asset.name\">{{ asset.name }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"info-bar\">\r\n <div class=\"card\">\r\n <div class=\"card-img\">\r\n <div class=\"placeholder\" *ngIf=\"selection.length === 0\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-selection' | translate }}</div>\r\n </div>\r\n <img\r\n class=\"preview\"\r\n *ngIf=\"selection.length >= 1\"\r\n [src]=\"lastSelected().preview + '?preset=medium'\"\r\n />\r\n </div>\r\n <div class=\"card-block details\" *ngIf=\"selection.length >= 1\">\r\n <div class=\"name\">{{ lastSelected().name }}</div>\r\n <div>{{ 'asset.original-asset-size' | translate }}: {{ lastSelected().fileSize | filesize }}</div>\r\n\r\n <ng-container *ngIf=\"selection.length === 1\">\r\n <vdr-chip *ngFor=\"let tag of lastSelected().tags\" [colorFrom]=\"tag.value\"\r\n ><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag.value }}</vdr-chip\r\n >\r\n <div>\r\n <button (click)=\"previewAsset(lastSelected())\" class=\"btn btn-link\">\r\n <clr-icon shape=\"eye\"></clr-icon> {{ 'asset.preview' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-asset-preview-links class=\"\" [asset]=\"lastSelected()\"></vdr-asset-preview-links>\r\n </div>\r\n <div>\r\n <a [routerLink]=\"['./', lastSelected().id]\" class=\"btn btn-link\">\r\n <clr-icon shape=\"pencil\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"canDelete\">\r\n <button (click)=\"deleteAssets.emit(selection)\" class=\"btn btn-link\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon> {{ 'common.delete' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card stack\" [class.visible]=\"selection.length > 1\"></div>\r\n <div class=\"selection-count\" [class.visible]=\"selection.length > 1\">\r\n {{ 'asset.assets-selected-count' | translate: { count: selection.length } }}\r\n <ul>\r\n <li *ngFor=\"let asset of selection\">{{ asset.name }}</li>\r\n </ul>\r\n </div>\r\n</div>\r\n",
9403
9384
  changeDetection: ChangeDetectionStrategy.OnPush,
9404
9385
  styles: [":host{display:flex;overflow:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,150px);grid-template-rows:repeat(auto-fill,180px);grid-gap:10px 20px;overflow-y:auto;padding-left:12px;padding-top:12px;padding-bottom:12px}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card{margin-top:0;position:relative}.selected-checkbox{opacity:0;position:absolute;color:var(--color-success-500);background-color:#fff;border-radius:50%;top:-12px;left:-12px;box-shadow:0 5px 5px -4px #000000bf;transition:opacity .1s}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.detail{font-size:12px;margin:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail vdr-entity-info{height:16px}.info-bar{width:25%;padding:0 6px;overflow-y:auto}.info-bar .card{z-index:1}.info-bar .stack{z-index:0;opacity:0;transform:perspective(500px) translateZ(0) translateY(-16px);height:16px;transition:transform .3s,opacity 0s .3s;background-color:#fff}.info-bar .stack.visible{opacity:1;transform:perspective(500px) translateZ(-44px) translateY(0);background-color:var(--color-component-bg-100);transition:transform .3s,color .3s}.info-bar .selection-count{opacity:0;position:relative;text-align:center;visibility:hidden;transition:opacity .3s,visibility 0s .3s}.info-bar .selection-count.visible{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}.info-bar .selection-count ul{text-align:left;list-style-type:none;margin-left:12px}.info-bar .selection-count ul li{font-size:12px}.info-bar .placeholder{text-align:center;color:var(--color-grey-300)}.info-bar .preview img{max-width:100%}.info-bar .details{font-size:12px;word-break:break-all}.info-bar .name{line-height:14px;font-weight:bold}\n"]
9405
9386
  },] }
@@ -9546,6 +9527,23 @@ AssetPickerDialogComponent.propDecorators = {
9546
9527
  assetGalleryComponent: [{ type: ViewChild, args: ['assetGalleryComponent',] }]
9547
9528
  };
9548
9529
 
9530
+ class AssetPreviewLinksComponent {
9531
+ constructor() {
9532
+ this.sizes = ['tiny', 'thumb', 'small', 'medium', 'large', 'full'];
9533
+ }
9534
+ }
9535
+ AssetPreviewLinksComponent.decorators = [
9536
+ { type: Component, args: [{
9537
+ selector: 'vdr-asset-preview-links',
9538
+ template: "<vdr-dropdown>\r\n <button class=\"btn btn-link\" vdrDropdownTrigger>\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'catalog.asset-preview-links' | translate }}<clr-icon shape=\"caret\" dir=\"down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <a\r\n *ngFor=\"let size of sizes\"\r\n [href]=\"asset | assetPreview: size\"\r\n [title]=\"asset | assetPreview: size\"\r\n target=\"_blank\"\r\n class=\"asset-preview-link\"\r\n vdrDropdownItem\r\n >\r\n <vdr-chip><clr-icon shape=\"link\"></clr-icon> {{ 'asset.preview' | translate }}: {{ size }}</vdr-chip>\r\n </a>\r\n </vdr-dropdown-menu></vdr-dropdown\r\n>\r\n",
9539
+ changeDetection: ChangeDetectionStrategy.OnPush,
9540
+ styles: [".asset-preview-link{font-size:12px}\n"]
9541
+ },] }
9542
+ ];
9543
+ AssetPreviewLinksComponent.propDecorators = {
9544
+ asset: [{ type: Input }]
9545
+ };
9546
+
9549
9547
  class ManageTagsDialogComponent {
9550
9548
  constructor(dataService) {
9551
9549
  this.dataService = dataService;
@@ -9651,7 +9649,7 @@ class AssetPreviewComponent {
9651
9649
  }
9652
9650
  }
9653
9651
  getSourceFileName() {
9654
- const parts = this.asset.source.split('/');
9652
+ const parts = this.asset.source.split(/[\\\/]/g);
9655
9653
  return parts[parts.length - 1];
9656
9654
  }
9657
9655
  onImageLoad() {
@@ -9745,9 +9743,9 @@ class AssetPreviewComponent {
9745
9743
  AssetPreviewComponent.decorators = [
9746
9744
  { type: Component, args: [{
9747
9745
  selector: 'vdr-asset-preview',
9748
- template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <a\r\n *ngIf=\"!editable\"\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n</div>\r\n",
9746
+ template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n [ngClass]=\"size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <vdr-asset-preview-links class=\"mb4\" [asset]=\"asset\"></vdr-asset-preview-links>\r\n <div *ngIf=\"!editable\" class=\"edit-button-wrapper\">\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n</div>\r\n",
9749
9747
  changeDetection: ChangeDetectionStrategy.OnPush,
9750
- styles: [":host{display:flex;height:100%}.preview-image{width:100%;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-left:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center;margin-bottom:12px}.controls .preview-select clr-select-container{margin-right:12px}\n"]
9748
+ styles: [":host{display:flex;height:100%}.preview-image{width:100%;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .asset-image.tiny{max-width:50px;max-height:50px}.preview-image .asset-image.thumb{max-width:150px;max-height:150px}.preview-image .asset-image.small{max-width:300px;max-height:300px}.preview-image .asset-image.medium{max-width:500px;max-height:500px}.preview-image .asset-image.large{max-width:800px;max-height:800px}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-left:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center}.controls .preview-select clr-select-container{margin-right:12px}.edit-button-wrapper{padding-top:6px;border-top:1px solid var(--color-component-border-100);text-align:center}\n"]
9751
9749
  },] }
9752
9750
  ];
9753
9751
  AssetPreviewComponent.ctorParameters = () => [
@@ -10151,8 +10149,25 @@ function configurableOperationValueIsValid(def, value) {
10151
10149
  * Returns a default value based on the type of the config arg.
10152
10150
  */
10153
10151
  function getDefaultConfigArgValue(arg) {
10154
- var _a;
10155
- return arg.list ? [] : (_a = arg.defaultValue) !== null && _a !== void 0 ? _a : null;
10152
+ if (arg.list) {
10153
+ return [];
10154
+ }
10155
+ if (arg.defaultValue) {
10156
+ return arg.defaultValue;
10157
+ }
10158
+ const type = arg.type;
10159
+ switch (type) {
10160
+ case 'string':
10161
+ case 'datetime':
10162
+ case 'float':
10163
+ case 'ID':
10164
+ case 'int':
10165
+ return null;
10166
+ case 'boolean':
10167
+ return false;
10168
+ default:
10169
+ assertNever(type);
10170
+ }
10156
10171
  }
10157
10172
 
10158
10173
  /**
@@ -12094,7 +12109,7 @@ class ObjectTreeComponent {
12094
12109
  this.depth = 0;
12095
12110
  }
12096
12111
  }
12097
- ngOnInit() {
12112
+ ngOnChanges() {
12098
12113
  this.entries = this.getEntries(this.value);
12099
12114
  this.expanded = this.depth === 0 || this.isArrayItem;
12100
12115
  this.valueIsArray = Object.keys(this.value).every(v => Number.isInteger(+v));
@@ -13902,6 +13917,50 @@ RelationCustomerInputComponent.propDecorators = {
13902
13917
  template: [{ type: ViewChild, args: ['selector',] }]
13903
13918
  };
13904
13919
 
13920
+ class RelationGenericInputComponent {
13921
+ constructor(modalService) {
13922
+ this.modalService = modalService;
13923
+ }
13924
+ selectRelationId() {
13925
+ this.modalService
13926
+ .fromComponent(RelationSelectorDialogComponent, {
13927
+ size: 'md',
13928
+ closable: true,
13929
+ locals: {
13930
+ title: marker('common.select-relation-id'),
13931
+ selectorTemplate: this.template,
13932
+ },
13933
+ })
13934
+ .subscribe(result => {
13935
+ if (result) {
13936
+ this.parentFormControl.setValue({ id: result });
13937
+ this.parentFormControl.markAsDirty();
13938
+ }
13939
+ });
13940
+ }
13941
+ remove() {
13942
+ this.parentFormControl.setValue(null);
13943
+ this.parentFormControl.markAsDirty();
13944
+ }
13945
+ }
13946
+ RelationGenericInputComponent.decorators = [
13947
+ { type: Component, args: [{
13948
+ selector: 'vdr-relation-generic-input',
13949
+ template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
13950
+ changeDetection: ChangeDetectionStrategy.OnPush,
13951
+ styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"]
13952
+ },] }
13953
+ ];
13954
+ RelationGenericInputComponent.ctorParameters = () => [
13955
+ { type: ModalService }
13956
+ ];
13957
+ RelationGenericInputComponent.propDecorators = {
13958
+ readonly: [{ type: Input }],
13959
+ parentFormControl: [{ type: Input }],
13960
+ config: [{ type: Input }],
13961
+ template: [{ type: ViewChild, args: ['selector',] }]
13962
+ };
13963
+
13905
13964
  class RelationProductVariantInputComponent {
13906
13965
  constructor(modalService, dataService) {
13907
13966
  this.modalService = modalService;
@@ -14974,6 +15033,7 @@ const DECLARATIONS = [
14974
15033
  TabbedCustomFieldsComponent,
14975
15034
  UiExtensionPointComponent,
14976
15035
  CustomDetailComponentHostComponent,
15036
+ AssetPreviewLinksComponent,
14977
15037
  ];
14978
15038
  const DYNAMIC_FORM_INPUTS = [
14979
15039
  TextFormInputComponent,
@@ -14993,6 +15053,7 @@ const DYNAMIC_FORM_INPUTS = [
14993
15053
  RelationCardPreviewDirective,
14994
15054
  RelationCardDetailDirective,
14995
15055
  RelationSelectorDialogComponent,
15056
+ RelationGenericInputComponent,
14996
15057
  TextareaFormInputComponent,
14997
15058
  RichTextFormInputComponent,
14998
15059
  JsonEditorFormInputComponent,
@@ -15533,7 +15594,7 @@ function patchObject(obj, patch) {
15533
15594
  }
15534
15595
 
15535
15596
  // Auto-generated by the set-version.js script.
15536
- const ADMIN_UI_VERSION = '1.4.7';
15597
+ const ADMIN_UI_VERSION = '1.5.2';
15537
15598
 
15538
15599
  /**
15539
15600
  * Responsible for registering dashboard widget components and querying for layouts.
@@ -15753,5 +15814,5 @@ function unicodePatternValidator(patternRe) {
15753
15814
  * Generated bundle index. Do not edit.
15754
15815
  */
15755
15816
 
15756
- export { ADDRESS_FRAGMENT, ADD_CUSTOMERS_TO_GROUP, ADD_MANUAL_PAYMENT_TO_ORDER, ADD_MEMBERS_TO_ZONE, ADD_NOTE_TO_CUSTOMER, ADD_NOTE_TO_ORDER, ADD_OPTION_GROUP_TO_PRODUCT, ADD_OPTION_TO_GROUP, ADMINISTRATOR_FRAGMENT, ADMIN_UI_VERSION, ALL_CUSTOM_FIELDS_FRAGMENT, ASSET_FRAGMENT, ASSIGN_PRODUCTS_TO_CHANNEL, ASSIGN_ROLE_TO_ADMINISTRATOR, ASSIGN_VARIANTS_TO_CHANNEL, ATTEMPT_LOGIN, AUTH_REDIRECT_PARAM, ActionBarComponent, ActionBarItemsComponent, ActionBarLeftComponent, ActionBarRightComponent, AddressFormComponent, AdjustmentType, AdministratorDataService, AffixedInputComponent, AppComponent, AppComponentModule, AppShellComponent, AssetFileInputComponent, AssetGalleryComponent, AssetPickerDialogComponent, AssetPreviewComponent, AssetPreviewDialogComponent, AssetPreviewPipe, AssetSearchInputComponent, AssetType, AuthDataService, AuthGuard, AuthService, BOOLEAN_CUSTOM_FIELD_FRAGMENT, BaseDataService, BaseDetailComponent, BaseEntityResolver, BaseListComponent, BooleanFormInputComponent, BreadcrumbComponent, CANCEL_JOB, CANCEL_ORDER, CHANNEL_FRAGMENT, COLLECTION_FRAGMENT, CONFIGURABLE_OPERATION_DEF_FRAGMENT, CONFIGURABLE_OPERATION_FRAGMENT, COUNTRY_FRAGMENT, CREATE_ADMINISTRATOR, CREATE_ASSETS, CREATE_CHANNEL, CREATE_COLLECTION, CREATE_COUNTRY, CREATE_CUSTOMER, CREATE_CUSTOMER_ADDRESS, CREATE_CUSTOMER_GROUP, CREATE_FACET, CREATE_FACET_VALUES, CREATE_FULFILLMENT, CREATE_PAYMENT_METHOD, CREATE_PRODUCT, CREATE_PRODUCT_OPTION_GROUP, CREATE_PRODUCT_VARIANTS, CREATE_PROMOTION, CREATE_ROLE, CREATE_SHIPPING_METHOD, CREATE_TAG, CREATE_TAX_CATEGORY, CREATE_TAX_RATE, CREATE_ZONE, CURRENT_USER_FRAGMENT, CUSTOMER_FRAGMENT, CUSTOMER_GROUP_FRAGMENT, CUSTOM_FIELD_CONFIG_FRAGMENT, CanDeactivateDetailGuard, ChannelAssignmentControlComponent, ChannelBadgeComponent, ChannelLabelPipe, ChannelSwitcherComponent, CheckJobsLink, ChipComponent, ClientDataService, CollectionDataService, ComponentRegistryService, ConfigurableInputComponent, CoreModule, CurrencyCode, CurrencyFormInputComponent, CurrencyInputComponent, CustomDetailComponentHostComponent, CustomDetailComponentService, CustomFieldComponentService, CustomFieldControlComponent, CustomFieldLabelPipe, CustomHttpTranslationLoader, CustomerDataService, CustomerGroupFormInputComponent, CustomerLabelComponent, DATE_TIME_CUSTOM_FIELD_FRAGMENT, DELETE_ADMINISTRATOR, DELETE_ASSETS, DELETE_CHANNEL, DELETE_COLLECTION, DELETE_COUNTRY, DELETE_CUSTOMER, DELETE_CUSTOMER_GROUP, DELETE_CUSTOMER_NOTE, DELETE_FACET, DELETE_FACET_VALUES, DELETE_ORDER_NOTE, DELETE_PAYMENT_METHOD, DELETE_PRODUCT, DELETE_PRODUCT_VARIANT, DELETE_PROMOTION, DELETE_ROLE, DELETE_SHIPPING_METHOD, DELETE_TAG, DELETE_TAX_CATEGORY, DELETE_TAX_RATE, DELETE_ZONE, DISCOUNT_FRAGMENT, DashboardWidgetService, DataModule, DataService, DataTableColumnComponent, DataTableComponent, DateFormInputComponent, DatetimePickerComponent, DatetimePickerService, DefaultInterceptor, DeletionResult, DialogButtonsDirective, DialogComponentOutletComponent, DialogTitleDirective, DisabledDirective, DropdownComponent, DropdownItemDirective, DropdownMenuComponent, DropdownTriggerDirective, DurationPipe, DynamicFormInputComponent, ERROR_RESULT_FRAGMENT, EditNoteDialogComponent, EmptyPlaceholderComponent, EntityInfoComponent, ErrorCode, ExtensionHostComponent, ExtensionHostConfig, ExtensionHostService, ExternalImageDialogComponent, FACET_VALUE_FRAGMENT, FACET_WITH_VALUES_FRAGMENT, FLOAT_CUSTOM_FIELD_FRAGMENT, FULFILLMENT_FRAGMENT, FacetDataService, FacetValueChipComponent, FacetValueFormInputComponent, FacetValueSelectorComponent, FetchAdapter, FileSizePipe, FocalPointControlComponent, FormFieldComponent, FormFieldControlDirective, FormItemComponent, FormattedAddressComponent, GET_ACTIVE_ADMINISTRATOR, GET_ACTIVE_CHANNEL, GET_ADJUSTMENT_OPERATIONS, GET_ADMINISTRATOR, GET_ADMINISTRATORS, GET_ASSET, GET_ASSET_LIST, GET_AVAILABLE_COUNTRIES, GET_CHANNEL, GET_CHANNELS, GET_CLIENT_STATE, GET_COLLECTION, GET_COLLECTION_CONTENTS, GET_COLLECTION_FILTERS, GET_COLLECTION_LIST, GET_COUNTRY, GET_COUNTRY_LIST, GET_CURRENT_USER, GET_CUSTOMER, GET_CUSTOMER_GROUPS, GET_CUSTOMER_GROUP_WITH_CUSTOMERS, GET_CUSTOMER_HISTORY, GET_CUSTOMER_LIST, GET_FACET_LIST, GET_FACET_WITH_VALUES, GET_GLOBAL_SETTINGS, GET_JOBS_BY_ID, GET_JOBS_LIST, GET_JOB_INFO, GET_JOB_QUEUE_LIST, GET_NEWTORK_STATUS, GET_ORDER, GET_ORDERS_LIST, GET_ORDER_HISTORY, GET_ORDER_SUMMARY, GET_PAYMENT_METHOD, GET_PAYMENT_METHOD_LIST, GET_PAYMENT_METHOD_OPERATIONS, GET_PENDING_SEARCH_INDEX_UPDATES, GET_PRODUCT_LIST, GET_PRODUCT_OPTION_GROUP, GET_PRODUCT_OPTION_GROUPS, GET_PRODUCT_SIMPLE, GET_PRODUCT_VARIANT, GET_PRODUCT_VARIANT_LIST, GET_PRODUCT_VARIANT_LIST_SIMPLE, GET_PRODUCT_VARIANT_OPTIONS, GET_PRODUCT_WITH_VARIANTS, GET_PROMOTION, GET_PROMOTION_LIST, GET_ROLE, GET_ROLES, GET_SERVER_CONFIG, GET_SHIPPING_METHOD, GET_SHIPPING_METHOD_LIST, GET_SHIPPING_METHOD_OPERATIONS, GET_TAG, GET_TAG_LIST, GET_TAX_CATEGORIES, GET_TAX_CATEGORY, GET_TAX_RATE, GET_TAX_RATE_LIST, GET_TAX_RATE_LIST_SIMPLE, GET_UI_STATE, GET_USER_STATUS, GET_ZONE, GET_ZONES, GLOBAL_SETTINGS_FRAGMENT, GlobalFlag, HasPermissionPipe, HealthCheckService, HelpTooltipComponent, HistoryEntryDetailComponent, HistoryEntryType, HttpLoaderFactory, I18nService, INT_CUSTOM_FIELD_FRAGMENT, IfDefaultChannelActiveDirective, IfDirectiveBase, IfMultichannelDirective, IfPermissionsDirective, InjectableTranslateMessageFormatCompiler, ItemsPerPageControlsComponent, JOB_INFO_FRAGMENT, JobQueueService, JobState, JsonEditorFormInputComponent, LOCALE_STRING_CUSTOM_FIELD_FRAGMENT, LOG_OUT, LabeledDataComponent, LanguageCode, LanguageSelectorComponent, LinkDialogComponent, LocalStorageService, LocaleBasePipe, LocaleCurrencyNamePipe, LocaleCurrencyPipe, LocaleDatePipe, LocaleLanguageNamePipe, LocaleRegionNamePipe, LogicalOperator, MODIFY_ORDER, MOVE_COLLECTION, MainNavComponent, ManageTagsDialogComponent, ModalDialogComponent, ModalService, NavBuilderService, NotificationComponent, NotificationService, NumberFormInputComponent, ORDER_ADDRESS_FRAGMENT, ORDER_DETAIL_FRAGMENT, ORDER_FRAGMENT, ORDER_LINE_FRAGMENT, ObjectTreeComponent, OmitTypenameLink, OrderDataService, OrderStateLabelComponent, OverlayHostComponent, OverlayHostService, PAYMENT_METHOD_FRAGMENT, PRODUCT_DETAIL_FRAGMENT, PRODUCT_OPTION_FRAGMENT, PRODUCT_OPTION_GROUP_FRAGMENT, PRODUCT_OPTION_GROUP_WITH_OPTIONS_FRAGMENT, PRODUCT_SELECTOR_SEARCH, PRODUCT_VARIANT_FRAGMENT, PROMOTION_FRAGMENT, PaginationControlsComponent, PasswordFormInputComponent, PercentageSuffixInputComponent, Permission, ProductDataService, ProductSelectorComponent, ProductSelectorFormInputComponent, PromotionDataService, ProsemirrorService, QueryResult, REFUND_FRAGMENT, REFUND_ORDER, REINDEX, RELATION_CUSTOM_FIELD_FRAGMENT, REMOVE_CUSTOMERS_FROM_GROUP, REMOVE_MEMBERS_FROM_ZONE, REMOVE_OPTION_GROUP_FROM_PRODUCT, REMOVE_PRODUCTS_FROM_CHANNEL, REMOVE_VARIANTS_FROM_CHANNEL, REQUEST_COMPLETED, REQUEST_STARTED, ROLE_FRAGMENT, RUN_PENDING_SEARCH_INDEX_UPDATES, RelationAssetInputComponent, RelationCardComponent, RelationCardDetailDirective, RelationCardPreviewDirective, RelationCustomerInputComponent, RelationFormInputComponent, RelationProductInputComponent, RelationProductVariantInputComponent, RelationSelectorDialogComponent, RichTextEditorComponent, RichTextFormInputComponent, SEARCH_PRODUCTS, SETTLE_PAYMENT, SETTLE_REFUND, SET_ACTIVE_CHANNEL, SET_AS_LOGGED_IN, SET_AS_LOGGED_OUT, SET_CONTENT_LANGUAGE, SET_DISPLAY_UI_EXTENSION_POINTS, SET_UI_LANGUAGE_AND_LOCALE, SET_UI_LOCALE, SET_UI_THEME, SHIPPING_METHOD_FRAGMENT, STRING_CUSTOM_FIELD_FRAGMENT, SelectFormInputComponent, SelectToggleComponent, SentenceCasePipe, ServerConfigService, SettingsDataService, SharedModule, ShippingMethodDataService, SimpleDialogComponent, SingleSearchSelectionModel, SingleSearchSelectionModelFactory, SortOrder, SortPipe, StateI18nTokenPipe, StatusBadgeComponent, StockMovementType, StringToColorPipe, TAG_FRAGMENT, TAX_CATEGORY_FRAGMENT, TAX_RATE_FRAGMENT, TEST_ELIGIBLE_SHIPPING_METHODS, TEST_SHIPPING_METHOD, TEXT_CUSTOM_FIELD_FRAGMENT, TRANSITION_FULFILLMENT_TO_STATE, TRANSITION_ORDER_TO_STATE, TRANSITION_PAYMENT_TO_STATE, TabbedCustomFieldsComponent, TableRowActionComponent, TagSelectorComponent, TextFormInputComponent, TextareaFormInputComponent, ThemeSwitcherComponent, TimeAgoPipe, TimelineEntryComponent, TitleInputComponent, UPDATE_ACTIVE_ADMINISTRATOR, UPDATE_ADMINISTRATOR, UPDATE_ASSET, UPDATE_CHANNEL, UPDATE_COLLECTION, UPDATE_COUNTRY, UPDATE_CUSTOMER, UPDATE_CUSTOMER_ADDRESS, UPDATE_CUSTOMER_GROUP, UPDATE_CUSTOMER_NOTE, UPDATE_FACET, UPDATE_FACET_VALUES, UPDATE_GLOBAL_SETTINGS, UPDATE_ORDER_CUSTOM_FIELDS, UPDATE_ORDER_NOTE, UPDATE_PAYMENT_METHOD, UPDATE_PRODUCT, UPDATE_PRODUCT_OPTION, UPDATE_PRODUCT_OPTION_GROUP, UPDATE_PRODUCT_VARIANTS, UPDATE_PROMOTION, UPDATE_ROLE, UPDATE_SHIPPING_METHOD, UPDATE_TAG, UPDATE_TAX_CATEGORY, UPDATE_TAX_RATE, UPDATE_USER_CHANNELS, UPDATE_ZONE, USER_STATUS_FRAGMENT, UiExtensionPointComponent, UiLanguageSwitcherDialogComponent, UserMenuComponent, ZONE_FRAGMENT, addActionBarItem, addCustomFields, addNavMenuItem, addNavMenuSection, blockQuoteRule, buildInputRules, buildKeymap, buildMenuItems, bulletListRule, canInsert, clientResolvers, codeBlockRule, configurableDefinitionToInstance, configurableOperationValueIsValid, createApollo, createResolveData, createUpdatedTranslatable, dayOfWeekIndex, defaultFormInputs, detailBreadcrumb, encodeConfigArgValue, findTranslation, flattenFacetValues, getAppConfig, getClientDefaults, getConfigArgValue, getDefaultConfigArgValue, getDefaultUiLanguage, getDefaultUiLocale, getLocales, getMarkRange, getServerLocation, headingRule, hostExternalFrame, initializeServerConfigService, insertImageItem, interpolateDescription, result as introspectionResult, isEntityCreateOrUpdateMutation, jsonValidator, linkItem, linkSelectPlugin, loadAppConfig, markActive, orderedListRule, registerCustomDetailComponent, registerCustomFieldComponent, registerDashboardWidget, registerDefaultFormInputs, registerFormInputComponent, removeReadonlyCustomFields, setDashboardWidgetLayout, stringToColor, toConfigurableOperationInput, transformRelationCustomFieldInputs, unicodePatternValidator, weekDayNames, ɵ1, ɵ10, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9 };
15817
+ export { ADDRESS_FRAGMENT, ADD_CUSTOMERS_TO_GROUP, ADD_MANUAL_PAYMENT_TO_ORDER, ADD_MEMBERS_TO_ZONE, ADD_NOTE_TO_CUSTOMER, ADD_NOTE_TO_ORDER, ADD_OPTION_GROUP_TO_PRODUCT, ADD_OPTION_TO_GROUP, ADMINISTRATOR_FRAGMENT, ADMIN_UI_VERSION, ALL_CUSTOM_FIELDS_FRAGMENT, ASSET_FRAGMENT, ASSIGN_PRODUCTS_TO_CHANNEL, ASSIGN_ROLE_TO_ADMINISTRATOR, ASSIGN_VARIANTS_TO_CHANNEL, ATTEMPT_LOGIN, AUTH_REDIRECT_PARAM, ActionBarComponent, ActionBarItemsComponent, ActionBarLeftComponent, ActionBarRightComponent, AddressFormComponent, AdjustmentType, AdministratorDataService, AffixedInputComponent, AppComponent, AppComponentModule, AppShellComponent, AssetFileInputComponent, AssetGalleryComponent, AssetPickerDialogComponent, AssetPreviewComponent, AssetPreviewDialogComponent, AssetPreviewLinksComponent, AssetPreviewPipe, AssetSearchInputComponent, AssetType, AuthDataService, AuthGuard, AuthService, BOOLEAN_CUSTOM_FIELD_FRAGMENT, BaseDataService, BaseDetailComponent, BaseEntityResolver, BaseListComponent, BooleanFormInputComponent, BreadcrumbComponent, CANCEL_JOB, CANCEL_ORDER, CHANNEL_FRAGMENT, COLLECTION_FRAGMENT, CONFIGURABLE_OPERATION_DEF_FRAGMENT, CONFIGURABLE_OPERATION_FRAGMENT, COUNTRY_FRAGMENT, CREATE_ADMINISTRATOR, CREATE_ASSETS, CREATE_CHANNEL, CREATE_COLLECTION, CREATE_COUNTRY, CREATE_CUSTOMER, CREATE_CUSTOMER_ADDRESS, CREATE_CUSTOMER_GROUP, CREATE_FACET, CREATE_FACET_VALUES, CREATE_FULFILLMENT, CREATE_PAYMENT_METHOD, CREATE_PRODUCT, CREATE_PRODUCT_OPTION_GROUP, CREATE_PRODUCT_VARIANTS, CREATE_PROMOTION, CREATE_ROLE, CREATE_SHIPPING_METHOD, CREATE_TAG, CREATE_TAX_CATEGORY, CREATE_TAX_RATE, CREATE_ZONE, CURRENT_USER_FRAGMENT, CUSTOMER_FRAGMENT, CUSTOMER_GROUP_FRAGMENT, CUSTOM_FIELD_CONFIG_FRAGMENT, CanDeactivateDetailGuard, ChannelAssignmentControlComponent, ChannelBadgeComponent, ChannelLabelPipe, ChannelSwitcherComponent, CheckJobsLink, ChipComponent, ClientDataService, CollectionDataService, ComponentRegistryService, ConfigurableInputComponent, CoreModule, CurrencyCode, CurrencyFormInputComponent, CurrencyInputComponent, CustomDetailComponentHostComponent, CustomDetailComponentService, CustomFieldComponentService, CustomFieldControlComponent, CustomFieldLabelPipe, CustomHttpTranslationLoader, CustomerDataService, CustomerGroupFormInputComponent, CustomerLabelComponent, DATE_TIME_CUSTOM_FIELD_FRAGMENT, DELETE_ADMINISTRATOR, DELETE_ASSETS, DELETE_CHANNEL, DELETE_COLLECTION, DELETE_COUNTRY, DELETE_CUSTOMER, DELETE_CUSTOMER_ADDRESS, DELETE_CUSTOMER_GROUP, DELETE_CUSTOMER_NOTE, DELETE_FACET, DELETE_FACET_VALUES, DELETE_ORDER_NOTE, DELETE_PAYMENT_METHOD, DELETE_PRODUCT, DELETE_PRODUCT_VARIANT, DELETE_PROMOTION, DELETE_ROLE, DELETE_SHIPPING_METHOD, DELETE_TAG, DELETE_TAX_CATEGORY, DELETE_TAX_RATE, DELETE_ZONE, DISCOUNT_FRAGMENT, DashboardWidgetService, DataModule, DataService, DataTableColumnComponent, DataTableComponent, DateFormInputComponent, DatetimePickerComponent, DatetimePickerService, DefaultInterceptor, DeletionResult, DialogButtonsDirective, DialogComponentOutletComponent, DialogTitleDirective, DisabledDirective, DropdownComponent, DropdownItemDirective, DropdownMenuComponent, DropdownTriggerDirective, DurationPipe, DynamicFormInputComponent, ERROR_RESULT_FRAGMENT, EditNoteDialogComponent, EmptyPlaceholderComponent, EntityInfoComponent, ErrorCode, ExtensionHostComponent, ExtensionHostConfig, ExtensionHostService, ExternalImageDialogComponent, FACET_VALUE_FRAGMENT, FACET_WITH_VALUES_FRAGMENT, FLOAT_CUSTOM_FIELD_FRAGMENT, FULFILLMENT_FRAGMENT, FacetDataService, FacetValueChipComponent, FacetValueFormInputComponent, FacetValueSelectorComponent, FetchAdapter, FileSizePipe, FocalPointControlComponent, FormFieldComponent, FormFieldControlDirective, FormItemComponent, FormattedAddressComponent, GET_ACTIVE_ADMINISTRATOR, GET_ACTIVE_CHANNEL, GET_ADJUSTMENT_OPERATIONS, GET_ADMINISTRATOR, GET_ADMINISTRATORS, GET_ASSET, GET_ASSET_LIST, GET_AVAILABLE_COUNTRIES, GET_CHANNEL, GET_CHANNELS, GET_CLIENT_STATE, GET_COLLECTION, GET_COLLECTION_CONTENTS, GET_COLLECTION_FILTERS, GET_COLLECTION_LIST, GET_COUNTRY, GET_COUNTRY_LIST, GET_CURRENT_USER, GET_CUSTOMER, GET_CUSTOMER_GROUPS, GET_CUSTOMER_GROUP_WITH_CUSTOMERS, GET_CUSTOMER_HISTORY, GET_CUSTOMER_LIST, GET_FACET_LIST, GET_FACET_WITH_VALUES, GET_GLOBAL_SETTINGS, GET_JOBS_BY_ID, GET_JOBS_LIST, GET_JOB_INFO, GET_JOB_QUEUE_LIST, GET_NEWTORK_STATUS, GET_ORDER, GET_ORDERS_LIST, GET_ORDER_HISTORY, GET_ORDER_SUMMARY, GET_PAYMENT_METHOD, GET_PAYMENT_METHOD_LIST, GET_PAYMENT_METHOD_OPERATIONS, GET_PENDING_SEARCH_INDEX_UPDATES, GET_PRODUCT_LIST, GET_PRODUCT_OPTION_GROUP, GET_PRODUCT_OPTION_GROUPS, GET_PRODUCT_SIMPLE, GET_PRODUCT_VARIANT, GET_PRODUCT_VARIANT_LIST, GET_PRODUCT_VARIANT_LIST_SIMPLE, GET_PRODUCT_VARIANT_OPTIONS, GET_PRODUCT_WITH_VARIANTS, GET_PROMOTION, GET_PROMOTION_LIST, GET_ROLE, GET_ROLES, GET_SERVER_CONFIG, GET_SHIPPING_METHOD, GET_SHIPPING_METHOD_LIST, GET_SHIPPING_METHOD_OPERATIONS, GET_TAG, GET_TAG_LIST, GET_TAX_CATEGORIES, GET_TAX_CATEGORY, GET_TAX_RATE, GET_TAX_RATE_LIST, GET_TAX_RATE_LIST_SIMPLE, GET_UI_STATE, GET_USER_STATUS, GET_ZONE, GET_ZONES, GLOBAL_SETTINGS_FRAGMENT, GlobalFlag, HasPermissionPipe, HealthCheckService, HelpTooltipComponent, HistoryEntryDetailComponent, HistoryEntryType, HttpLoaderFactory, I18nService, INT_CUSTOM_FIELD_FRAGMENT, IfDefaultChannelActiveDirective, IfDirectiveBase, IfMultichannelDirective, IfPermissionsDirective, InjectableTranslateMessageFormatCompiler, ItemsPerPageControlsComponent, JOB_INFO_FRAGMENT, JobQueueService, JobState, JsonEditorFormInputComponent, LOCALE_STRING_CUSTOM_FIELD_FRAGMENT, LOG_OUT, LabeledDataComponent, LanguageCode, LanguageSelectorComponent, LinkDialogComponent, LocalStorageService, LocaleBasePipe, LocaleCurrencyNamePipe, LocaleCurrencyPipe, LocaleDatePipe, LocaleLanguageNamePipe, LocaleRegionNamePipe, LogicalOperator, MODIFY_ORDER, MOVE_COLLECTION, MainNavComponent, ManageTagsDialogComponent, ModalDialogComponent, ModalService, NavBuilderService, NotificationComponent, NotificationService, NumberFormInputComponent, ORDER_ADDRESS_FRAGMENT, ORDER_DETAIL_FRAGMENT, ORDER_FRAGMENT, ORDER_LINE_FRAGMENT, ObjectTreeComponent, OmitTypenameLink, OrderDataService, OrderStateLabelComponent, OverlayHostComponent, OverlayHostService, PAYMENT_METHOD_FRAGMENT, PRODUCT_DETAIL_FRAGMENT, PRODUCT_OPTION_FRAGMENT, PRODUCT_OPTION_GROUP_FRAGMENT, PRODUCT_OPTION_GROUP_WITH_OPTIONS_FRAGMENT, PRODUCT_SELECTOR_SEARCH, PRODUCT_VARIANT_FRAGMENT, PROMOTION_FRAGMENT, PaginationControlsComponent, PasswordFormInputComponent, PercentageSuffixInputComponent, Permission, ProductDataService, ProductSelectorComponent, ProductSelectorFormInputComponent, PromotionDataService, ProsemirrorService, QueryResult, REFUND_FRAGMENT, REFUND_ORDER, REINDEX, RELATION_CUSTOM_FIELD_FRAGMENT, REMOVE_CUSTOMERS_FROM_GROUP, REMOVE_MEMBERS_FROM_ZONE, REMOVE_OPTION_GROUP_FROM_PRODUCT, REMOVE_PRODUCTS_FROM_CHANNEL, REMOVE_VARIANTS_FROM_CHANNEL, REQUEST_COMPLETED, REQUEST_STARTED, ROLE_FRAGMENT, RUN_PENDING_SEARCH_INDEX_UPDATES, RelationAssetInputComponent, RelationCardComponent, RelationCardDetailDirective, RelationCardPreviewDirective, RelationCustomerInputComponent, RelationFormInputComponent, RelationGenericInputComponent, RelationProductInputComponent, RelationProductVariantInputComponent, RelationSelectorDialogComponent, RichTextEditorComponent, RichTextFormInputComponent, SEARCH_PRODUCTS, SETTLE_PAYMENT, SETTLE_REFUND, SET_ACTIVE_CHANNEL, SET_AS_LOGGED_IN, SET_AS_LOGGED_OUT, SET_CONTENT_LANGUAGE, SET_DISPLAY_UI_EXTENSION_POINTS, SET_UI_LANGUAGE_AND_LOCALE, SET_UI_LOCALE, SET_UI_THEME, SHIPPING_METHOD_FRAGMENT, STRING_CUSTOM_FIELD_FRAGMENT, SelectFormInputComponent, SelectToggleComponent, SentenceCasePipe, ServerConfigService, SettingsDataService, SharedModule, ShippingMethodDataService, SimpleDialogComponent, SingleSearchSelectionModel, SingleSearchSelectionModelFactory, SortOrder, SortPipe, StateI18nTokenPipe, StatusBadgeComponent, StockMovementType, StringToColorPipe, TAG_FRAGMENT, TAX_CATEGORY_FRAGMENT, TAX_RATE_FRAGMENT, TEST_ELIGIBLE_SHIPPING_METHODS, TEST_SHIPPING_METHOD, TEXT_CUSTOM_FIELD_FRAGMENT, TRANSITION_FULFILLMENT_TO_STATE, TRANSITION_ORDER_TO_STATE, TRANSITION_PAYMENT_TO_STATE, TabbedCustomFieldsComponent, TableRowActionComponent, TagSelectorComponent, TextFormInputComponent, TextareaFormInputComponent, ThemeSwitcherComponent, TimeAgoPipe, TimelineEntryComponent, TitleInputComponent, UPDATE_ACTIVE_ADMINISTRATOR, UPDATE_ADMINISTRATOR, UPDATE_ASSET, UPDATE_CHANNEL, UPDATE_COLLECTION, UPDATE_COUNTRY, UPDATE_CUSTOMER, UPDATE_CUSTOMER_ADDRESS, UPDATE_CUSTOMER_GROUP, UPDATE_CUSTOMER_NOTE, UPDATE_FACET, UPDATE_FACET_VALUES, UPDATE_GLOBAL_SETTINGS, UPDATE_ORDER_CUSTOM_FIELDS, UPDATE_ORDER_NOTE, UPDATE_PAYMENT_METHOD, UPDATE_PRODUCT, UPDATE_PRODUCT_OPTION, UPDATE_PRODUCT_OPTION_GROUP, UPDATE_PRODUCT_VARIANTS, UPDATE_PROMOTION, UPDATE_ROLE, UPDATE_SHIPPING_METHOD, UPDATE_TAG, UPDATE_TAX_CATEGORY, UPDATE_TAX_RATE, UPDATE_USER_CHANNELS, UPDATE_ZONE, USER_STATUS_FRAGMENT, UiExtensionPointComponent, UiLanguageSwitcherDialogComponent, UserMenuComponent, ZONE_FRAGMENT, addActionBarItem, addCustomFields, addNavMenuItem, addNavMenuSection, blockQuoteRule, buildInputRules, buildKeymap, buildMenuItems, bulletListRule, canInsert, clientResolvers, codeBlockRule, configurableDefinitionToInstance, configurableOperationValueIsValid, createApollo, createResolveData, createUpdatedTranslatable, dayOfWeekIndex, defaultFormInputs, detailBreadcrumb, encodeConfigArgValue, findTranslation, flattenFacetValues, getAppConfig, getClientDefaults, getConfigArgValue, getDefaultConfigArgValue, getDefaultUiLanguage, getDefaultUiLocale, getLocales, getMarkRange, getServerLocation, headingRule, hostExternalFrame, initializeServerConfigService, insertImageItem, interpolateDescription, result as introspectionResult, isEntityCreateOrUpdateMutation, jsonValidator, linkItem, linkSelectPlugin, loadAppConfig, markActive, orderedListRule, registerCustomDetailComponent, registerCustomFieldComponent, registerDashboardWidget, registerDefaultFormInputs, registerFormInputComponent, removeReadonlyCustomFields, setDashboardWidgetLayout, stringToColor, toConfigurableOperationInput, transformRelationCustomFieldInputs, unicodePatternValidator, weekDayNames, ɵ1, ɵ10, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9 };
15757
15818
  //# sourceMappingURL=vendure-admin-ui-core.js.map