Explorar el Código

Merge branch 'master' into minor

Michael Bromley hace 1 año
padre
commit
36be89f9af
Se han modificado 100 ficheros con 1868 adiciones y 2332 borrados
  1. 1 1
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 1 1
      README.md
  3. 1 1
      docs/README.md
  4. 4 2
      docs/docs/guides/core-concepts/money/index.mdx
  5. 1 1
      docs/docs/guides/core-concepts/payment/index.md
  6. 10 0
      docs/docs/guides/developer-guide/custom-fields/index.md
  7. 1 1
      docs/docs/guides/developer-guide/events/index.mdx
  8. 1 1
      docs/docs/guides/developer-guide/extend-graphql-api/index.md
  9. 1 1
      docs/docs/guides/developer-guide/importing-data/index.md
  10. 3 3
      docs/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.md
  11. 2 2
      docs/docs/guides/developer-guide/migrating-from-v1/database-migration.md
  12. 1 1
      docs/docs/guides/developer-guide/uploading-files/index.md
  13. 1 1
      docs/docs/guides/extending-the-admin-ui/custom-timeline-components/index.md
  14. 2 0
      docs/docs/guides/getting-started/graphql-intro/index.mdx
  15. 8 8
      docs/docs/guides/storefront/order-workflow/index.md
  16. 0 45
      docs/docs/reference/admin-ui-api/action-bar/on-click-context.md
  17. 13 13
      docs/docs/reference/admin-ui-api/alerts/alert-config.md
  18. 41 41
      docs/docs/reference/admin-ui-api/bulk-actions/bulk-action.md
  19. 1 1
      docs/docs/reference/admin-ui-api/components/zone-selector-component.md
  20. 1 1
      docs/docs/reference/admin-ui-api/custom-table-components/register-data-table-component.md
  21. 0 11
      docs/docs/reference/admin-ui-api/directives/_index.md
  22. 2 2
      docs/docs/reference/admin-ui-api/index.md
  23. 0 11
      docs/docs/reference/admin-ui-api/list-detail-views/_index.md
  24. 9 9
      docs/docs/reference/admin-ui-api/list-detail-views/detail-component-with-resolver.md
  25. 7 7
      docs/docs/reference/admin-ui-api/list-detail-views/typed-base-list-component.md
  26. 0 11
      docs/docs/reference/admin-ui-api/nav-menu/_index.md
  27. 0 11
      docs/docs/reference/admin-ui-api/pipes/_index.md
  28. 0 11
      docs/docs/reference/admin-ui-api/providers/_index.md
  29. 0 14
      docs/docs/reference/admin-ui-api/providers/index.md
  30. 7 7
      docs/docs/reference/admin-ui-api/react-components/form-field.md
  31. 0 11
      docs/docs/reference/admin-ui-api/tabs/_index.md
  32. 0 11
      docs/docs/reference/admin-ui-api/ui-devkit/_index.md
  33. 1 1
      docs/docs/reference/core-plugins/admin-ui-plugin/admin-ui-plugin-options.md
  34. 12 12
      docs/docs/reference/core-plugins/asset-server-plugin/asset-server-options.md
  35. 1 2
      docs/docs/reference/core-plugins/asset-server-plugin/s3asset-storage-strategy.md
  36. 114 114
      docs/docs/reference/core-plugins/elasticsearch-plugin/elasticsearch-options.md
  37. 13 13
      docs/docs/reference/core-plugins/email-plugin/email-plugin-options.md
  38. 23 23
      docs/docs/reference/core-plugins/harden-plugin/harden-plugin-options.md
  39. 9 9
      docs/docs/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-strategy.md
  40. 2 2
      docs/docs/reference/core-plugins/job-queue-plugin/bull-mqplugin-options.md
  41. 116 116
      docs/docs/reference/core-plugins/payments-plugin/mollie-plugin.md
  42. 165 165
      docs/docs/reference/core-plugins/payments-plugin/stripe-plugin.md
  43. 9 9
      docs/docs/reference/core-plugins/stellate-plugin/purge-rule.md
  44. 2 2
      docs/docs/reference/graphql-api/_index.md
  45. 2 2
      docs/docs/reference/graphql-api/admin/_index.md
  46. 16 48
      docs/docs/reference/graphql-api/admin/enums.md
  47. 75 191
      docs/docs/reference/graphql-api/admin/input-types.md
  48. 105 200
      docs/docs/reference/graphql-api/admin/mutations.md
  49. 108 216
      docs/docs/reference/graphql-api/admin/object-types.md
  50. 75 144
      docs/docs/reference/graphql-api/admin/queries.md
  51. 2 2
      docs/docs/reference/graphql-api/shop/_index.md
  52. 12 36
      docs/docs/reference/graphql-api/shop/enums.md
  53. 72 150
      docs/docs/reference/graphql-api/shop/input-types.md
  54. 28 56
      docs/docs/reference/graphql-api/shop/mutations.md
  55. 108 211
      docs/docs/reference/graphql-api/shop/object-types.md
  56. 17 34
      docs/docs/reference/graphql-api/shop/queries.md
  57. 6 2
      docs/docs/reference/index.mdx
  58. 3 3
      docs/docs/reference/typescript-api/_index.md
  59. 0 11
      docs/docs/reference/typescript-api/assets/_index.md
  60. 0 12
      docs/docs/reference/typescript-api/auth/_index.md
  61. 29 29
      docs/docs/reference/typescript-api/auth/external-authentication-service.md
  62. 1 1
      docs/docs/reference/typescript-api/common/bootstrap.md
  63. 1 1
      docs/docs/reference/typescript-api/common/permission.md
  64. 9 9
      docs/docs/reference/typescript-api/configurable-operation-def/default-form-config-hash.md
  65. 0 11
      docs/docs/reference/typescript-api/configuration/_index.md
  66. 13 13
      docs/docs/reference/typescript-api/configuration/entity-duplicator.md
  67. 1 1
      docs/docs/reference/typescript-api/custom-fields/custom-field-type.md
  68. 1 2
      docs/docs/reference/typescript-api/custom-fields/index.md
  69. 0 11
      docs/docs/reference/typescript-api/data-access/_index.md
  70. 42 0
      docs/docs/reference/typescript-api/data-access/calculated-property-subscriber.md
  71. 1 2
      docs/docs/reference/typescript-api/data-access/calculated.md
  72. 3 3
      docs/docs/reference/typescript-api/default-search-plugin/default-search-plugin-init-options.md
  73. 60 0
      docs/docs/reference/typescript-api/default-search-plugin/mysql-search-strategy.md
  74. 60 0
      docs/docs/reference/typescript-api/default-search-plugin/postgres-search-strategy.md
  75. 62 0
      docs/docs/reference/typescript-api/default-search-plugin/search-strategy.md
  76. 61 0
      docs/docs/reference/typescript-api/default-search-plugin/sqlite-search-strategy.md
  77. 0 11
      docs/docs/reference/typescript-api/entities/_index.md
  78. 70 0
      docs/docs/reference/typescript-api/entities/global-settings.md
  79. 2 2
      docs/docs/reference/typescript-api/entities/order-line-reference.md
  80. 1 1
      docs/docs/reference/typescript-api/entities/order-modification.md
  81. 1 1
      docs/docs/reference/typescript-api/entities/payment.md
  82. 30 30
      docs/docs/reference/typescript-api/entities/promotion.md
  83. 114 0
      docs/docs/reference/typescript-api/entities/refund.md
  84. 0 11
      docs/docs/reference/typescript-api/errors/_index.md
  85. 0 11
      docs/docs/reference/typescript-api/events/_index.md
  86. 8 14
      docs/docs/reference/typescript-api/events/event-types.md
  87. 0 11
      docs/docs/reference/typescript-api/fulfillment/_index.md
  88. 1 1
      docs/docs/reference/typescript-api/fulfillment/fulfillment-handler.md
  89. 14 14
      docs/docs/reference/typescript-api/fulfillment/fulfillment-process.md
  90. 0 11
      docs/docs/reference/typescript-api/health-check/_index.md
  91. 0 11
      docs/docs/reference/typescript-api/import-export/_index.md
  92. 5 5
      docs/docs/reference/typescript-api/import-export/default-asset-import-strategy.md
  93. 33 33
      docs/docs/reference/typescript-api/import-export/import-parser.md
  94. 1 2
      docs/docs/reference/typescript-api/import-export/populator.md
  95. 1 1
      docs/docs/reference/typescript-api/job-queue/in-memory-job-buffer-storage-strategy.md
  96. 2 3
      docs/docs/reference/typescript-api/job-queue/types.md
  97. 0 11
      docs/docs/reference/typescript-api/migration/_index.md
  98. 0 11
      docs/docs/reference/typescript-api/orders/_index.md
  99. 25 25
      docs/docs/reference/typescript-api/orders/guest-checkout-strategy.md
  100. 1 2
      docs/docs/reference/typescript-api/orders/order-item-price-calculation-strategy.md

+ 1 - 1
.github/ISSUE_TEMPLATE/bug_report.md

@@ -3,7 +3,7 @@ name: Bug report
 about: Something not working as it should
 title: ''
 labels: "type: bug \U0001F41B"
-assignees: michaelbromley
+assignees: ''
 
 ---
 

+ 1 - 1
README.md

@@ -6,7 +6,7 @@ An open-source headless commerce platform built on [Node.js](https://nodejs.org)
 ![Publish & Install](https://github.com/vendure-ecommerce/vendure/workflows/Publish%20&%20Install/badge.svg)
 [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)
 
-![vendure_github_banner (1)](https://github.com/vendure-ecommerce/vendure/assets/6275952/0e25b1c7-a648-44a1-ba00-60012f0e7aaa)
+![vendure-github-social-banner](https://github.com/vendure-ecommerce/vendure/assets/24294584/ada25fa3-185d-45ce-896d-bece3685a829)
 
 
 ### [www.vendure.io](https://www.vendure.io/)

+ 1 - 1
docs/README.md

@@ -1,6 +1,6 @@
 # Website
 
-This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
+This website is built using [Docusaurus 3](https://docusaurus.io/), a modern static website generator.
 
 ### Installation
 

+ 4 - 2
docs/docs/guides/core-concepts/money/index.mdx

@@ -8,6 +8,8 @@ This is a common practice in financial applications, as it avoids the rounding e
 
 For example, here's the response from a query for a product's variant prices:
 
+
+
 ```json
 {
   "data": {
@@ -120,7 +122,7 @@ then you should also use the `Money` scalar for any monetary values.
 
 ## The `@Money()` decorator
 
-When [defining new database entities](/guides/developer-guide/database-entity//), if you need to store a monetary value, then rather than using the TypeORM `@Column()`
+When [defining new database entities](/guides/developer-guide/database-entity), if you need to store a monetary value, then rather than using the TypeORM `@Column()`
 decorator, you should use Vendure's [`@Money()` decorator](/reference/typescript-api/money/money-decorator).
 
 Using this decorator allows Vendure to correctly store the value in the database according to the configured `MoneyStrategy` (see below).
@@ -234,4 +236,4 @@ export function formatCurrency(value: number, currencyCode: string, locale?: str
         return majorUnits.toFixed(3);
     }
 }
-```
+```

+ 1 - 1
docs/docs/guides/core-concepts/payment/index.md

@@ -255,7 +255,7 @@ The `metadata` field is used to store the specific data required by the payment
 The `metadata` field is required, so if your payment provider does not require any additional data, you can simply pass an empty object: `metadata: {}`.
 :::
 
-3. This mutation internally invokes the [PaymentMethodHandler's `createPayment()` function](/reference/typescript-api/payment/payment-method-config-options/#createpayment). This function returns a [CreatePaymentResult object](/reference/typescript-api/payment/payment-method-types#createpaymentfn) which is used to create a new [Payment](reference/typescript-api/entities/payment). If the Payment amount equals the order total, then the Order is transitioned to either the `PaymentAuthorized` or `PaymentSettled` state and the customer checkout flow is complete.
+3. This mutation internally invokes the [PaymentMethodHandler's `createPayment()` function](/reference/typescript-api/payment/payment-method-config-options/#createpayment). This function returns a [CreatePaymentResult object](/reference/typescript-api/payment/payment-method-types#createpaymentfn) which is used to create a new [Payment](/reference/typescript-api/entities/payment). If the Payment amount equals the order total, then the Order is transitioned to either the `PaymentAuthorized` or `PaymentSettled` state and the customer checkout flow is complete.
 
 ### Single-step
 

+ 10 - 0
docs/docs/guides/developer-guide/custom-fields/index.md

@@ -637,6 +637,16 @@ const config = {
 };
 ```
 
+:::note
+
+The `requiresPermission` property only affects the _Admin API_. Access to a custom field via the _Shop API_ is controlled by the `public` property.
+
+If you need special logic to control access to a custom field in the Shop API, you can set `public: false` and then implement
+a custom [field resolver](/guides/developer-guide/extend-graphql-api/#add-fields-to-existing-types) which contains the necessary logic, and returns
+the entity's custom field value if the current customer meets the requirements.
+
+:::
+
 ### Properties for `string` fields
 
 In addition to the common properties, the `string` custom fields have some type-specific properties:

+ 1 - 1
docs/docs/guides/developer-guide/events/index.mdx

@@ -242,7 +242,7 @@ export class ProductReviewService {
 
 ### Entity events
 
-There is a special event class [`VendureEntityEvent`](/reference/typescript-api/events/vendure-entity-event) for events relating to the creation, update or deletion of entities. Let's say you have a custom entity (see [defining a database entity](/guides/developer-guide/database-entity//)) `BlogPost` and you want to trigger an event whenever a new `BlogPost` is created, updated or deleted:
+There is a special event class [`VendureEntityEvent`](/reference/typescript-api/events/vendure-entity-event) for events relating to the creation, update or deletion of entities. Let's say you have a custom entity (see [defining a database entity](/guides/developer-guide/database-entity)) `BlogPost` and you want to trigger an event whenever a new `BlogPost` is created, updated or deleted:
 
 ```ts title="src/plugins/blog/events/blog-post-event.ts"
 import { ID, RequestContext, VendureEntityEvent } from '@vendure/core';

+ 1 - 1
docs/docs/guides/developer-guide/extend-graphql-api/index.md

@@ -191,7 +191,7 @@ export class BannerPlugin {}
 
 If you have defined a new database entity, it is likely that you'll want to expose this entity in your GraphQL API. To do so, you'll need to define a corresponding GraphQL type.
 
-Using the `ProductReview` entity from the [Define a database entity guide](/guides/developer-guide/database-entity//), let's see how we can expose it as a new type in the API.
+Using the `ProductReview` entity from the [Define a database entity guide](/guides/developer-guide/database-entity), let's see how we can expose it as a new type in the API.
 
 As a reminder, here is the `ProductReview` entity:
 

+ 1 - 1
docs/docs/guides/developer-guide/importing-data/index.md

@@ -47,7 +47,7 @@ Here's an explanation of each column:
 
 ### Importing Custom Field Data
 
-If you have [CustomFields]({{< relref "customizing-models" >}}) defined on your Product or ProductVariant entities, this data can also be encoded in the import csv:
+If you have [CustomFields](/guides/developer-guide/custom-fields/) defined on your Product or ProductVariant entities, this data can also be encoded in the import csv:
 
 * `product:<customFieldName>`: The value of this column will populate `Product.customFields[customFieldName]`. 
 * `variant:<customFieldName>`: The value of this column will populate `ProductVariant.customFields[customFieldName]`. 

+ 3 - 3
docs/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.md

@@ -127,7 +127,7 @@ const order = await this.connection
 
 With [#1545](https://github.com/vendure-ecommerce/vendure/issues/1545) we have changed the way we model stock levels in order to support multiple stock locations. This means that the `ProductVariant.stockOnHand` and `ProductVariant.stockAllocated` properties no longer exist on the `ProductVariant` entity in TypeScript.
 
-Instead, this information is now located at `ProductVariant.stockLevels`, which is an array of [StockLevel]({{< relref "stock-level" >}}) entities.
+Instead, this information is now located at `ProductVariant.stockLevels`, which is an array of [StockLevel](/reference/typescript-api/entities/stock-level) entities.
 
 ### New return type for Channel, TaxCategory & Zone lists
 
@@ -166,7 +166,7 @@ If you are using the `@vendure/ui-devkit` package to generate custom ui extensio
 - The Admin UI component `vdr-product-selector` has been renamed to `vdr-product-variant-selector` to more accurately represent what it does. If you are using `vdr-product-selector` if any ui extensions code, update it to use the new selector.
 
 ### Other breaking API changes
-- **End-to-end tests using Jest** will likely run into issues due to our move towards using some dependencies that make use of ES modules. We have found the best solution to be to migrate tests over to [Vitest](https://vitest.dev), which can handle this and is also significantly faster than Jest. See the updated [Testing guide]({{< relref "/guides/developer-guide/testing" >}}) for instructions on getting started with Vitest.
+- **End-to-end tests using Jest** will likely run into issues due to our move towards using some dependencies that make use of ES modules. We have found the best solution to be to migrate tests over to [Vitest](https://vitest.dev), which can handle this and is also significantly faster than Jest. See the updated [Testing guide](/guides/developer-guide/testing) for instructions on getting started with Vitest.
 - Internal `ErrorResult` classes now take a single object argument rather than multiple args.
 - All monetary values are now represented in the GraphQL APIs with a new `Money` scalar type. If you use [graphql-code-generator](https://the-guild.dev/graphql/codegen), you'll want to tell it to treat this scalar as a number:
     ```ts
@@ -210,4 +210,4 @@ If you are using the `@vendure/ui-devkit` package to generate custom ui extensio
 - If you are using the **BullMQJobQueuePlugin**, the minimum Redis recommended version is 6.2.0.
 - The `WorkerHealthIndicator` which was deprecated in v1.3.0 has been removed, as well as the `jobQueueOptions.enableWorkerHealthCheck` config option.
 - The `CustomerGroupEntityEvent` (fired on creation, update or deletion of a CustomerGroup) has been renamed to `CustomerGroupEvent`, and the former `CustomerGroupEvent` (fired when Customers are added to or removed from a group) has been renamed to `CustomerGroupChangeEvent`.
-- We introduced the [plugin compatibility API]({{< relref "vendure-plugin-metadata" >}}#compatibility) to allow plugins to indicate what version of Vendure they are compatible with. To avoid bootstrap messages you should add this property to your plugins.
+- We introduced the [plugin compatibility API](/guides/developer-guide/plugins/#step-7-specify-compatibility) to allow plugins to indicate what version of Vendure they are compatible with. To avoid bootstrap messages you should add this property to your plugins.

+ 2 - 2
docs/docs/guides/developer-guide/migrating-from-v1/database-migration.md

@@ -7,11 +7,11 @@ sidebar_position: 2
 
 Vendure v2 introduces a number of breaking changes to the database schema, some of which require quite complex migrations in order to preserve existing data. To make this process as smooth as possible, we have created a migration tool which will handle the hard parts for you!
 
-{{< alert "warning" >}}
+:::warning
 **Important!** It is _critical_ that you back up your production data prior to attempting this migration.
 
 **Note for MySQL/MariaDB users:** transactions for migrations are [not supported by these databases](https://dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html). This means that if the migration fails for some reason, the statements that have executed will not get rolled back, and your DB schema can be left in an inconsistent state from which is it can be hard to recover. Therefore, it is doubly critical that you have a good backup that you can easily restore prior to attempting this migration.
-{{< /alert >}}
+:::
 
 1. Make sure all your Vendure packages to the latest v2 versions.
 2. Use your package manager to install the [v2 migration tool](https://github.com/vendure-ecommerce/v2-migration-tool): `npm install @vendure/migrate-v2`

+ 1 - 1
docs/docs/guides/developer-guide/uploading-files/index.md

@@ -99,7 +99,7 @@ extend type Mutation {
 
 ### Resolver
 
-The resolver will make use of the built-in [AssetService]({{< relref "asset-service" >}}) to handle the processing of the uploaded file into an Asset.
+The resolver will make use of the built-in [AssetService](/reference/typescript-api/services/asset-service) to handle the processing of the uploaded file into an Asset.
 
 ```ts title="src/plugins/customer-avatar/api/customer-avatar.resolver.ts"
 import { Args, Mutation, Resolver } from '@nestjs/graphql';

+ 1 - 1
docs/docs/guides/extending-the-admin-ui/custom-timeline-components/index.md

@@ -34,7 +34,7 @@ import {
                 <vdr-object-tree [value]="entry.data"></vdr-object-tree>
             </vdr-history-entry-detail>
         </div>
-        <div *ngIf="entry.data.valid">Tax ID {{ entry.data.taxId }} could not be verified</div>
+        <div *ngIf="!entry.data.valid">Tax ID {{ entry.data.taxId }} could not be verified</div>
     `,
     standalone: true,
     imports: [SharedModule],

+ 2 - 0
docs/docs/guides/getting-started/graphql-intro/index.mdx

@@ -6,10 +6,12 @@ import Tabs from '@theme/Tabs';
 import TabItem from '@theme/TabItem';
 
 :::info
+
 Vendure uses [GraphQL](https://graphql.org/) as its API layer.
 
 This is an introduction to GraphQL for those who are new to it. If you are already familiar with GraphQL, you may choose
 to skip this section.
+
 :::
 
 ## What is GraphQL?

+ 8 - 8
docs/docs/guides/storefront/order-workflow/index.md

@@ -5,21 +5,21 @@ showtoc: true
 
 # Order Workflow
 
-An Order is a collection of one or more ProductVariants which can be purchased by a Customer. Orders are represented internally by the [Order entity]({{< relref "order" >}}) and in the GraphQL API by the [Order type]({{< relref "/reference/graphql-api/shop/object-types#order" >}}).
+An Order is a collection of one or more ProductVariants which can be purchased by a Customer. Orders are represented internally by the [Order entity](/reference/typescript-api/entities/order/) and in the GraphQL API by the [Order type](/reference/graphql-api/admin/enums/#ordertype).
 
 ## Order State
 
-Every Order has a `state` property of type [`OrderState`]({{< relref "order-process" >}}#orderstate). The following diagram shows the default states and how an Order transitions from one to the next.
+Every Order has a `state` property of type [`OrderState`](/reference/typescript-api/orders/order-process/#orderstate). The following diagram shows the default states and how an Order transitions from one to the next.
 
-{{% alert %}}
-Note that this default workflow can be modified to better fit your business processes. See the [Customizing the Order Process guide]({{< relref "customizing-the-order-process" >}}).
-{{< /alert >}}
+:::note
+Note that this default workflow can be modified to better fit your business processes. See the [Customizing the Order Process guide](/guides/core-concepts/orders/#custom-order-processes).
+:::
 
 ![./order_state_diagram.png](./order_state_diagram.png)
 
 ## Structure of an Order
 
-In Vendure an [Order]({{< relref "order" >}}) consists of one or more [OrderLines]({{< relref "order-line" >}}) (representing a given quantity of a particular SKU).
+In Vendure an [Order](/reference/typescript-api/entities/order) consists of one or more [OrderLines](/reference/typescript-api/entities/order-line) (representing a given quantity of a particular SKU).
 
 Here is a simplified diagram illustrating this relationship:
 
@@ -27,7 +27,7 @@ Here is a simplified diagram illustrating this relationship:
 
 ## Shop client order workflow
 
-The [GraphQL Shop API Guide]({{< relref "/guides/storefront/shop-api-guide" >}}#order-flow) lists the GraphQL operations you will need to implement this workflow in your storefront client application.
+The [GraphQL Shop API Guide](/guides/storefront/active-order) lists the GraphQL operations you will need to implement this workflow in your storefront client application.
 
 In this section, we'll cover some examples of how these operations would look in your storefront.
 
@@ -228,4 +228,4 @@ query OrderByCode($code: String!) {
 
 In the above examples, the active Order is always associated with the current session and is therefore implicit - which is why there is no need to pass an ID to each of the above operations.
 
-Sometimes you _do_ want to be able to explicitly specify the Order you wish to operate on. In this case, you need to define a custom [ActiveOrderStrategy]({{< relref "active-order-strategy" >}}).
+Sometimes you _do_ want to be able to explicitly specify the Order you wish to operate on. In this case, you need to define a custom [ActiveOrderStrategy](/reference/typescript-api/orders/active-order-strategy).

+ 0 - 45
docs/docs/reference/admin-ui-api/action-bar/on-click-context.md

@@ -1,45 +0,0 @@
----
-title: "OnClickContext"
-isDefaultIndex: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-import MemberInfo from '@site/src/components/MemberInfo';
-import GenerationInfo from '@site/src/components/GenerationInfo';
-import MemberDescription from '@site/src/components/MemberDescription';
-
-
-## OnClickContext
-
-<GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/providers/nav-builder/nav-builder-types.ts" sourceLine="77" packageName="@vendure/admin-ui" />
-
-Utilities available to the onClick handler of an ActionBarItem.
-
-```ts title="Signature"
-interface OnClickContext {
-    route: ActivatedRoute;
-    dataService: DataService;
-    notificationService: NotificationService;
-}
-```
-
-<div className="members-wrapper">
-
-### route
-
-<MemberInfo kind="property" type={`ActivatedRoute`}   />
-
-
-### dataService
-
-<MemberInfo kind="property" type={`<a href='/reference/admin-ui-api/providers/data-service#dataservice'>DataService</a>`}   />
-
-
-### notificationService
-
-<MemberInfo kind="property" type={`<a href='/reference/admin-ui-api/providers/notification-service#notificationservice'>NotificationService</a>`}   />
-
-
-
-
-</div>

+ 13 - 13
docs/docs/reference/admin-ui-api/alerts/alert-config.md

@@ -22,9 +22,9 @@ interface AlertConfig<T = any> {
     recheck?: (context: AlertContext) => Observable<any>;
     isAlert: (data: T, context: AlertContext) => boolean;
     action: (data: T, context: AlertContext) => void;
-    label: (
-        data: T,
-        context: AlertContext,
+    label: (
+        data: T,
+        context: AlertContext,
     ) => { text: string; translationVars?: { [key: string]: string | number } };
     requiredPermissions?: Permission[];
 }
@@ -41,18 +41,18 @@ A unique identifier for the alert.
 
 <MemberInfo kind="property" type={`(context: <a href='/reference/admin-ui-api/alerts/alert-context#alertcontext'>AlertContext</a>) =&#62; T | Promise&#60;T&#62; | Observable&#60;T&#62;`}   />
 
-A function which is gets the data used to determine whether the alert should be shown.
-Typically, this function will query the server or some other remote data source.
-
-This function will be called once when the Admin UI app bootstraps, and can be also
+A function which is gets the data used to determine whether the alert should be shown.
+Typically, this function will query the server or some other remote data source.
+
+This function will be called once when the Admin UI app bootstraps, and can be also
 set to run at regular intervals by setting the `recheckIntervalMs` property.
 ### recheck
 
 <MemberInfo kind="property" type={`(context: <a href='/reference/admin-ui-api/alerts/alert-context#alertcontext'>AlertContext</a>) =&#62; Observable&#60;any&#62;`} default="undefined"   />
 
-A function which returns an Observable which is used to determine when to re-run the `check`
-function. Whenever the observable emits, the `check` function will be called again.
-
+A function which returns an Observable which is used to determine when to re-run the `check`
+function. Whenever the observable emits, the `check` function will be called again.
+
 A basic time-interval-based recheck can be achieved by using the `interval` function from RxJS.
 
 *Example*
@@ -69,7 +69,7 @@ If this is not set, the `check` function will only be called once when the Admin
 
 <MemberInfo kind="property" type={`(data: T, context: <a href='/reference/admin-ui-api/alerts/alert-context#alertcontext'>AlertContext</a>) =&#62; boolean`}   />
 
-A function which determines whether the alert should be shown based on the data returned by the `check`
+A function which determines whether the alert should be shown based on the data returned by the `check`
 function.
 ### action
 
@@ -78,14 +78,14 @@ function.
 A function which is called when the alert is clicked in the Admin UI.
 ### label
 
-<MemberInfo kind="property" type={`(
         data: T,
         context: <a href='/reference/admin-ui-api/alerts/alert-context#alertcontext'>AlertContext</a>,
     ) =&#62; { text: string; translationVars?: { [key: string]: string | number } }`}   />
+<MemberInfo kind="property" type={`(         data: T,         context: <a href='/reference/admin-ui-api/alerts/alert-context#alertcontext'>AlertContext</a>,     ) =&#62; { text: string; translationVars?: { [key: string]: string | number } }`}   />
 
 A function which returns the text used in the UI to describe the alert.
 ### requiredPermissions
 
 <MemberInfo kind="property" type={`<a href='/reference/typescript-api/common/permission#permission'>Permission</a>[]`}   />
 
-A list of permissions which the current Administrator must have in order. If the current
+A list of permissions which the current Administrator must have in order. If the current
 Administrator does not have these permissions, none of the other alert functions will be called.
 
 

+ 41 - 41
docs/docs/reference/admin-ui-api/bulk-actions/bulk-action.md

@@ -13,16 +13,16 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/providers/bulk-action-registry/bulk-action-types.ts" sourceLine="99" packageName="@vendure/admin-ui" since="1.8.0" />
 
-Configures a bulk action which can be performed on all selected items in a list view.
-
+Configures a bulk action which can be performed on all selected items in a list view.
+
 For a full example, see the <a href='/reference/admin-ui-api/bulk-actions/register-bulk-action#registerbulkaction'>registerBulkAction</a> docs.
 
 ```ts title="Signature"
 interface BulkAction<ItemType = any, ComponentType = any> {
     location: BulkActionLocationId;
     label: string;
-    getTranslationVars?: (
-        context: BulkActionFunctionContext<ItemType, ComponentType>,
+    getTranslationVars?: (
+        context: BulkActionFunctionContext<ItemType, ComponentType>,
     ) => Record<string, string | number> | Promise<Record<string, string | number>>;
     icon?: string;
     iconClass?: string;
@@ -46,26 +46,26 @@ interface BulkAction<ItemType = any, ComponentType = any> {
 
 ### getTranslationVars
 
-<MemberInfo kind="property" type={`(
         context: <a href='/reference/admin-ui-api/bulk-actions/bulk-action#bulkactionfunctioncontext'>BulkActionFunctionContext</a>&#60;ItemType, ComponentType&#62;,
     ) =&#62; Record&#60;string, string | number&#62; | Promise&#60;Record&#60;string, string | number&#62;&#62;`}   />
+<MemberInfo kind="property" type={`(         context: <a href='/reference/admin-ui-api/bulk-actions/bulk-action#bulkactionfunctioncontext'>BulkActionFunctionContext</a>&#60;ItemType, ComponentType&#62;,     ) =&#62; Record&#60;string, string | number&#62; | Promise&#60;Record&#60;string, string | number&#62;&#62;`}   />
 
-An optional function that should resolve to a map of translation variables which can be
+An optional function that should resolve to a map of translation variables which can be
 used when translating the `label` string.
 ### icon
 
 <MemberInfo kind="property" type={`string`}   />
 
-A valid [Clarity Icons](https://core.clarity.design/foundation/icons/shapes/) icon shape, e.g.
+A valid [Clarity Icons](https://core.clarity.design/foundation/icons/shapes/) icon shape, e.g.
 "cog", "user", "info-standard".
 ### iconClass
 
 <MemberInfo kind="property" type={`string`}   />
 
-A class to be added to the icon element. Examples:
-
-- is-success
-- is-danger
-- is-warning
-- is-info
+A class to be added to the icon element. Examples:
+
+- is-success
+- is-danger
+- is-warning
+- is-info
 - is-highlight
 ### onClick
 
@@ -76,10 +76,10 @@ Defines the logic that executes when the bulk action button is clicked.
 
 <MemberInfo kind="property" type={`(context: <a href='/reference/admin-ui-api/bulk-actions/bulk-action#bulkactionfunctioncontext'>BulkActionFunctionContext</a>&#60;ItemType, ComponentType&#62;) =&#62; boolean | Promise&#60;boolean&#62;`}   />
 
-A function that determines whether this bulk action item should be displayed in the menu.
-If not defined, the item will always be displayed.
-
-This function will be invoked each time the selection is changed, so try to avoid expensive code
+A function that determines whether this bulk action item should be displayed in the menu.
+If not defined, the item will always be displayed.
+
+This function will be invoked each time the selection is changed, so try to avoid expensive code
 running here.
 
 *Example*
@@ -130,25 +130,25 @@ registerBulkAction({
 A valid location of a list view that supports the bulk actions API.
 
 ```ts title="Signature"
-type BulkActionLocationId = | 'product-list'
-    | 'facet-list'
-    | 'collection-list'
-    | 'customer-list'
-    | 'customer-group-list'
-    | 'customer-group-members-list'
-    | 'customer-group-members-picker-list'
-    | 'promotion-list'
-    | 'seller-list'
-    | 'channel-list'
-    | 'administrator-list'
-    | 'role-list'
-    | 'shipping-method-list'
-    | 'stock-location-list'
-    | 'payment-method-list'
-    | 'tax-category-list'
-    | 'tax-rate-list'
-    | 'zone-list'
-    | 'zone-members-list'
+type BulkActionLocationId = | 'product-list'
+    | 'facet-list'
+    | 'collection-list'
+    | 'customer-list'
+    | 'customer-group-list'
+    | 'customer-group-members-list'
+    | 'customer-group-members-picker-list'
+    | 'promotion-list'
+    | 'seller-list'
+    | 'channel-list'
+    | 'administrator-list'
+    | 'role-list'
+    | 'shipping-method-list'
+    | 'stock-location-list'
+    | 'payment-method-list'
+    | 'tax-category-list'
+    | 'tax-rate-list'
+    | 'zone-list'
+    | 'zone-members-list'
     | string
 ```
 
@@ -157,7 +157,7 @@ type BulkActionLocationId = | 'product-list'
 
 <GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/providers/bulk-action-registry/bulk-action-types.ts" sourceLine="43" packageName="@vendure/admin-ui" since="1.8.0" />
 
-This is the argument which gets passed to the `getTranslationVars` and `isVisible` functions
+This is the argument which gets passed to the `getTranslationVars` and `isVisible` functions
 of the BulkAction definition.
 
 ```ts title="Signature"
@@ -180,15 +180,15 @@ An array of the selected items from the list.
 
 <MemberInfo kind="property" type={`ComponentType`}   />
 
-The component instance that is hosting the list view. For instance,
-`ProductListComponent`. This can be used to call methods on the instance,
-e.g. calling `hostComponent.refresh()` to force a list refresh after
+The component instance that is hosting the list view. For instance,
+`ProductListComponent`. This can be used to call methods on the instance,
+e.g. calling `hostComponent.refresh()` to force a list refresh after
 deleting the selected items.
 ### injector
 
 <MemberInfo kind="property" type={`<a href='/reference/typescript-api/common/injector#injector'>Injector</a>`}   />
 
-The Angular [Injector](https://angular.io/api/core/Injector) which can be used
+The Angular [Injector](https://angular.io/api/core/Injector) which can be used
 to get service instances which might be needed in the click handler.
 ### route
 

+ 1 - 1
docs/docs/reference/admin-ui-api/components/zone-selector-component.md

@@ -26,7 +26,7 @@ class ZoneSelectorComponent implements ControlValueAccessor {
     disabled = false;
     value: string | Zone;
     zones$ = this.dataService
-        .query(GetZoneSelectorListDocument, { options: { take: 999 } }, 'cache-first')
+        .query(GetZoneSelectorListDocument, { options: { take: 999 } })
         .mapSingle(result => result.zones.items);
     constructor(dataService: DataService, changeDetectorRef: ChangeDetectorRef)
     onChange(selected: Zone) => ;

+ 1 - 1
docs/docs/reference/admin-ui-api/custom-table-components/register-data-table-component.md

@@ -14,7 +14,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/extension/register-data-table-component.ts" sourceLine="45" packageName="@vendure/admin-ui" />
 
 Allows you to override the default component used to render the data of a particular column in a DataTable.
-The component should implement the {@link CustomDataTableColumnComponent} interface. The tableId and columnId can
+The component should implement the <a href='/reference/admin-ui-api/custom-table-components/custom-column-component#customcolumncomponent'>CustomColumnComponent</a> interface. The tableId and columnId can
 be determined by pressing `ctrl + u` when running the Admin UI in dev mode.
 
 *Example*

+ 0 - 11
docs/docs/reference/admin-ui-api/directives/_index.md

@@ -1,11 +0,0 @@
----
-title: "Directives"
-weight: 10
-date: 2023-07-14T16:57:51.265Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# directives

+ 2 - 2
docs/docs/reference/admin-ui-api/index.md

@@ -8,6 +8,6 @@ showtoc: false
 
 These APIs are used when building your own custom extensions to the Admin UI provided by the AdminUiPlugin.
 
-{{% alert %}}
+:::note
 All documentation in this section is auto-generated from the TypeScript & HTML source of the Vendure Admin UI package.
-{{< /alert >}}
+:::

+ 0 - 11
docs/docs/reference/admin-ui-api/list-detail-views/_index.md

@@ -1,11 +0,0 @@
----
-title: "List Detail Views"
-weight: 10
-date: 2023-07-14T16:57:51.042Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# list-detail-views

+ 9 - 9
docs/docs/reference/admin-ui-api/list-detail-views/detail-component-with-resolver.md

@@ -13,8 +13,8 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/common/base-detail.component.ts" sourceLine="256" packageName="@vendure/admin-ui" />
 
-A helper function for creating tabs that point to a <a href='/reference/admin-ui-api/list-detail-views/typed-base-detail-component#typedbasedetailcomponent'>TypedBaseDetailComponent</a>. This takes
-care of the route resolver parts so that the detail component automatically has access to the
+A helper function for creating tabs that point to a <a href='/reference/admin-ui-api/list-detail-views/typed-base-detail-component#typedbasedetailcomponent'>TypedBaseDetailComponent</a>. This takes
+care of the route resolver parts so that the detail component automatically has access to the
 correct resolved detail data.
 
 *Example*
@@ -40,17 +40,17 @@ export class ProductSpecsUiExtensionModule {}
 ```
 
 ```ts title="Signature"
-function detailComponentWithResolver<T extends TypedDocumentNode<any, { id: string }>, Field extends keyof ResultOf<T>, R extends Field>(config: {
-    component: Type<TypedBaseDetailComponent<T, Field>>;
-    query: T;
-    entityKey: R;
-    getBreadcrumbs?: (entity: ResultOf<T>[R]) => BreadcrumbValue;
-    variables?: T extends TypedDocumentNode<any, infer V> ? Omit<V, 'id'> : never;
+function detailComponentWithResolver<T extends TypedDocumentNode<any, { id: string }>, Field extends keyof ResultOf<T>, R extends Field>(config: {
+    component: Type<TypedBaseDetailComponent<T, Field>>;
+    query: T;
+    entityKey: R;
+    getBreadcrumbs?: (entity: ResultOf<T>[R]) => BreadcrumbValue;
+    variables?: T extends TypedDocumentNode<any, infer V> ? Omit<V, 'id'> : never;
 }): void
 ```
 Parameters
 
 ### config
 
-<MemberInfo kind="parameter" type={`{
     component: Type&#60;<a href='/reference/admin-ui-api/list-detail-views/typed-base-detail-component#typedbasedetailcomponent'>TypedBaseDetailComponent</a>&#60;T, Field&#62;&#62;;
     query: T;
     entityKey: R;
     getBreadcrumbs?: (entity: ResultOf&#60;T&#62;[R]) =&#62; BreadcrumbValue;
     variables?: T extends TypedDocumentNode&#60;any, infer V&#62; ? Omit&#60;V, 'id'&#62; : never;
 }`} />
+<MemberInfo kind="parameter" type={`{     component: Type&#60;<a href='/reference/admin-ui-api/list-detail-views/typed-base-detail-component#typedbasedetailcomponent'>TypedBaseDetailComponent</a>&#60;T, Field&#62;&#62;;     query: T;     entityKey: R;     getBreadcrumbs?: (entity: ResultOf&#60;T&#62;[R]) =&#62; BreadcrumbValue;     variables?: T extends TypedDocumentNode&#60;any, infer V&#62; ? Omit&#60;V, 'id'&#62; : never; }`} />
 

+ 7 - 7
docs/docs/reference/admin-ui-api/list-detail-views/typed-base-list-component.md

@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/admin-ui/src/lib/core/src/common/base-list.component.ts" sourceLine="199" packageName="@vendure/admin-ui" />
 
-A version of the <a href='/reference/admin-ui-api/list-detail-views/base-list-component#baselistcomponent'>BaseListComponent</a> which is designed to be used with a
+A version of the <a href='/reference/admin-ui-api/list-detail-views/base-list-component#baselistcomponent'>BaseListComponent</a> which is designed to be used with a
 [TypedDocumentNode](https://the-guild.dev/graphql/codegen/plugins/typescript/typed-document-node).
 
 ```ts title="Signature"
@@ -25,11 +25,11 @@ class TypedBaseListComponent<T extends TypedDocumentNode<any, Vars>, Field exten
     protected serverConfigService = inject(ServerConfigService);
     protected permissionsService = inject(PermissionsService);
     constructor()
-    configure(config: {
-        document: T;
-        getItems: (data: ResultOf<T>) => { items: Array<ItemOf<ResultOf<T>, Field>>; totalItems: number };
-        setVariables?: (skip: number, take: number) => VariablesOf<T>;
-        refreshListOnChanges?: Array<Observable<any>>;
+    configure(config: {
+        document: T;
+        getItems: (data: ResultOf<T>) => { items: Array<ItemOf<ResultOf<T>, Field>>; totalItems: number };
+        setVariables?: (skip: number, take: number) => VariablesOf<T>;
+        refreshListOnChanges?: Array<Observable<any>>;
     }) => ;
     ngOnInit() => ;
     createFilterCollection() => DataTableFilterCollection<NonNullable<NonNullable<Vars['options']>['filter']>>;
@@ -84,7 +84,7 @@ class TypedBaseListComponent<T extends TypedDocumentNode<any, Vars>, Field exten
 
 ### configure
 
-<MemberInfo kind="method" type={`(config: {
         document: T;
         getItems: (data: ResultOf&#60;T&#62;) =&#62; { items: Array&#60;ItemOf&#60;ResultOf&#60;T&#62;, Field&#62;&#62;; totalItems: number };
         setVariables?: (skip: number, take: number) =&#62; VariablesOf&#60;T&#62;;
         refreshListOnChanges?: Array&#60;Observable&#60;any&#62;&#62;;
     }) => `}   />
+<MemberInfo kind="method" type={`(config: {         document: T;         getItems: (data: ResultOf&#60;T&#62;) =&#62; { items: Array&#60;ItemOf&#60;ResultOf&#60;T&#62;, Field&#62;&#62;; totalItems: number };         setVariables?: (skip: number, take: number) =&#62; VariablesOf&#60;T&#62;;         refreshListOnChanges?: Array&#60;Observable&#60;any&#62;&#62;;     }) => `}   />
 
 
 ### ngOnInit

+ 0 - 11
docs/docs/reference/admin-ui-api/nav-menu/_index.md

@@ -1,11 +0,0 @@
----
-title: "Nav Menu"
-weight: 10
-date: 2023-07-14T16:57:51.109Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# nav-menu

+ 0 - 11
docs/docs/reference/admin-ui-api/pipes/_index.md

@@ -1,11 +0,0 @@
----
-title: "Pipes"
-weight: 10
-date: 2023-07-14T16:57:51.325Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# pipes

+ 0 - 11
docs/docs/reference/admin-ui-api/providers/_index.md

@@ -1,11 +0,0 @@
----
-title: "Providers"
-weight: 10
-date: 2023-07-14T16:57:51.079Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# providers

+ 0 - 14
docs/docs/reference/admin-ui-api/providers/index.md

@@ -1,14 +0,0 @@
----
-title: "Providers"
-isDefaultIndex: true
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-import MemberInfo from '@site/src/components/MemberInfo';
-import GenerationInfo from '@site/src/components/GenerationInfo';
-import MemberDescription from '@site/src/components/MemberDescription';
-
-
-import DocCardList from '@theme/DocCardList';
-
-<DocCardList />

+ 7 - 7
docs/docs/reference/admin-ui-api/react-components/form-field.md

@@ -30,17 +30,17 @@ export function MyReactComponent() {
 ```
 
 ```ts title="Signature"
-function FormField(props: PropsWithChildren<{
-        for?: string;
-        label?: string;
-        tooltip?: string;
-        invalid?: boolean;
-        errorMessage?: string;
+function FormField(props: PropsWithChildren<{
+        for?: string;
+        label?: string;
+        tooltip?: string;
+        invalid?: boolean;
+        errorMessage?: string;
     }>): void
 ```
 Parameters
 
 ### props
 
-<MemberInfo kind="parameter" type={`PropsWithChildren&#60;{
         for?: string;
         label?: string;
         tooltip?: string;
         invalid?: boolean;
         errorMessage?: string;
     }&#62;`} />
+<MemberInfo kind="parameter" type={`PropsWithChildren&#60;{         for?: string;         label?: string;         tooltip?: string;         invalid?: boolean;         errorMessage?: string;     }&#62;`} />
 

+ 0 - 11
docs/docs/reference/admin-ui-api/tabs/_index.md

@@ -1,11 +0,0 @@
----
-title: "Tabs"
-weight: 10
-date: 2023-07-14T16:57:51.138Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# tabs

+ 0 - 11
docs/docs/reference/admin-ui-api/ui-devkit/_index.md

@@ -1,11 +0,0 @@
----
-title: "Ui Devkit"
-weight: 10
-date: 2023-07-14T16:57:51.349Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# ui-devkit

+ 1 - 1
docs/docs/reference/core-plugins/admin-ui-plugin/admin-ui-plugin-options.md

@@ -33,7 +33,7 @@ interface AdminUiPluginOptions {
 
 The route to the Admin UI.
 
-Note: If you are using the {@link compileUiExtensions} function to compile a custom version of the Admin UI, then
+Note: If you are using the `compileUiExtensions` function to compile a custom version of the Admin UI, then
 the route should match the `baseHref` option passed to that function. The default value of `baseHref` is `/admin/`,
 so it only needs to be changed if you set this `route` option to something other than `"admin"`.
 ### port

+ 12 - 12
docs/docs/reference/core-plugins/asset-server-plugin/asset-server-options.md

@@ -25,8 +25,8 @@ interface AssetServerOptions {
     presets?: ImageTransformPreset[];
     namingStrategy?: AssetNamingStrategy;
     previewStrategy?: AssetPreviewStrategy;
-    storageStrategyFactory?: (
-        options: AssetServerOptions,
+    storageStrategyFactory?: (
+        options: AssetServerOptions,
     ) => AssetStorageStrategy | Promise<AssetStorageStrategy>;
     cacheHeader?: CacheConfig | string;
 }
@@ -48,12 +48,12 @@ The local directory to which assets will be uploaded when using the <a href='/re
 
 <MemberInfo kind="property" type={`string | ((ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, identifier: string) =&#62; string)`}   />
 
-The complete URL prefix of the asset files. For example, "https://demo.vendure.io/assets/". A
-function can also be provided to handle more complex cases, such as serving multiple domains
-from a single server. In this case, the function should return a string url prefix.
-
-If not provided, the plugin will attempt to guess based off the incoming
-request and the configured route. However, in all but the simplest cases,
+The complete URL prefix of the asset files. For example, "https://demo.vendure.io/assets/". A
+function can also be provided to handle more complex cases, such as serving multiple domains
+from a single server. In this case, the function should return a string url prefix.
+
+If not provided, the plugin will attempt to guess based off the incoming
+request and the configured route. However, in all but the simplest cases,
 this guess may not yield correct results.
 ### previewMaxWidth
 
@@ -79,19 +79,19 @@ Defines how asset files and preview images are named before being saved.
 
 <MemberInfo kind="property" type={`<a href='/reference/typescript-api/assets/asset-preview-strategy#assetpreviewstrategy'>AssetPreviewStrategy</a>`}  since="1.7.0"  />
 
-Defines how previews are generated for a given Asset binary. By default, this uses
+Defines how previews are generated for a given Asset binary. By default, this uses
 the <a href='/reference/core-plugins/asset-server-plugin/sharp-asset-preview-strategy#sharpassetpreviewstrategy'>SharpAssetPreviewStrategy</a>
 ### storageStrategyFactory
 
-<MemberInfo kind="property" type={`(
         options: <a href='/reference/core-plugins/asset-server-plugin/asset-server-options#assetserveroptions'>AssetServerOptions</a>,
     ) =&#62; <a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a> | Promise&#60;<a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a>&#62;`} default="() =&#62; <a href='/reference/core-plugins/asset-server-plugin/local-asset-storage-strategy#localassetstoragestrategy'>LocalAssetStorageStrategy</a>"   />
+<MemberInfo kind="property" type={`(         options: <a href='/reference/core-plugins/asset-server-plugin/asset-server-options#assetserveroptions'>AssetServerOptions</a>,     ) =&#62; <a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a> | Promise&#60;<a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a>&#62;`} default="() =&#62; <a href='/reference/core-plugins/asset-server-plugin/local-asset-storage-strategy#localassetstoragestrategy'>LocalAssetStorageStrategy</a>"   />
 
-A function which can be used to configure an <a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a>. This is useful e.g. if you wish to store your assets
+A function which can be used to configure an <a href='/reference/typescript-api/assets/asset-storage-strategy#assetstoragestrategy'>AssetStorageStrategy</a>. This is useful e.g. if you wish to store your assets
 using a cloud storage provider. By default, the <a href='/reference/core-plugins/asset-server-plugin/local-asset-storage-strategy#localassetstoragestrategy'>LocalAssetStorageStrategy</a> is used.
 ### cacheHeader
 
 <MemberInfo kind="property" type={`<a href='/reference/core-plugins/asset-server-plugin/cache-config#cacheconfig'>CacheConfig</a> | string`} default="'public, max-age=15552000'"  since="1.9.3"  />
 
-Configures the `Cache-Control` directive for response to control caching in browsers and shared caches (e.g. Proxies, CDNs).
+Configures the `Cache-Control` directive for response to control caching in browsers and shared caches (e.g. Proxies, CDNs).
 Defaults to publicly cached for 6 months.
 
 

+ 1 - 2
docs/docs/reference/core-plugins/asset-server-plugin/s3asset-storage-strategy.md

@@ -151,8 +151,7 @@ Using type `any` in order to avoid the need to include `aws-sdk` dependency in g
 
 <GenerationInfo sourceFile="packages/asset-server-plugin/src/s3-asset-storage-strategy.ts" sourceLine="119" packageName="@vendure/asset-server-plugin" />
 
-Returns a configured instance of the <a href='/reference/core-plugins/asset-server-plugin/s3asset-storage-strategy#s3assetstoragestrategy'>S3AssetStorageStrategy</a> which can then be passed to the <a href='/reference/core-plugins/asset-server-plugin/asset-server-options#assetserveroptions'>AssetServerOptions</a>
-`storageStrategyFactory` property.
+Returns a configured instance of the <a href='/reference/core-plugins/asset-server-plugin/s3asset-storage-strategy#s3assetstoragestrategy'>S3AssetStorageStrategy</a> which can then be passed to the <a href='/reference/core-plugins/asset-server-plugin/asset-server-options#assetserveroptions'>AssetServerOptions</a>`storageStrategyFactory` property.
 
 Before using this strategy, make sure you have the `@aws-sdk/client-s3` and `@aws-sdk/lib-storage` package installed:
 

+ 114 - 114
docs/docs/reference/core-plugins/elasticsearch-plugin/elasticsearch-options.md

@@ -24,23 +24,23 @@ interface ElasticsearchOptions {
     clientOptions?: ClientOptions;
     indexPrefix?: string;
     indexSettings?: object;
-    indexMappingProperties?: {
-        [indexName: string]: object;
+    indexMappingProperties?: {
+        [indexName: string]: object;
     };
     reindexProductsChunkSize?: number;
     reindexBulkOperationSizeLimit?: number;
     searchConfig?: SearchConfig;
-    customProductMappings?: {
-        [fieldName: string]: CustomMapping<[Product, ProductVariant[], LanguageCode, Injector, RequestContext]>;
+    customProductMappings?: {
+        [fieldName: string]: CustomMapping<[Product, ProductVariant[], LanguageCode, Injector, RequestContext]>;
     };
-    customProductVariantMappings?: {
-        [fieldName: string]: CustomMapping<[ProductVariant, LanguageCode, Injector, RequestContext]>;
+    customProductVariantMappings?: {
+        [fieldName: string]: CustomMapping<[ProductVariant, LanguageCode, Injector, RequestContext]>;
     };
     bufferUpdates?: boolean;
     hydrateProductRelations?: Array<EntityRelationPaths<Product>>;
     hydrateProductVariantRelations?: Array<EntityRelationPaths<ProductVariant>>;
-    extendSearchInputType?: {
-        [name: string]: PrimitiveTypeVariations<GraphQlPrimitive>;
+    extendSearchInputType?: {
+        [name: string]: PrimitiveTypeVariations<GraphQlPrimitive>;
     };
     extendSearchSortType?: string[];
 }
@@ -72,9 +72,9 @@ Interval in milliseconds between attempts to connect to the ElasticSearch server
 
 <MemberInfo kind="property" type={`ClientOptions`}   />
 
-Options to pass directly to the
-[Elasticsearch Node.js client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html). For example, to
-set authentication or other more advanced options.
+Options to pass directly to the
+[Elasticsearch Node.js client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html). For example, to
+set authentication or other more advanced options.
 Note that if the `node` or `nodes` option is specified, it will override the values provided in the `host` and `port` options.
 ### indexPrefix
 
@@ -85,7 +85,7 @@ Prefix for the indices created by the plugin.
 
 <MemberInfo kind="property" type={`object`} default="{}"  since="1.2.0"  />
 
-[These options](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index-modules.html#index-modules-settings)
+[These options](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index-modules.html#index-modules-settings)
 are directly passed to index settings. To apply some settings indices will be recreated.
 
 *Example*
@@ -116,10 +116,10 @@ A more complete example can be found in the discussion thread
 [How to make elastic plugin to search by substring with stemming](https://github.com/vendure-ecommerce/vendure/discussions/1066).
 ### indexMappingProperties
 
-<MemberInfo kind="property" type={`{
         [indexName: string]: object;
     }`} default="{}"  since="1.2.0"  />
+<MemberInfo kind="property" type={`{         [indexName: string]: object;     }`} default="{}"  since="1.2.0"  />
 
-This option allow to redefine or define new properties in mapping. More about elastic
-[mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html)
+This option allow to redefine or define new properties in mapping. More about elastic
+[mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html)
 After changing this option indices will be recreated.
 
 *Example*
@@ -167,8 +167,8 @@ Products limit chunk size for each loop iteration when indexing products.
 
 <MemberInfo kind="property" type={`number`} default="3000"  since="2.1.7"  />
 
-Index operations are performed in bulk, with each bulk operation containing a number of individual
-index operations. This option sets the maximum number of operations in the memory buffer before a
+Index operations are performed in bulk, with each bulk operation containing a number of individual
+index operations. This option sets the maximum number of operations in the memory buffer before a
 bulk operation is executed.
 ### searchConfig
 
@@ -177,21 +177,21 @@ bulk operation is executed.
 Configuration of the internal Elasticsearch query.
 ### customProductMappings
 
-<MemberInfo kind="property" type={`{
         [fieldName: string]: CustomMapping&#60;[<a href='/reference/typescript-api/entities/product#product'>Product</a>, <a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>[], <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>, <a href='/reference/typescript-api/common/injector#injector'>Injector</a>, <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>]&#62;;
     }`}   />
-
-Custom mappings may be defined which will add the defined data to the
-Elasticsearch index and expose that data via the SearchResult GraphQL type,
-adding a new `customMappings`, `customProductMappings` & `customProductVariantMappings` fields.
-
-The `graphQlType` property may be one of `String`, `Int`, `Float`, `Boolean`, `ID` or list
-versions thereof (`[String!]` etc) and can be appended with a `!` to indicate non-nullable fields.
-
-The `public` (default = `true`) property is used to reveal or hide the property in the GraphQL API schema.
-If this property is set to `false` it's not accessible in the `customMappings` field but it's still getting
-parsed to the elasticsearch index.
-
-This config option defines custom mappings which are accessible when the "groupByProduct"
-input options is set to `true`. In addition, custom variant mappings can be accessed by using
+<MemberInfo kind="property" type={`{         [fieldName: string]: CustomMapping&#60;[<a href='/reference/typescript-api/entities/product#product'>Product</a>, <a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>[], <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>, <a href='/reference/typescript-api/common/injector#injector'>Injector</a>, <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>]&#62;;     }`}   />
+
+Custom mappings may be defined which will add the defined data to the
+Elasticsearch index and expose that data via the SearchResult GraphQL type,
+adding a new `customMappings`, `customProductMappings` & `customProductVariantMappings` fields.
+
+The `graphQlType` property may be one of `String`, `Int`, `Float`, `Boolean`, `ID` or list
+versions thereof (`[String!]` etc) and can be appended with a `!` to indicate non-nullable fields.
+
+The `public` (default = `true`) property is used to reveal or hide the property in the GraphQL API schema.
+If this property is set to `false` it's not accessible in the `customMappings` field but it's still getting
+parsed to the elasticsearch index.
+
+This config option defines custom mappings which are accessible when the "groupByProduct"
+input options is set to `true`. In addition, custom variant mappings can be accessed by using
 the `customProductVariantMappings` field, which is always available.
 
 *Example*
@@ -240,10 +240,10 @@ query SearchProducts($input: SearchInput!) {
 ```
 ### customProductVariantMappings
 
-<MemberInfo kind="property" type={`{
         [fieldName: string]: CustomMapping&#60;[<a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>, <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>, <a href='/reference/typescript-api/common/injector#injector'>Injector</a>, <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>]&#62;;
     }`}   />
+<MemberInfo kind="property" type={`{         [fieldName: string]: CustomMapping&#60;[<a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>, <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>, <a href='/reference/typescript-api/common/injector#injector'>Injector</a>, <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>]&#62;;     }`}   />
 
-This config option defines custom mappings which are accessible when the "groupByProduct"
-input options is set to `false`. In addition, custom product mappings can be accessed by using
+This config option defines custom mappings which are accessible when the "groupByProduct"
+input options is set to `false`. In addition, custom product mappings can be accessed by using
 the `customProductMappings` field, which is always available.
 
 *Example*
@@ -271,20 +271,20 @@ query SearchProducts($input: SearchInput!) {
 
 <MemberInfo kind="property" type={`boolean`} default="false"  since="1.3.0"  />
 
-If set to `true`, updates to Products, ProductVariants and Collections will not immediately
-trigger an update to the search index. Instead, all these changes will be buffered and will
-only be run via a call to the `runPendingSearchIndexUpdates` mutation in the Admin API.
-
-This is very useful for installations with a large number of ProductVariants and/or
-Collections, as the buffering allows better control over when these expensive jobs are run,
-and also performs optimizations to minimize the amount of work that needs to be performed by
+If set to `true`, updates to Products, ProductVariants and Collections will not immediately
+trigger an update to the search index. Instead, all these changes will be buffered and will
+only be run via a call to the `runPendingSearchIndexUpdates` mutation in the Admin API.
+
+This is very useful for installations with a large number of ProductVariants and/or
+Collections, as the buffering allows better control over when these expensive jobs are run,
+and also performs optimizations to minimize the amount of work that needs to be performed by
 the worker.
 ### hydrateProductRelations
 
 <MemberInfo kind="property" type={`Array&#60;<a href='/reference/typescript-api/common/entity-relation-paths#entityrelationpaths'>EntityRelationPaths</a>&#60;<a href='/reference/typescript-api/entities/product#product'>Product</a>&#62;&#62;`} default="[]"  since="1.3.0"  />
 
-Additional product relations that will be fetched from DB while reindexing. This can be used
-in combination with `customProductMappings` to ensure that the required relations are joined
+Additional product relations that will be fetched from DB while reindexing. This can be used
+in combination with `customProductMappings` to ensure that the required relations are joined
 before the `product` object is passed to the `valueFn`.
 
 *Example*
@@ -306,14 +306,14 @@ before the `product` object is passed to the `valueFn`.
 
 <MemberInfo kind="property" type={`Array&#60;<a href='/reference/typescript-api/common/entity-relation-paths#entityrelationpaths'>EntityRelationPaths</a>&#60;<a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>&#62;&#62;`} default="[]"  since="1.3.0"  />
 
-Additional variant relations that will be fetched from DB while reindexing. See
+Additional variant relations that will be fetched from DB while reindexing. See
 `hydrateProductRelations` for more explanation and a usage example.
 ### extendSearchInputType
 
-<MemberInfo kind="property" type={`{
         [name: string]: PrimitiveTypeVariations&#60;GraphQlPrimitive&#62;;
     }`} default="{}"  since="1.3.0"  />
+<MemberInfo kind="property" type={`{         [name: string]: PrimitiveTypeVariations&#60;GraphQlPrimitive&#62;;     }`} default="{}"  since="1.3.0"  />
 
-Allows the `SearchInput` type to be extended with new input fields. This allows arbitrary
-data to be passed in, which can then be used e.g. in the `mapQuery()` function or
+Allows the `SearchInput` type to be extended with new input fields. This allows arbitrary
+data to be passed in, which can then be used e.g. in the `mapQuery()` function or
 custom `scriptFields` functions.
 
 *Example*
@@ -347,7 +347,7 @@ query {
 
 <MemberInfo kind="property" type={`string[]`} default="[]"  since="1.4.0"  />
 
-Adds a list of sort parameters. This is mostly important to make the
+Adds a list of sort parameters. This is mostly important to make the
 correct sort order values available inside `input` parameter of the `mapSort` option.
 
 *Example*
@@ -384,12 +384,12 @@ interface SearchConfig {
     multiMatchType?: 'best_fields' | 'most_fields' | 'cross_fields' | 'phrase' | 'phrase_prefix' | 'bool_prefix';
     boostFields?: BoostFieldsConfig;
     priceRangeBucketInterval?: number;
-    mapQuery?: (
-        query: any,
-        input: ElasticSearchInput,
-        searchConfig: DeepRequired<SearchConfig>,
-        channelId: ID,
-        enabledOnly: boolean,
+    mapQuery?: (
+        query: any,
+        input: ElasticSearchInput,
+        searchConfig: DeepRequired<SearchConfig>,
+        channelId: ID,
+        enabledOnly: boolean,
     ) => any;
     scriptFields?: { [fieldName: string]: CustomScriptMapping<[ElasticSearchInput]> };
     mapSort?: (sort: ElasticSearchSortInput, input: ElasticSearchInput) => ElasticSearchSortInput;
@@ -402,29 +402,29 @@ interface SearchConfig {
 
 <MemberInfo kind="property" type={`number`} default="50"   />
 
-The maximum number of FacetValues to return from the search query. Internally, this
+The maximum number of FacetValues to return from the search query. Internally, this
 value sets the "size" property of an Elasticsearch aggregation.
 ### collectionMaxSize
 
 <MemberInfo kind="property" type={`number`} default="50"  since="1.1.0"  />
 
-The maximum number of Collections to return from the search query. Internally, this
+The maximum number of Collections to return from the search query. Internally, this
 value sets the "size" property of an Elasticsearch aggregation.
 ### totalItemsMaxSize
 
 <MemberInfo kind="property" type={`number | boolean`} default="10000"  since="1.2.0"  />
 
-The maximum number of totalItems to return from the search query. Internally, this
-value sets the "track_total_hits" property of an Elasticsearch query.
-If this parameter is set to "True", accurate count of totalItems will be returned.
-If this parameter is set to "False", totalItems will be returned as 0.
+The maximum number of totalItems to return from the search query. Internally, this
+value sets the "track_total_hits" property of an Elasticsearch query.
+If this parameter is set to "True", accurate count of totalItems will be returned.
+If this parameter is set to "False", totalItems will be returned as 0.
 If this parameter is set to integer, accurate count of totalItems will be returned not bigger than integer.
 ### multiMatchType
 
 <MemberInfo kind="property" type={`'best_fields' | 'most_fields' | 'cross_fields' | 'phrase' | 'phrase_prefix' | 'bool_prefix'`} default="'best_fields'"   />
 
-Defines the
-[multi match type](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#multi-match-types)
+Defines the
+[multi match type](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#multi-match-types)
 used when matching against a search term.
 ### boostFields
 
@@ -435,43 +435,43 @@ Set custom boost values for particular fields when matching against a search ter
 
 <MemberInfo kind="property" type={`number`}   />
 
-The interval used to group search results into buckets according to price range. For example, setting this to
-`2000` will group into buckets every $20.00:
-
-```json
-{
-  "data": {
-    "search": {
-      "totalItems": 32,
-      "priceRange": {
-        "buckets": [
-          {
-            "to": 2000,
-            "count": 21
-          },
-          {
-            "to": 4000,
-            "count": 7
-          },
-          {
-            "to": 6000,
-            "count": 3
-          },
-          {
-            "to": 12000,
-            "count": 1
-          }
-        ]
-      }
-    }
-  }
-}
+The interval used to group search results into buckets according to price range. For example, setting this to
+`2000` will group into buckets every $20.00:
+
+```json
+{
+  "data": {
+    "search": {
+      "totalItems": 32,
+      "priceRange": {
+        "buckets": [
+          {
+            "to": 2000,
+            "count": 21
+          },
+          {
+            "to": 4000,
+            "count": 7
+          },
+          {
+            "to": 6000,
+            "count": 3
+          },
+          {
+            "to": 12000,
+            "count": 1
+          }
+        ]
+      }
+    }
+  }
+}
 ```
 ### mapQuery
 
-<MemberInfo kind="property" type={`(
         query: any,
         input: ElasticSearchInput,
         searchConfig: DeepRequired&#60;<a href='/reference/core-plugins/elasticsearch-plugin/elasticsearch-options#searchconfig'>SearchConfig</a>&#62;,
         channelId: <a href='/reference/typescript-api/common/id#id'>ID</a>,
         enabledOnly: boolean,
     ) =&#62; any`}   />
+<MemberInfo kind="property" type={`(         query: any,         input: ElasticSearchInput,         searchConfig: DeepRequired&#60;<a href='/reference/core-plugins/elasticsearch-plugin/elasticsearch-options#searchconfig'>SearchConfig</a>&#62;,         channelId: <a href='/reference/typescript-api/common/id#id'>ID</a>,         enabledOnly: boolean,     ) =&#62; any`}   />
 
-This config option allows the the modification of the whole (already built) search query. This allows
+This config option allows the the modification of the whole (already built) search query. This allows
 for e.g. wildcard / fuzzy searches on the index.
 
 *Example*
@@ -510,17 +510,17 @@ mapQuery: (query, input, searchConfig, channelId, enabledOnly){
 
 <MemberInfo kind="property" type={`{ [fieldName: string]: CustomScriptMapping&#60;[ElasticSearchInput]&#62; }`}  since="1.3.0"  />
 
-Sets `script_fields` inside the elasticsearch body which allows returning a script evaluation for each hit.
-
-The script field definition consists of three properties:
-
-* `graphQlType`: This is the type that will be returned when this script field is queried
-via the GraphQL API. It may be one of `String`, `Int`, `Float`, `Boolean`, `ID` or list
-versions thereof (`[String!]` etc) and can be appended with a `!` to indicate non-nullable fields.
-* `context`: determines whether this script field is available when grouping by product. Can be
-`product`, `variant` or `both`.
-* `scriptFn`: This is the function to run on each hit. Should return an object with a `script` property,
-as covered in the
+Sets `script_fields` inside the elasticsearch body which allows returning a script evaluation for each hit.
+
+The script field definition consists of three properties:
+
+* `graphQlType`: This is the type that will be returned when this script field is queried
+via the GraphQL API. It may be one of `String`, `Int`, `Float`, `Boolean`, `ID` or list
+versions thereof (`[String!]` etc) and can be appended with a `!` to indicate non-nullable fields.
+* `context`: determines whether this script field is available when grouping by product. Can be
+`product`, `variant` or `both`.
+* `scriptFn`: This is the function to run on each hit. Should return an object with a `script` property,
+as covered in the
 [Elasticsearch script fields docs](https://www.elastic.co/guide/en/elasticsearch/reference/7.15/search-fields.html#script-fields)
 
 *Example*
@@ -571,10 +571,10 @@ searchConfig: {
 
 <MemberInfo kind="property" type={`(sort: ElasticSearchSortInput, input: ElasticSearchInput) =&#62; ElasticSearchSortInput`} default="{}"  since="1.4.0"  />
 
-Allows extending the `sort` input of the elasticsearch body as covered in
-[Elasticsearch sort docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html)
-
-The `sort` input parameter contains the ElasticSearchSortInput generated for the default sort parameters "name" and "price".
+Allows extending the `sort` input of the elasticsearch body as covered in
+[Elasticsearch sort docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html)
+
+The `sort` input parameter contains the ElasticSearchSortInput generated for the default sort parameters "name" and "price".
 If neither of those are applied it will be empty.
 
 *Example*
@@ -655,9 +655,9 @@ searchConfig: {
 
 <GenerationInfo sourceFile="packages/elasticsearch-plugin/src/options.ts" sourceLine="680" packageName="@vendure/elasticsearch-plugin" />
 
-Configuration for [boosting](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#field-boost)
-the scores of given fields when performing a search against a term.
-
+Configuration for [boosting](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#field-boost)
+the scores of given fields when performing a search against a term.
+
 Boosting a field acts as a score multiplier for matches against that field.
 
 ```ts title="Signature"

+ 13 - 13
docs/docs/reference/core-plugins/email-plugin/email-plugin-options.md

@@ -19,11 +19,11 @@ Configuration for the EmailPlugin.
 interface EmailPluginOptions {
     templatePath?: string;
     templateLoader?: TemplateLoader;
-    transport:
-        | EmailTransportOptions
-        | ((
-              injector?: Injector,
-              ctx?: RequestContext,
+    transport:
+        | EmailTransportOptions
+        | ((
+              injector?: Injector,
+              ctx?: RequestContext,
           ) => EmailTransportOptions | Promise<EmailTransportOptions>);
     handlers: Array<EmailEventHandler<string, any>>;
     globalTemplateVars?: { [key: string]: any };
@@ -38,43 +38,43 @@ interface EmailPluginOptions {
 
 <MemberInfo kind="property" type={`string`}   />
 
-The path to the location of the email templates. In a default Vendure installation,
+The path to the location of the email templates. In a default Vendure installation,
 the templates are installed to `<project root>/vendure/email/templates`.
 ### templateLoader
 
 <MemberInfo kind="property" type={`<a href='/reference/core-plugins/email-plugin/template-loader#templateloader'>TemplateLoader</a>`}  since="2.0.0"  />
 
-An optional TemplateLoader which can be used to load templates from a custom location or async service.
+An optional TemplateLoader which can be used to load templates from a custom location or async service.
 The default uses the FileBasedTemplateLoader which loads templates from `<project root>/vendure/email/templates`
 ### transport
 
-<MemberInfo kind="property" type={`| <a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a>
         | ((
               injector?: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,
               ctx?: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,
           ) =&#62; <a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a> | Promise&#60;<a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a>&#62;)`}   />
+<MemberInfo kind="property" type={`| <a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a>         | ((               injector?: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,               ctx?: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,           ) =&#62; <a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a> | Promise&#60;<a href='/reference/core-plugins/email-plugin/transport-options#emailtransportoptions'>EmailTransportOptions</a>&#62;)`}   />
 
 Configures how the emails are sent.
 ### handlers
 
 <MemberInfo kind="property" type={`Array&#60;<a href='/reference/core-plugins/email-plugin/email-event-handler#emaileventhandler'>EmailEventHandler</a>&#60;string, any&#62;&#62;`}   />
 
-An array of <a href='/reference/core-plugins/email-plugin/email-event-handler#emaileventhandler'>EmailEventHandler</a>s which define which Vendure events will trigger
+An array of <a href='/reference/core-plugins/email-plugin/email-event-handler#emaileventhandler'>EmailEventHandler</a>s which define which Vendure events will trigger
 emails, and how those emails are generated.
 ### globalTemplateVars
 
 <MemberInfo kind="property" type={`{ [key: string]: any }`}   />
 
-An object containing variables which are made available to all templates. For example,
-the storefront URL could be defined here and then used in the "email address verification"
+An object containing variables which are made available to all templates. For example,
+the storefront URL could be defined here and then used in the "email address verification"
 email.
 ### emailSender
 
 <MemberInfo kind="property" type={`<a href='/reference/core-plugins/email-plugin/email-sender#emailsender'>EmailSender</a>`} default="<a href='/reference/core-plugins/email-plugin/email-sender#nodemaileremailsender'>NodemailerEmailSender</a>"   />
 
-An optional allowed EmailSender, used to allow custom implementations of the send functionality
+An optional allowed EmailSender, used to allow custom implementations of the send functionality
 while still utilizing the existing emailPlugin functionality.
 ### emailGenerator
 
 <MemberInfo kind="property" type={`<a href='/reference/core-plugins/email-plugin/email-generator#emailgenerator'>EmailGenerator</a>`} default="<a href='/reference/core-plugins/email-plugin/email-generator#handlebarsmjmlgenerator'>HandlebarsMjmlGenerator</a>"   />
 
-An optional allowed EmailGenerator, used to allow custom email generation functionality to
+An optional allowed EmailGenerator, used to allow custom email generation functionality to
 better match with custom email sending functionality.
 
 

+ 23 - 23
docs/docs/reference/core-plugins/harden-plugin/harden-plugin-options.md

@@ -20,8 +20,8 @@ interface HardenPluginOptions {
     maxQueryComplexity?: number;
     queryComplexityEstimators?: ComplexityEstimator[];
     logComplexityScore?: boolean;
-    customComplexityFactors?: {
-        [path: string]: number;
+    customComplexityFactors?: {
+        [path: string]: number;
     };
     hideFieldSuggestions?: boolean;
     apiMode?: 'dev' | 'prod';
@@ -34,33 +34,33 @@ interface HardenPluginOptions {
 
 <MemberInfo kind="property" type={`number`} default="1000"   />
 
-Defines the maximum permitted complexity score of a query. The complexity score is based
-on the number of fields being selected as well as other factors like whether there are nested
-lists.
-
+Defines the maximum permitted complexity score of a query. The complexity score is based
+on the number of fields being selected as well as other factors like whether there are nested
+lists.
+
 A query which exceeds the maximum score will result in an error.
 ### queryComplexityEstimators
 
 <MemberInfo kind="property" type={`ComplexityEstimator[]`}   />
 
-An array of custom estimator functions for calculating the complexity of a query. By default,
-the plugin will use the <a href='/reference/core-plugins/harden-plugin/default-vendure-complexity-estimator#defaultvendurecomplexityestimator'>defaultVendureComplexityEstimator</a> which is specifically
+An array of custom estimator functions for calculating the complexity of a query. By default,
+the plugin will use the <a href='/reference/core-plugins/harden-plugin/default-vendure-complexity-estimator#defaultvendurecomplexityestimator'>defaultVendureComplexityEstimator</a> which is specifically
 tuned to accurately estimate Vendure queries.
 ### logComplexityScore
 
 <MemberInfo kind="property" type={`boolean`} default="false"   />
 
-When set to `true`, the complexity score of each query will be logged at the Verbose
-log level, and a breakdown of the calculation for each field will be logged at the Debug level.
-
+When set to `true`, the complexity score of each query will be logged at the Verbose
+log level, and a breakdown of the calculation for each field will be logged at the Debug level.
+
 This is very useful for tuning your complexity scores.
 ### customComplexityFactors
 
-<MemberInfo kind="property" type={`{
         [path: string]: number;
     }`}   />
+<MemberInfo kind="property" type={`{         [path: string]: number;     }`}   />
 
-This object allows you to tune the complexity weight of specific fields. For example,
-if you have a custom `stockLocations` field defined on the `ProductVariant` type, and
-you know that it is a particularly expensive operation to execute, you can increase
+This object allows you to tune the complexity weight of specific fields. For example,
+if you have a custom `stockLocations` field defined on the `ProductVariant` type, and
+you know that it is a particularly expensive operation to execute, you can increase
 its complexity like this:
 
 *Example*
@@ -77,19 +77,19 @@ HardenPlugin.init({
 
 <MemberInfo kind="property" type={`boolean`} default="true"   />
 
-Graphql-js will make suggestions about the names of fields if an invalid field name is provided.
-This would allow an attacker to find out the available fields by brute force even if introspection
-is disabled.
-
-Setting this option to `true` will prevent these suggestion error messages from being returned,
+Graphql-js will make suggestions about the names of fields if an invalid field name is provided.
+This would allow an attacker to find out the available fields by brute force even if introspection
+is disabled.
+
+Setting this option to `true` will prevent these suggestion error messages from being returned,
 instead replacing the message with a generic "Invalid request" message.
 ### apiMode
 
 <MemberInfo kind="property" type={`'dev' | 'prod'`} default="'prod'"   />
 
-When set to `'prod'`, the plugin will disable dev-mode features of the GraphQL APIs:
-
-- introspection
+When set to `'prod'`, the plugin will disable dev-mode features of the GraphQL APIs:
+
+- introspection
 - GraphQL playground
 
 

+ 9 - 9
docs/docs/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-strategy.md

@@ -30,7 +30,7 @@ class BullMQJobQueueStrategy implements InspectableJobQueueStrategy {
     stop(queueName: string, process: (job: Job<Data>) => Promise<any>) => Promise<void>;
 }
 ```
-* Implements: <code><a href='/reference/typescript-api/job-queue/inspectable-job-queue-strategy#inspectablejobqueuestrategy'>InspectableJobQueueStrategy</a></code>
+* Implements: <code>InspectableJobQueueStrategy</code>
 
 
 
@@ -38,7 +38,7 @@ class BullMQJobQueueStrategy implements InspectableJobQueueStrategy {
 
 ### init
 
-<MemberInfo kind="method" type={`(injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>) => Promise&#60;void&#62;`}   />
+<MemberInfo kind="method" type={`(injector: Injector) => Promise&#60;void&#62;`}   />
 
 
 ### destroy
@@ -48,27 +48,27 @@ class BullMQJobQueueStrategy implements InspectableJobQueueStrategy {
 
 ### add
 
-<MemberInfo kind="method" type={`(job: <a href='/reference/typescript-api/job-queue/job#job'>Job</a>&#60;Data&#62;) => Promise&#60;<a href='/reference/typescript-api/job-queue/job#job'>Job</a>&#60;Data&#62;&#62;`}   />
+<MemberInfo kind="method" type={`(job: Job&#60;Data&#62;) => Promise&#60;Job&#60;Data&#62;&#62;`}   />
 
 
 ### cancelJob
 
-<MemberInfo kind="method" type={`(jobId: string) => Promise&#60;<a href='/reference/typescript-api/job-queue/job#job'>Job</a> | undefined&#62;`}   />
+<MemberInfo kind="method" type={`(jobId: string) => Promise&#60;Job | undefined&#62;`}   />
 
 
 ### findMany
 
-<MemberInfo kind="method" type={`(options?: JobListOptions) => Promise&#60;<a href='/reference/typescript-api/common/paginated-list#paginatedlist'>PaginatedList</a>&#60;<a href='/reference/typescript-api/job-queue/job#job'>Job</a>&#62;&#62;`}   />
+<MemberInfo kind="method" type={`(options?: JobListOptions) => Promise&#60;PaginatedList&#60;Job&#62;&#62;`}   />
 
 
 ### findManyById
 
-<MemberInfo kind="method" type={`(ids: <a href='/reference/typescript-api/common/id#id'>ID</a>[]) => Promise&#60;<a href='/reference/typescript-api/job-queue/job#job'>Job</a>[]&#62;`}   />
+<MemberInfo kind="method" type={`(ids: ID[]) => Promise&#60;Job[]&#62;`}   />
 
 
 ### findOne
 
-<MemberInfo kind="method" type={`(id: <a href='/reference/typescript-api/common/id#id'>ID</a>) => Promise&#60;<a href='/reference/typescript-api/job-queue/job#job'>Job</a> | undefined&#62;`}   />
+<MemberInfo kind="method" type={`(id: ID) => Promise&#60;Job | undefined&#62;`}   />
 
 
 ### removeSettledJobs
@@ -78,12 +78,12 @@ class BullMQJobQueueStrategy implements InspectableJobQueueStrategy {
 
 ### start
 
-<MemberInfo kind="method" type={`(queueName: string, process: (job: <a href='/reference/typescript-api/job-queue/job#job'>Job</a>&#60;Data&#62;) =&#62; Promise&#60;any&#62;) => Promise&#60;void&#62;`}   />
+<MemberInfo kind="method" type={`(queueName: string, process: (job: Job&#60;Data&#62;) =&#62; Promise&#60;any&#62;) => Promise&#60;void&#62;`}   />
 
 
 ### stop
 
-<MemberInfo kind="method" type={`(queueName: string, process: (job: <a href='/reference/typescript-api/job-queue/job#job'>Job</a>&#60;Data&#62;) =&#62; Promise&#60;any&#62;) => Promise&#60;void&#62;`}   />
+<MemberInfo kind="method" type={`(queueName: string, process: (job: Job&#60;Data&#62;) =&#62; Promise&#60;any&#62;) => Promise&#60;void&#62;`}   />
 
 
 

+ 2 - 2
docs/docs/reference/core-plugins/job-queue-plugin/bull-mqplugin-options.md

@@ -51,7 +51,7 @@ Worker instance.
 See the [BullMQ WorkerOptions docs](https://github.com/taskforcesh/bullmq/blob/master/docs/gitbook/api/bullmq.workeroptions.md)
 ### setRetries
 
-<MemberInfo kind="property" type={`(queueName: string, job: <a href='/reference/typescript-api/job-queue/job#job'>Job</a>) =&#62; number`}  since="1.3.0"  />
+<MemberInfo kind="property" type={`(queueName: string, job: Job) =&#62; number`}  since="1.3.0"  />
 
 When a job is added to the JobQueue using `JobQueue.add()`, the calling
 code may specify the number of retries in case of failure. This option allows
@@ -73,7 +73,7 @@ setRetries: (queueName, job) => {
  ```
 ### setBackoff
 
-<MemberInfo kind="property" type={`(queueName: string, job: <a href='/reference/typescript-api/job-queue/job#job'>Job</a>) =&#62; <a href='/reference/core-plugins/job-queue-plugin/bull-mqplugin-options#backoffoptions'>BackoffOptions</a> | undefined`} default="'exponential', 1000"  since="1.3.0"  />
+<MemberInfo kind="property" type={`(queueName: string, job: Job) =&#62; <a href='/reference/core-plugins/job-queue-plugin/bull-mqplugin-options#backoffoptions'>BackoffOptions</a> | undefined`} default="'exponential', 1000"  since="1.3.0"  />
 
 This allows you to specify the backoff settings when a failed job gets retried.
 In other words, this determines how much time should pass before attempting to

+ 116 - 116
docs/docs/reference/core-plugins/payments-plugin/mollie-plugin.md

@@ -13,110 +13,110 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/payments-plugin/src/mollie/mollie.plugin.ts" sourceLine="192" packageName="@vendure/payments-plugin" />
 
-Plugin to enable payments through the [Mollie platform](https://docs.mollie.com/).
-This plugin uses the Order API from Mollie, not the Payments API.
-
-## Requirements
-
-1. You will need to create a Mollie account and get your apiKey in the dashboard.
-2. Install the Payments plugin and the Mollie client:
-
-    `yarn add @vendure/payments-plugin @mollie/api-client`
-
-    or
-
-    `npm install @vendure/payments-plugin @mollie/api-client`
-
-## Setup
-
-1. Add the plugin to your VendureConfig `plugins` array:
-    ```ts
-    import { MolliePlugin } from '@vendure/payments-plugin/package/mollie';
-
-    // ...
-
-    plugins: [
-      MolliePlugin.init({ vendureHost: 'https://yourhost.io/' }),
-    ]
-    ```
-2. Run a database migration to add the `mollieOrderId` custom field to the order entity.
-3. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
-4. Set your Mollie apiKey in the `API Key` field.
-5. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
-You can override this url by passing the `redirectUrl` as an argument to the `createMolliePaymentIntent` mutation.
-
-## Storefront usage
-
-In your storefront you add a payment to an order using the `createMolliePaymentIntent` mutation. In this example, our Mollie
-PaymentMethod was given the code "mollie-payment-method". The `redirectUrl``is the url that is used to redirect the end-user
-back to your storefront after completing the payment.
-
-```GraphQL
-mutation CreateMolliePaymentIntent {
-  createMolliePaymentIntent(input: {
-    redirectUrl: "https://storefront/order/1234XYZ"
-    paymentMethodCode: "mollie-payment-method"
-    molliePaymentMethodCode: "ideal"
-  }) {
-         ... on MolliePaymentIntent {
-              url
-          }
-         ... on MolliePaymentIntentError {
-              errorCode
-              message
-         }
-  }
-}
-```
-
-The response will contain
-a redirectUrl, which can be used to redirect your customer to the Mollie
-platform.
-
-'molliePaymentMethodCode' is an optional parameter that can be passed to skip Mollie's hosted payment method selection screen
-You can get available Mollie payment methods with the following query:
-
-```GraphQL
-{
- molliePaymentMethods(input: { paymentMethodCode: "mollie-payment-method" }) {
-   id
-   code
-   description
-   minimumAmount {
-     value
-     currency
-   }
-   maximumAmount {
-     value
-     currency
-   }
-   image {
-     size1x
-     size2x
-     svg
-   }
- }
-}
-```
-You can pass `creditcard` for example, to the `createMolliePaymentIntent` mutation to skip the method selection.
-
-After completing payment on the Mollie platform,
-the user is redirected to the given redirect url, e.g. `https://storefront/order/CH234X5`
-
-## Pay later methods
-Mollie supports pay-later methods like 'Klarna Pay Later'. For pay-later methods, the status of an order is
-'PaymentAuthorized' after the Mollie hosted checkout. You need to manually settle the payment via the admin ui to capture the payment!
-Make sure you capture a payment within 28 days, because this is the Klarna expiry time
-
-If you don't want this behaviour (Authorized first), you can set 'autoCapture=true' on the payment method. This option will immediately
-capture the payment after a customer authorizes the payment.
-
-## ArrangingAdditionalPayment state
-
-In some rare cases, a customer can add items to the active order, while a Mollie payment is still open,
-for example by opening your storefront in another browser tab.
-This could result in an order being in `ArrangingAdditionalPayment` status after the customer finished payment.
-You should check if there is still an active order with status `ArrangingAdditionalPayment` on your order confirmation page,
+Plugin to enable payments through the [Mollie platform](https://docs.mollie.com/).
+This plugin uses the Order API from Mollie, not the Payments API.
+
+## Requirements
+
+1. You will need to create a Mollie account and get your apiKey in the dashboard.
+2. Install the Payments plugin and the Mollie client:
+
+    `yarn add @vendure/payments-plugin @mollie/api-client`
+
+    or
+
+    `npm install @vendure/payments-plugin @mollie/api-client`
+
+## Setup
+
+1. Add the plugin to your VendureConfig `plugins` array:
+    ```ts
+    import { MolliePlugin } from '@vendure/payments-plugin/package/mollie';
+
+    // ...
+
+    plugins: [
+      MolliePlugin.init({ vendureHost: 'https://yourhost.io/' }),
+    ]
+    ```
+2. Run a database migration to add the `mollieOrderId` custom field to the order entity.
+3. Create a new PaymentMethod in the Admin UI, and select "Mollie payments" as the handler.
+4. Set your Mollie apiKey in the `API Key` field.
+5. Set the `Fallback redirectUrl` to the url that the customer should be redirected to after completing the payment.
+You can override this url by passing the `redirectUrl` as an argument to the `createMolliePaymentIntent` mutation.
+
+## Storefront usage
+
+In your storefront you add a payment to an order using the `createMolliePaymentIntent` mutation. In this example, our Mollie
+PaymentMethod was given the code "mollie-payment-method". The `redirectUrl``is the url that is used to redirect the end-user
+back to your storefront after completing the payment.
+
+```GraphQL
+mutation CreateMolliePaymentIntent {
+  createMolliePaymentIntent(input: {
+    redirectUrl: "https://storefront/order/1234XYZ"
+    paymentMethodCode: "mollie-payment-method"
+    molliePaymentMethodCode: "ideal"
+  }) {
+         ... on MolliePaymentIntent {
+              url
+          }
+         ... on MolliePaymentIntentError {
+              errorCode
+              message
+         }
+  }
+}
+```
+
+The response will contain
+a redirectUrl, which can be used to redirect your customer to the Mollie
+platform.
+
+'molliePaymentMethodCode' is an optional parameter that can be passed to skip Mollie's hosted payment method selection screen
+You can get available Mollie payment methods with the following query:
+
+```GraphQL
+{
+ molliePaymentMethods(input: { paymentMethodCode: "mollie-payment-method" }) {
+   id
+   code
+   description
+   minimumAmount {
+     value
+     currency
+   }
+   maximumAmount {
+     value
+     currency
+   }
+   image {
+     size1x
+     size2x
+     svg
+   }
+ }
+}
+```
+You can pass `creditcard` for example, to the `createMolliePaymentIntent` mutation to skip the method selection.
+
+After completing payment on the Mollie platform,
+the user is redirected to the given redirect url, e.g. `https://storefront/order/CH234X5`
+
+## Pay later methods
+Mollie supports pay-later methods like 'Klarna Pay Later'. For pay-later methods, the status of an order is
+'PaymentAuthorized' after the Mollie hosted checkout. You need to manually settle the payment via the admin ui to capture the payment!
+Make sure you capture a payment within 28 days, because this is the Klarna expiry time
+
+If you don't want this behaviour (Authorized first), you can set 'autoCapture=true' on the payment method. This option will immediately
+capture the payment after a customer authorizes the payment.
+
+## ArrangingAdditionalPayment state
+
+In some rare cases, a customer can add items to the active order, while a Mollie payment is still open,
+for example by opening your storefront in another browser tab.
+This could result in an order being in `ArrangingAdditionalPayment` status after the customer finished payment.
+You should check if there is still an active order with status `ArrangingAdditionalPayment` on your order confirmation page,
 and if so, allow your customer to pay for the additional items by creating another Mollie payment.
 
 ```ts title="Signature"
@@ -152,10 +152,10 @@ Configuration options for the Mollie payments plugin.
 ```ts title="Signature"
 interface MolliePluginOptions {
     vendureHost: string;
-    enabledPaymentMethodsParams?: (
-        injector: Injector,
-        ctx: RequestContext,
-        order: Order | null,
+    enabledPaymentMethodsParams?: (
+        injector: Injector,
+        ctx: RequestContext,
+        order: Order | null,
     ) => AdditionalEnabledPaymentMethodsParams | Promise<AdditionalEnabledPaymentMethodsParams>;
 }
 ```
@@ -166,18 +166,18 @@ interface MolliePluginOptions {
 
 <MemberInfo kind="property" type={`string`}   />
 
-The host of your Vendure server, e.g. `'https://my-vendure.io'`.
+The host of your Vendure server, e.g. `'https://my-vendure.io'`.
 This is used by Mollie to send webhook events to the Vendure server
 ### enabledPaymentMethodsParams
 
-<MemberInfo kind="property" type={`(
         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,
         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,
         order: <a href='/reference/typescript-api/entities/order#order'>Order</a> | null,
     ) =&#62; AdditionalEnabledPaymentMethodsParams | Promise&#60;AdditionalEnabledPaymentMethodsParams&#62;`}  since="2.2.0"  />
+<MemberInfo kind="property" type={`(         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,         order: <a href='/reference/typescript-api/entities/order#order'>Order</a> | null,     ) =&#62; AdditionalEnabledPaymentMethodsParams | Promise&#60;AdditionalEnabledPaymentMethodsParams&#62;`}  since="2.2.0"  />
+
+Provide additional parameters to the Mollie enabled payment methods API call. By default,
+the plugin will already pass the `resource` parameter.
+
+For example, if you want to provide a `locale` and `billingCountry` for the API call, you can do so like this:
 
-Provide additional parameters to the Mollie enabled payment methods API call. By default,
-the plugin will already pass the `resource` parameter.
-
-For example, if you want to provide a `locale` and `billingCountry` for the API call, you can do so like this:
-
-**Note:** The `order` argument is possibly `null`, this could happen when you fetch the available payment methods
+**Note:** The `order` argument is possibly `null`, this could happen when you fetch the available payment methods
 before the order is created.
 
 *Example*

+ 165 - 165
docs/docs/reference/core-plugins/payments-plugin/stripe-plugin.md

@@ -13,147 +13,147 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/payments-plugin/src/stripe/stripe.plugin.ts" sourceLine="161" packageName="@vendure/payments-plugin" />
 
-Plugin to enable payments through [Stripe](https://stripe.com/docs) via the Payment Intents API.
-
-## Requirements
-
-1. You will need to create a Stripe account and get your secret key in the dashboard.
-2. Create a webhook endpoint in the Stripe dashboard (Developers -> Webhooks, "Add an endpoint") which listens to the `payment_intent.succeeded`
-and `payment_intent.payment_failed` events. The URL should be `https://my-server.com/payments/stripe`, where
-`my-server.com` is the host of your Vendure server. *Note:* for local development, you'll need to use
-the Stripe CLI to test your webhook locally. See the _local development_ section below.
-3. Get the signing secret for the newly created webhook.
-4. Install the Payments plugin and the Stripe Node library:
-
-    `yarn add @vendure/payments-plugin stripe`
-
-    or
-
-    `npm install @vendure/payments-plugin stripe`
-
-## Setup
-
-1. Add the plugin to your VendureConfig `plugins` array:
-    ```ts
-    import { StripePlugin } from '@vendure/payments-plugin/package/stripe';
-
-    // ...
-
-    plugins: [
-      StripePlugin.init({
-        // This prevents different customers from using the same PaymentIntent
-        storeCustomersInStripe: true,
-      }),
-    ]
-    ````
-    For all the plugin options, see the <a href='/reference/core-plugins/payments-plugin/stripe-plugin#stripepluginoptions'>StripePluginOptions</a> type.
-2. Create a new PaymentMethod in the Admin UI, and select "Stripe payments" as the handler.
-3. Set the webhook secret and API key in the PaymentMethod form.
-
-## Storefront usage
-
-The plugin is designed to work with the [Custom payment flow](https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements).
-In this flow, Stripe provides libraries which handle the payment UI and confirmation for you. You can install it in your storefront project
-with:
-
-```shell
-yarn add @stripe/stripe-js
-# or
-npm install @stripe/stripe-js
-```
-
-If you are using React, you should also consider installing `@stripe/react-stripe-js`, which is a wrapper around Stripe Elements.
-
-The high-level workflow is:
-1. Create a "payment intent" on the server by executing the `createStripePaymentIntent` mutation which is exposed by this plugin.
-2. Use the returned client secret to instantiate the Stripe Payment Element:
-   ```ts
-   import { Elements } from '@stripe/react-stripe-js';
-   import { loadStripe, Stripe } from '@stripe/stripe-js';
-   import { CheckoutForm } from './CheckoutForm';
-
-   const stripePromise = getStripe('pk_test_....wr83u');
-
-   type StripePaymentsProps = {
-     clientSecret: string;
-     orderCode: string;
-   }
-
-   export function StripePayments({ clientSecret, orderCode }: StripePaymentsProps) {
-     const options = {
-       // passing the client secret obtained from the server
-       clientSecret,
-     }
-     return (
-       <Elements stripe={stripePromise} options={options}>
-         <CheckoutForm orderCode={orderCode} />
-       </Elements>
-     );
-   }
-   ```
-   ```ts
-   // CheckoutForm.tsx
-   import { useStripe, useElements, PaymentElement } from '@stripe/react-stripe-js';
-   import { FormEvent } from 'react';
-
-   export const CheckoutForm = ({ orderCode }: { orderCode: string }) => {
-     const stripe = useStripe();
-     const elements = useElements();
-
-     const handleSubmit = async (event: FormEvent) => {
-       // We don't want to let default form submission happen here,
-       // which would refresh the page.
-       event.preventDefault();
-
-       if (!stripe || !elements) {
-         // Stripe.js has not yet loaded.
-         // Make sure to disable form submission until Stripe.js has loaded.
-         return;
-       }
-
-       const result = await stripe.confirmPayment({
-         //`Elements` instance that was used to create the Payment Element
-         elements,
-         confirmParams: {
-           return_url: location.origin + `/checkout/confirmation/${orderCode}`,
-         },
-       });
-
-       if (result.error) {
-         // Show error to your customer (for example, payment details incomplete)
-         console.log(result.error.message);
-       } else {
-         // Your customer will be redirected to your `return_url`. For some payment
-         // methods like iDEAL, your customer will be redirected to an intermediate
-         // site first to authorize the payment, then redirected to the `return_url`.
-       }
-     };
-
-     return (
-       <form onSubmit={handleSubmit}>
-         <PaymentElement />
-         <button disabled={!stripe}>Submit</button>
-       </form>
-     );
-   };
-   ```
-3. Once the form is submitted and Stripe processes the payment, the webhook takes care of updating the order without additional action
-in the storefront. As in the code above, the customer will be redirected to `/checkout/confirmation/${orderCode}`.
-
-:::info
-A full working storefront example of the Stripe integration can be found in the
-[Remix Starter repo](https://github.com/vendure-ecommerce/storefront-remix-starter/tree/master/app/components/checkout/stripe)
-:::
-
-## Local development
-
-1. Download & install the Stripe CLI: https://stripe.com/docs/stripe-cli
-2. From your Stripe dashboard, go to Developers -> Webhooks and click "Add an endpoint" and follow the instructions
-under "Test in a local environment".
-3. The Stripe CLI command will look like
-   ```shell
-   stripe listen --forward-to localhost:3000/payments/stripe
-   ```
+Plugin to enable payments through [Stripe](https://stripe.com/docs) via the Payment Intents API.
+
+## Requirements
+
+1. You will need to create a Stripe account and get your secret key in the dashboard.
+2. Create a webhook endpoint in the Stripe dashboard (Developers -> Webhooks, "Add an endpoint") which listens to the `payment_intent.succeeded`
+and `payment_intent.payment_failed` events. The URL should be `https://my-server.com/payments/stripe`, where
+`my-server.com` is the host of your Vendure server. *Note:* for local development, you'll need to use
+the Stripe CLI to test your webhook locally. See the _local development_ section below.
+3. Get the signing secret for the newly created webhook.
+4. Install the Payments plugin and the Stripe Node library:
+
+    `yarn add @vendure/payments-plugin stripe`
+
+    or
+
+    `npm install @vendure/payments-plugin stripe`
+
+## Setup
+
+1. Add the plugin to your VendureConfig `plugins` array:
+    ```ts
+    import { StripePlugin } from '@vendure/payments-plugin/package/stripe';
+
+    // ...
+
+    plugins: [
+      StripePlugin.init({
+        // This prevents different customers from using the same PaymentIntent
+        storeCustomersInStripe: true,
+      }),
+    ]
+    ````
+    For all the plugin options, see the <a href='/reference/core-plugins/payments-plugin/stripe-plugin#stripepluginoptions'>StripePluginOptions</a> type.
+2. Create a new PaymentMethod in the Admin UI, and select "Stripe payments" as the handler.
+3. Set the webhook secret and API key in the PaymentMethod form.
+
+## Storefront usage
+
+The plugin is designed to work with the [Custom payment flow](https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements).
+In this flow, Stripe provides libraries which handle the payment UI and confirmation for you. You can install it in your storefront project
+with:
+
+```shell
+yarn add @stripe/stripe-js
+# or
+npm install @stripe/stripe-js
+```
+
+If you are using React, you should also consider installing `@stripe/react-stripe-js`, which is a wrapper around Stripe Elements.
+
+The high-level workflow is:
+1. Create a "payment intent" on the server by executing the `createStripePaymentIntent` mutation which is exposed by this plugin.
+2. Use the returned client secret to instantiate the Stripe Payment Element:
+   ```ts
+   import { Elements } from '@stripe/react-stripe-js';
+   import { loadStripe, Stripe } from '@stripe/stripe-js';
+   import { CheckoutForm } from './CheckoutForm';
+
+   const stripePromise = getStripe('pk_test_....wr83u');
+
+   type StripePaymentsProps = {
+     clientSecret: string;
+     orderCode: string;
+   }
+
+   export function StripePayments({ clientSecret, orderCode }: StripePaymentsProps) {
+     const options = {
+       // passing the client secret obtained from the server
+       clientSecret,
+     }
+     return (
+       <Elements stripe={stripePromise} options={options}>
+         <CheckoutForm orderCode={orderCode} />
+       </Elements>
+     );
+   }
+   ```
+   ```ts
+   // CheckoutForm.tsx
+   import { useStripe, useElements, PaymentElement } from '@stripe/react-stripe-js';
+   import { FormEvent } from 'react';
+
+   export const CheckoutForm = ({ orderCode }: { orderCode: string }) => {
+     const stripe = useStripe();
+     const elements = useElements();
+
+     const handleSubmit = async (event: FormEvent) => {
+       // We don't want to let default form submission happen here,
+       // which would refresh the page.
+       event.preventDefault();
+
+       if (!stripe || !elements) {
+         // Stripe.js has not yet loaded.
+         // Make sure to disable form submission until Stripe.js has loaded.
+         return;
+       }
+
+       const result = await stripe.confirmPayment({
+         //`Elements` instance that was used to create the Payment Element
+         elements,
+         confirmParams: {
+           return_url: location.origin + `/checkout/confirmation/${orderCode}`,
+         },
+       });
+
+       if (result.error) {
+         // Show error to your customer (for example, payment details incomplete)
+         console.log(result.error.message);
+       } else {
+         // Your customer will be redirected to your `return_url`. For some payment
+         // methods like iDEAL, your customer will be redirected to an intermediate
+         // site first to authorize the payment, then redirected to the `return_url`.
+       }
+     };
+
+     return (
+       <form onSubmit={handleSubmit}>
+         <PaymentElement />
+         <button disabled={!stripe}>Submit</button>
+       </form>
+     );
+   };
+   ```
+3. Once the form is submitted and Stripe processes the payment, the webhook takes care of updating the order without additional action
+in the storefront. As in the code above, the customer will be redirected to `/checkout/confirmation/${orderCode}`.
+
+:::info
+A full working storefront example of the Stripe integration can be found in the
+[Remix Starter repo](https://github.com/vendure-ecommerce/storefront-remix-starter/tree/master/app/components/checkout/stripe)
+:::
+
+## Local development
+
+1. Download & install the Stripe CLI: https://stripe.com/docs/stripe-cli
+2. From your Stripe dashboard, go to Developers -> Webhooks and click "Add an endpoint" and follow the instructions
+under "Test in a local environment".
+3. The Stripe CLI command will look like
+   ```shell
+   stripe listen --forward-to localhost:3000/payments/stripe
+   ```
 4. The Stripe CLI will create a webhook signing secret you can then use in your config of the StripePlugin.
 
 ```ts title="Signature"
@@ -189,20 +189,20 @@ Configuration options for the Stripe payments plugin.
 ```ts title="Signature"
 interface StripePluginOptions {
     storeCustomersInStripe?: boolean;
-    metadata?: (
-        injector: Injector,
-        ctx: RequestContext,
-        order: Order,
+    metadata?: (
+        injector: Injector,
+        ctx: RequestContext,
+        order: Order,
     ) => Stripe.MetadataParam | Promise<Stripe.MetadataParam>;
-    paymentIntentCreateParams?: (
-        injector: Injector,
-        ctx: RequestContext,
-        order: Order,
+    paymentIntentCreateParams?: (
+        injector: Injector,
+        ctx: RequestContext,
+        order: Order,
     ) => AdditionalPaymentIntentCreateParams | Promise<AdditionalPaymentIntentCreateParams>;
-    customerCreateParams?: (
-        injector: Injector,
-        ctx: RequestContext,
-        order: Order,
+    customerCreateParams?: (
+        injector: Injector,
+        ctx: RequestContext,
+        order: Order,
     ) => AdditionalCustomerCreateParams | Promise<AdditionalCustomerCreateParams>;
 }
 ```
@@ -213,13 +213,13 @@ interface StripePluginOptions {
 
 <MemberInfo kind="property" type={`boolean`} default="false"   />
 
-If set to `true`, a [Customer](https://stripe.com/docs/api/customers) object will be created in Stripe - if
-it doesn't already exist - for authenticated users, which prevents payment methods attached to other Customers
-to be used with the same PaymentIntent. This is done by adding a custom field to the Customer entity to store
+If set to `true`, a [Customer](https://stripe.com/docs/api/customers) object will be created in Stripe - if
+it doesn't already exist - for authenticated users, which prevents payment methods attached to other Customers
+to be used with the same PaymentIntent. This is done by adding a custom field to the Customer entity to store
 the Stripe customer ID, so switching this on will require a database migration / synchronization.
 ### metadata
 
-<MemberInfo kind="property" type={`(
         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,
         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,
         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,
     ) =&#62; Stripe.MetadataParam | Promise&#60;Stripe.MetadataParam&#62;`}  since="1.9.7"  />
+<MemberInfo kind="property" type={`(         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,     ) =&#62; Stripe.MetadataParam | Promise&#60;Stripe.MetadataParam&#62;`}  since="1.9.7"  />
 
 Attach extra metadata to Stripe payment intent creation call.
 
@@ -249,11 +249,11 @@ Note: If the `paymentIntentCreateParams` is also used and returns a `metadata` k
 returned by both functions will be merged.
 ### paymentIntentCreateParams
 
-<MemberInfo kind="property" type={`(
         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,
         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,
         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,
     ) =&#62; AdditionalPaymentIntentCreateParams | Promise&#60;AdditionalPaymentIntentCreateParams&#62;`}  since="2.1.0"  />
+<MemberInfo kind="property" type={`(         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,     ) =&#62; AdditionalPaymentIntentCreateParams | Promise&#60;AdditionalPaymentIntentCreateParams&#62;`}  since="2.1.0"  />
+
+Provide additional parameters to the Stripe payment intent creation. By default,
+the plugin will already pass the `amount`, `currency`, `customer` and `automatic_payment_methods: { enabled: true }` parameters.
 
-Provide additional parameters to the Stripe payment intent creation. By default,
-the plugin will already pass the `amount`, `currency`, `customer` and `automatic_payment_methods: { enabled: true }` parameters.
-
 For example, if you want to provide a `description` for the payment intent, you can do so like this:
 
 *Example*
@@ -277,11 +277,11 @@ export const config: VendureConfig = {
 ```
 ### customerCreateParams
 
-<MemberInfo kind="property" type={`(
         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,
         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,
         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,
     ) =&#62; AdditionalCustomerCreateParams | Promise&#60;AdditionalCustomerCreateParams&#62;`}  since="2.1.0"  />
+<MemberInfo kind="property" type={`(         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>,         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>,         order: <a href='/reference/typescript-api/entities/order#order'>Order</a>,     ) =&#62; AdditionalCustomerCreateParams | Promise&#60;AdditionalCustomerCreateParams&#62;`}  since="2.1.0"  />
+
+Provide additional parameters to the Stripe customer creation. By default,
+the plugin will already pass the `email` and `name` parameters.
 
-Provide additional parameters to the Stripe customer creation. By default,
-the plugin will already pass the `email` and `name` parameters.
-
 For example, if you want to provide an address for the customer:
 
 *Example*

+ 9 - 9
docs/docs/reference/core-plugins/stellate-plugin/purge-rule.md

@@ -13,8 +13,8 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/stellate-plugin/src/purge-rule.ts" sourceLine="49" packageName="@vendure/stellate-plugin" />
 
-Defines a rule that listens for a particular VendureEvent and uses that to
-make calls to the [Stellate Purging API](https://docs.stellate.co/docs/purging-api) via
+Defines a rule that listens for a particular VendureEvent and uses that to
+make calls to the [Stellate Purging API](https://docs.stellate.co/docs/purging-api) via
 the provided <a href='/reference/core-plugins/stellate-plugin/stellate-service#stellateservice'>StellateService</a> instance.
 
 ```ts title="Signature"
@@ -63,10 +63,10 @@ Configures a <a href='/reference/core-plugins/stellate-plugin/purge-rule#purgeru
 interface PurgeRuleConfig<Event extends VendureEvent> {
     eventType: Type<Event>;
     bufferTime?: number;
-    handler: (handlerArgs: {
-        events: Event[];
-        stellateService: StellateService;
-        injector: Injector;
+    handler: (handlerArgs: {
+        events: Event[];
+        stellateService: StellateService;
+        injector: Injector;
     }) => void | Promise<void>;
 }
 ```
@@ -82,13 +82,13 @@ Specifies which VendureEvent will trigger this purge rule.
 
 <MemberInfo kind="property" type={`number`} default="5000"   />
 
-How long to buffer events for in milliseconds before executing the handler. This allows
+How long to buffer events for in milliseconds before executing the handler. This allows
 us to efficiently batch calls to the Stellate Purge API.
 ### handler
 
-<MemberInfo kind="property" type={`(handlerArgs: {
         events: Event[];
         stellateService: <a href='/reference/core-plugins/stellate-plugin/stellate-service#stellateservice'>StellateService</a>;
         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>;
     }) =&#62; void | Promise&#60;void&#62;`}   />
+<MemberInfo kind="property" type={`(handlerArgs: {         events: Event[];         stellateService: <a href='/reference/core-plugins/stellate-plugin/stellate-service#stellateservice'>StellateService</a>;         injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>;     }) =&#62; void | Promise&#60;void&#62;`}   />
 
-The function to invoke when the specified event is published. This function should use the
+The function to invoke when the specified event is published. This function should use the
 <a href='/reference/core-plugins/stellate-plugin/stellate-service#stellateservice'>StellateService</a> instance to call the Stellate Purge API.
 
 

+ 2 - 2
docs/docs/reference/graphql-api/_index.md

@@ -10,7 +10,7 @@ This section contains a description of all queries, mutations and related types
 
 The API is split into two distinct endpoints: *Shop* and *Admin*. The Shop API is for storefront client applications, whereas the Admin API is used for administrative tasks.
 
-{{% alert %}}
+:::note
 All documentation in this section is auto-generated from the Vendure GraphQL schema.
-{{< /alert >}}
+:::
 

+ 2 - 2
docs/docs/reference/graphql-api/admin/_index.md

@@ -8,6 +8,6 @@ showtoc: false
 
 The Admin API is primarily used by the included Admin UI web app to perform administrative tasks such as inventory management, order tracking etc.
 
-{{% alert %}}
+:::note
 Explore the interactive GraphQL Admin API at [demo.vendure.io/admin-api](https://demo.vendure.io/admin-api)
-{{< /alert >}}
+:::

+ 16 - 48
docs/docs/reference/graphql-api/admin/enums.md

@@ -14,26 +14,22 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AdjustmentType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AdjustmentType</span> &#123;</div>
 <div class="graphql-code-line ">PROMOTION</div>
 <div class="graphql-code-line ">DISTRIBUTED_ORDER_PROMOTION</div>
 <div class="graphql-code-line ">OTHER</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## AssetType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AssetType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AssetType</span> &#123;</div>
 <div class="graphql-code-line ">IMAGE</div>
 <div class="graphql-code-line ">VIDEO</div>
 <div class="graphql-code-line ">BINARY</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CurrencyCode
@@ -47,8 +43,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">CurrencyCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">CurrencyCode</span> &#123;</div>
 <div class="graphql-code-line comment">"""United Arab Emirates dirham"""</div>
 <div class="graphql-code-line ">AED</div>
 <div class="graphql-code-line comment">"""Afghan afghani"""</div>
@@ -364,29 +359,25 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Zimbabwean dollar"""</div>
 <div class="graphql-code-line ">ZWL</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## DeletionResult
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">DeletionResult</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">DeletionResult</span> &#123;</div>
 <div class="graphql-code-line comment">"""The entity was successfully deleted"""</div>
 <div class="graphql-code-line ">DELETED</div>
 <div class="graphql-code-line comment">"""Deletion did not take place, reason given in message"""</div>
 <div class="graphql-code-line ">NOT_DELETED</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ErrorCode
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">ErrorCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">ErrorCode</span> &#123;</div>
 <div class="graphql-code-line ">UNKNOWN_ERROR</div>
 <div class="graphql-code-line ">MIME_TYPE_ERROR</div>
 <div class="graphql-code-line ">LANGUAGE_NOT_AVAILABLE_ERROR</div>
@@ -433,28 +424,24 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">INELIGIBLE_SHIPPING_METHOD_ERROR</div>
 <div class="graphql-code-line ">NO_ACTIVE_ORDER_ERROR</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## GlobalFlag
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">GlobalFlag</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">GlobalFlag</span> &#123;</div>
 <div class="graphql-code-line ">TRUE</div>
 <div class="graphql-code-line ">FALSE</div>
 <div class="graphql-code-line ">INHERIT</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## HistoryEntryType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">HistoryEntryType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">HistoryEntryType</span> &#123;</div>
 <div class="graphql-code-line ">CUSTOMER_REGISTERED</div>
 <div class="graphql-code-line ">CUSTOMER_VERIFIED</div>
 <div class="graphql-code-line ">CUSTOMER_DETAIL_UPDATED</div>
@@ -481,7 +468,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">ORDER_MODIFIED</div>
 <div class="graphql-code-line ">ORDER_CUSTOMER_UPDATED</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## JobState
@@ -495,8 +481,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">JobState</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">JobState</span> &#123;</div>
 <div class="graphql-code-line ">PENDING</div>
 <div class="graphql-code-line ">RUNNING</div>
 <div class="graphql-code-line ">COMPLETED</div>
@@ -504,7 +489,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">FAILED</div>
 <div class="graphql-code-line ">CANCELLED</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## LanguageCode
@@ -524,8 +508,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LanguageCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LanguageCode</span> &#123;</div>
 <div class="graphql-code-line comment">"""Afrikaans"""</div>
 <div class="graphql-code-line ">af</div>
 <div class="graphql-code-line comment">"""Akan"""</div>
@@ -841,56 +824,47 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Zulu"""</div>
 <div class="graphql-code-line ">zu</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## LogicalOperator
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LogicalOperator</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LogicalOperator</span> &#123;</div>
 <div class="graphql-code-line ">AND</div>
 <div class="graphql-code-line ">OR</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## MetricInterval
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">MetricInterval</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">MetricInterval</span> &#123;</div>
 <div class="graphql-code-line ">Daily</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## MetricType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">MetricType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">MetricType</span> &#123;</div>
 <div class="graphql-code-line ">OrderCount</div>
 <div class="graphql-code-line ">OrderTotal</div>
 <div class="graphql-code-line ">AverageOrderValue</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## OrderType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">OrderType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">OrderType</span> &#123;</div>
 <div class="graphql-code-line ">Regular</div>
 <div class="graphql-code-line ">Seller</div>
 <div class="graphql-code-line ">Aggregate</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## Permission
@@ -956,8 +930,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">Permission</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">Permission</span> &#123;</div>
 <div class="graphql-code-line comment">"""Authenticated means simply that the user is logged in"""</div>
 <div class="graphql-code-line ">Authenticated</div>
 <div class="graphql-code-line comment">"""SuperAdmin has unrestricted access to all operations"""</div>
@@ -1145,27 +1118,23 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Grants permission to delete Zone"""</div>
 <div class="graphql-code-line ">DeleteZone</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## SortOrder
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">SortOrder</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">SortOrder</span> &#123;</div>
 <div class="graphql-code-line ">ASC</div>
 <div class="graphql-code-line ">DESC</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## StockMovementType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">StockMovementType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">StockMovementType</span> &#123;</div>
 <div class="graphql-code-line ">ADJUSTMENT</div>
 <div class="graphql-code-line ">ALLOCATION</div>
 <div class="graphql-code-line ">RELEASE</div>
@@ -1173,5 +1142,4 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">CANCELLATION</div>
 <div class="graphql-code-line ">RETURN</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 75 - 191
docs/docs/reference/graphql-api/admin/input-types.md


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 105 - 200
docs/docs/reference/graphql-api/admin/mutations.md


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 108 - 216
docs/docs/reference/graphql-api/admin/object-types.md


+ 75 - 144
docs/docs/reference/graphql-api/admin/queries.md

@@ -12,8 +12,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## activeAdministrator
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">activeAdministrator: <a href="/reference/graphql-api/admin/object-types#administrator">Administrator</a></div>
 
 
@@ -22,8 +21,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## activeChannel
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">activeChannel: <a href="/reference/graphql-api/admin/object-types#channel">Channel</a>!</div>
 
 
@@ -32,8 +30,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## administrator
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">administrator(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#administrator">Administrator</a></div>
 
 
@@ -42,8 +39,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## administrators
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">administrators(options: <a href="/reference/graphql-api/admin/input-types#administratorlistoptions">AdministratorListOptions</a>): <a href="/reference/graphql-api/admin/object-types#administratorlist">AdministratorList</a>!</div>
 
 
@@ -55,8 +51,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a single Asset by id</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">asset(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#asset">Asset</a></div>
 
 
@@ -68,8 +63,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a list of Assets</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">assets(options: <a href="/reference/graphql-api/admin/input-types#assetlistoptions">AssetListOptions</a>): <a href="/reference/graphql-api/admin/object-types#assetlist">AssetList</a>!</div>
 
 
@@ -78,8 +72,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## channel
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">channel(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#channel">Channel</a></div>
 
 
@@ -88,8 +81,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## channels
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">channels(options: <a href="/reference/graphql-api/admin/input-types#channellistoptions">ChannelListOptions</a>): <a href="/reference/graphql-api/admin/object-types#channellist">ChannelList</a>!</div>
 
 
@@ -101,8 +93,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a Collection either by id or slug. If neither id nor slug is specified, an error will result.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">collection(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>, slug: <a href="/reference/graphql-api/admin/object-types#string">String</a>): <a href="/reference/graphql-api/admin/object-types#collection">Collection</a></div>
 
 
@@ -111,8 +102,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## collectionFilters
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">collectionFilters: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -121,8 +111,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## collections
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">collections(options: <a href="/reference/graphql-api/admin/input-types#collectionlistoptions">CollectionListOptions</a>): <a href="/reference/graphql-api/admin/object-types#collectionlist">CollectionList</a>!</div>
 
 
@@ -131,8 +120,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## countries
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">countries(options: <a href="/reference/graphql-api/admin/input-types#countrylistoptions">CountryListOptions</a>): <a href="/reference/graphql-api/admin/object-types#countrylist">CountryList</a>!</div>
 
 
@@ -141,8 +129,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## country
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">country(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#country">Country</a></div>
 
 
@@ -151,8 +138,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## customer
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">customer(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#customer">Customer</a></div>
 
 
@@ -161,8 +147,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## customerGroup
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">customerGroup(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#customergroup">CustomerGroup</a></div>
 
 
@@ -171,8 +156,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## customerGroups
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">customerGroups(options: <a href="/reference/graphql-api/admin/input-types#customergrouplistoptions">CustomerGroupListOptions</a>): <a href="/reference/graphql-api/admin/object-types#customergrouplist">CustomerGroupList</a>!</div>
 
 
@@ -181,8 +165,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## customers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">customers(options: <a href="/reference/graphql-api/admin/input-types#customerlistoptions">CustomerListOptions</a>): <a href="/reference/graphql-api/admin/object-types#customerlist">CustomerList</a>!</div>
 
 
@@ -194,8 +177,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns a list of eligible shipping methods for the draft Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">eligibleShippingMethodsForDraftOrder(orderId: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): [<a href="/reference/graphql-api/admin/object-types#shippingmethodquote">ShippingMethodQuote</a>!]!</div>
 
 
@@ -204,8 +186,10 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## entityDuplicators
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level comment">Returns all configured EntityDuplicators.</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">entityDuplicators: [<a href="/reference/graphql-api/admin/object-types#entityduplicatordefinition">EntityDuplicatorDefinition</a>!]!</div>
 
 
@@ -214,8 +198,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## facet
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">facet(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#facet">Facet</a></div>
 
 
@@ -224,8 +207,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## facetValues
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">facetValues(options: <a href="/reference/graphql-api/admin/input-types#facetvaluelistoptions">FacetValueListOptions</a>): <a href="/reference/graphql-api/admin/object-types#facetvaluelist">FacetValueList</a>!</div>
 
 
@@ -234,8 +216,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## facets
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">facets(options: <a href="/reference/graphql-api/admin/input-types#facetlistoptions">FacetListOptions</a>): <a href="/reference/graphql-api/admin/object-types#facetlist">FacetList</a>!</div>
 
 
@@ -244,8 +225,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## fulfillmentHandlers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">fulfillmentHandlers: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -254,8 +234,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## globalSettings
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">globalSettings: <a href="/reference/graphql-api/admin/object-types#globalsettings">GlobalSettings</a>!</div>
 
 
@@ -264,8 +243,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## job
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">job(jobId: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#job">Job</a></div>
 
 
@@ -274,8 +252,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## jobBufferSize
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">jobBufferSize(bufferIds: [<a href="/reference/graphql-api/admin/object-types#string">String</a>!]): [<a href="/reference/graphql-api/admin/object-types#jobbuffersize">JobBufferSize</a>!]!</div>
 
 
@@ -284,8 +261,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## jobQueues
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">jobQueues: [<a href="/reference/graphql-api/admin/object-types#jobqueue">JobQueue</a>!]!</div>
 
 
@@ -294,8 +270,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## jobs
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">jobs(options: <a href="/reference/graphql-api/admin/input-types#joblistoptions">JobListOptions</a>): <a href="/reference/graphql-api/admin/object-types#joblist">JobList</a>!</div>
 
 
@@ -304,8 +279,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## jobsById
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">jobsById(jobIds: [<a href="/reference/graphql-api/admin/object-types#id">ID</a>!]!): [<a href="/reference/graphql-api/admin/object-types#job">Job</a>!]!</div>
 
 
@@ -314,8 +288,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## me
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">me: <a href="/reference/graphql-api/admin/object-types#currentuser">CurrentUser</a></div>
 
 
@@ -327,8 +300,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get metrics for the given interval and metric types.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">metricSummary(input: <a href="/reference/graphql-api/admin/input-types#metricsummaryinput">MetricSummaryInput</a>): [<a href="/reference/graphql-api/admin/object-types#metricsummary">MetricSummary</a>!]!</div>
 
 
@@ -337,8 +309,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## order
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">order(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#order">Order</a></div>
 
 
@@ -347,8 +318,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## orders
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">orders(options: <a href="/reference/graphql-api/admin/input-types#orderlistoptions">OrderListOptions</a>): <a href="/reference/graphql-api/admin/object-types#orderlist">OrderList</a>!</div>
 
 
@@ -357,8 +327,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## paymentMethod
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">paymentMethod(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#paymentmethod">PaymentMethod</a></div>
 
 
@@ -367,8 +336,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## paymentMethodEligibilityCheckers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">paymentMethodEligibilityCheckers: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -377,8 +345,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## paymentMethodHandlers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">paymentMethodHandlers: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -387,8 +354,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## paymentMethods
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">paymentMethods(options: <a href="/reference/graphql-api/admin/input-types#paymentmethodlistoptions">PaymentMethodListOptions</a>): <a href="/reference/graphql-api/admin/object-types#paymentmethodlist">PaymentMethodList</a>!</div>
 
 
@@ -397,8 +363,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## pendingSearchIndexUpdates
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">pendingSearchIndexUpdates: <a href="/reference/graphql-api/admin/object-types#int">Int</a>!</div>
 
 
@@ -410,8 +375,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Used for real-time previews of the contents of a Collection</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">previewCollectionVariants(input: <a href="/reference/graphql-api/admin/input-types#previewcollectionvariantsinput">PreviewCollectionVariantsInput</a>!, options: <a href="/reference/graphql-api/admin/input-types#productvariantlistoptions">ProductVariantListOptions</a>): <a href="/reference/graphql-api/admin/object-types#productvariantlist">ProductVariantList</a>!</div>
 
 
@@ -423,8 +387,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a Product either by id or slug. If neither id nor slug is specified, an error will result.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">product(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>, slug: <a href="/reference/graphql-api/admin/object-types#string">String</a>): <a href="/reference/graphql-api/admin/object-types#product">Product</a></div>
 
 
@@ -433,8 +396,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## productOptionGroup
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">productOptionGroup(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#productoptiongroup">ProductOptionGroup</a></div>
 
 
@@ -443,8 +405,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## productOptionGroups
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">productOptionGroups(filterTerm: <a href="/reference/graphql-api/admin/object-types#string">String</a>): [<a href="/reference/graphql-api/admin/object-types#productoptiongroup">ProductOptionGroup</a>!]!</div>
 
 
@@ -456,8 +417,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a ProductVariant by id</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">productVariant(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#productvariant">ProductVariant</a></div>
 
 
@@ -469,8 +429,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">List ProductVariants either all or for the specific product.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">productVariants(options: <a href="/reference/graphql-api/admin/input-types#productvariantlistoptions">ProductVariantListOptions</a>, productId: <a href="/reference/graphql-api/admin/object-types#id">ID</a>): <a href="/reference/graphql-api/admin/object-types#productvariantlist">ProductVariantList</a>!</div>
 
 
@@ -482,8 +441,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">List Products</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">products(options: <a href="/reference/graphql-api/admin/input-types#productlistoptions">ProductListOptions</a>): <a href="/reference/graphql-api/admin/object-types#productlist">ProductList</a>!</div>
 
 
@@ -492,8 +450,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## promotion
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">promotion(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#promotion">Promotion</a></div>
 
 
@@ -502,8 +459,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## promotionActions
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">promotionActions: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -512,8 +468,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## promotionConditions
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">promotionConditions: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -522,8 +477,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## promotions
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">promotions(options: <a href="/reference/graphql-api/admin/input-types#promotionlistoptions">PromotionListOptions</a>): <a href="/reference/graphql-api/admin/object-types#promotionlist">PromotionList</a>!</div>
 
 
@@ -532,8 +486,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## province
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">province(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#province">Province</a></div>
 
 
@@ -542,8 +495,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## provinces
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">provinces(options: <a href="/reference/graphql-api/admin/input-types#provincelistoptions">ProvinceListOptions</a>): <a href="/reference/graphql-api/admin/object-types#provincelist">ProvinceList</a>!</div>
 
 
@@ -552,8 +504,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## role
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">role(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#role">Role</a></div>
 
 
@@ -562,8 +513,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## roles
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">roles(options: <a href="/reference/graphql-api/admin/input-types#rolelistoptions">RoleListOptions</a>): <a href="/reference/graphql-api/admin/object-types#rolelist">RoleList</a>!</div>
 
 
@@ -572,8 +522,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## search
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">search(input: <a href="/reference/graphql-api/admin/input-types#searchinput">SearchInput</a>!): <a href="/reference/graphql-api/admin/object-types#searchresponse">SearchResponse</a>!</div>
 
 
@@ -582,8 +531,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## seller
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">seller(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#seller">Seller</a></div>
 
 
@@ -592,8 +540,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## sellers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">sellers(options: <a href="/reference/graphql-api/admin/input-types#sellerlistoptions">SellerListOptions</a>): <a href="/reference/graphql-api/admin/object-types#sellerlist">SellerList</a>!</div>
 
 
@@ -602,8 +549,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## shippingCalculators
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">shippingCalculators: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -612,8 +558,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## shippingEligibilityCheckers
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">shippingEligibilityCheckers: [<a href="/reference/graphql-api/admin/object-types#configurableoperationdefinition">ConfigurableOperationDefinition</a>!]!</div>
 
 
@@ -622,8 +567,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## shippingMethod
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">shippingMethod(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#shippingmethod">ShippingMethod</a></div>
 
 
@@ -632,8 +576,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## shippingMethods
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">shippingMethods(options: <a href="/reference/graphql-api/admin/input-types#shippingmethodlistoptions">ShippingMethodListOptions</a>): <a href="/reference/graphql-api/admin/object-types#shippingmethodlist">ShippingMethodList</a>!</div>
 
 
@@ -642,8 +585,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## stockLocation
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">stockLocation(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#stocklocation">StockLocation</a></div>
 
 
@@ -652,8 +594,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## stockLocations
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">stockLocations(options: <a href="/reference/graphql-api/admin/input-types#stocklocationlistoptions">StockLocationListOptions</a>): <a href="/reference/graphql-api/admin/object-types#stocklocationlist">StockLocationList</a>!</div>
 
 
@@ -662,8 +603,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## tag
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">tag(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#tag">Tag</a>!</div>
 
 
@@ -672,8 +612,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## tags
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">tags(options: <a href="/reference/graphql-api/admin/input-types#taglistoptions">TagListOptions</a>): <a href="/reference/graphql-api/admin/object-types#taglist">TagList</a>!</div>
 
 
@@ -682,8 +621,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## taxCategories
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">taxCategories(options: <a href="/reference/graphql-api/admin/input-types#taxcategorylistoptions">TaxCategoryListOptions</a>): <a href="/reference/graphql-api/admin/object-types#taxcategorylist">TaxCategoryList</a>!</div>
 
 
@@ -692,8 +630,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## taxCategory
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">taxCategory(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#taxcategory">TaxCategory</a></div>
 
 
@@ -702,8 +639,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## taxRate
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">taxRate(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#taxrate">TaxRate</a></div>
 
 
@@ -712,8 +648,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## taxRates
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">taxRates(options: <a href="/reference/graphql-api/admin/input-types#taxratelistoptions">TaxRateListOptions</a>): <a href="/reference/graphql-api/admin/object-types#taxratelist">TaxRateList</a>!</div>
 
 
@@ -722,8 +657,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## testEligibleShippingMethods
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">testEligibleShippingMethods(input: <a href="/reference/graphql-api/admin/input-types#testeligibleshippingmethodsinput">TestEligibleShippingMethodsInput</a>!): [<a href="/reference/graphql-api/admin/object-types#shippingmethodquote">ShippingMethodQuote</a>!]!</div>
 
 
@@ -732,8 +666,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## testShippingMethod
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">testShippingMethod(input: <a href="/reference/graphql-api/admin/input-types#testshippingmethodinput">TestShippingMethodInput</a>!): <a href="/reference/graphql-api/admin/object-types#testshippingmethodresult">TestShippingMethodResult</a>!</div>
 
 
@@ -742,8 +675,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## zone
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">zone(id: <a href="/reference/graphql-api/admin/object-types#id">ID</a>!): <a href="/reference/graphql-api/admin/object-types#zone">Zone</a></div>
 
 
@@ -752,8 +684,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## zones
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">zones(options: <a href="/reference/graphql-api/admin/input-types#zonelistoptions">ZoneListOptions</a>): <a href="/reference/graphql-api/admin/object-types#zonelist">ZoneList</a>!</div>
 
 

+ 2 - 2
docs/docs/reference/graphql-api/shop/_index.md

@@ -8,6 +8,6 @@ showtoc: false
 
 The Shop API is used by storefront applications. It provides all the necessary queries and mutations for finding and viewing products, creating and updating orders, checking out, managing a customer account etc.
 
-{{% alert %}}
+:::note
 Explore the interactive GraphQL Shop API at [demo.vendure.io/shop-api](https://demo.vendure.io/shop-api)
-{{< /alert >}}
+:::

+ 12 - 36
docs/docs/reference/graphql-api/shop/enums.md

@@ -14,26 +14,22 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AdjustmentType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AdjustmentType</span> &#123;</div>
 <div class="graphql-code-line ">PROMOTION</div>
 <div class="graphql-code-line ">DISTRIBUTED_ORDER_PROMOTION</div>
 <div class="graphql-code-line ">OTHER</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## AssetType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AssetType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">AssetType</span> &#123;</div>
 <div class="graphql-code-line ">IMAGE</div>
 <div class="graphql-code-line ">VIDEO</div>
 <div class="graphql-code-line ">BINARY</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CurrencyCode
@@ -47,8 +43,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">CurrencyCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">CurrencyCode</span> &#123;</div>
 <div class="graphql-code-line comment">"""United Arab Emirates dirham"""</div>
 <div class="graphql-code-line ">AED</div>
 <div class="graphql-code-line comment">"""Afghan afghani"""</div>
@@ -364,29 +359,25 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Zimbabwean dollar"""</div>
 <div class="graphql-code-line ">ZWL</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## DeletionResult
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">DeletionResult</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">DeletionResult</span> &#123;</div>
 <div class="graphql-code-line comment">"""The entity was successfully deleted"""</div>
 <div class="graphql-code-line ">DELETED</div>
 <div class="graphql-code-line comment">"""Deletion did not take place, reason given in message"""</div>
 <div class="graphql-code-line ">NOT_DELETED</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ErrorCode
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">ErrorCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">ErrorCode</span> &#123;</div>
 <div class="graphql-code-line ">UNKNOWN_ERROR</div>
 <div class="graphql-code-line ">NATIVE_AUTH_STRATEGY_ERROR</div>
 <div class="graphql-code-line ">INVALID_CREDENTIALS_ERROR</div>
@@ -418,28 +409,24 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">PASSWORD_RESET_TOKEN_EXPIRED_ERROR</div>
 <div class="graphql-code-line ">NOT_VERIFIED_ERROR</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## GlobalFlag
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">GlobalFlag</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">GlobalFlag</span> &#123;</div>
 <div class="graphql-code-line ">TRUE</div>
 <div class="graphql-code-line ">FALSE</div>
 <div class="graphql-code-line ">INHERIT</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## HistoryEntryType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">HistoryEntryType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">HistoryEntryType</span> &#123;</div>
 <div class="graphql-code-line ">CUSTOMER_REGISTERED</div>
 <div class="graphql-code-line ">CUSTOMER_VERIFIED</div>
 <div class="graphql-code-line ">CUSTOMER_DETAIL_UPDATED</div>
@@ -466,7 +453,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line ">ORDER_MODIFIED</div>
 <div class="graphql-code-line ">ORDER_CUSTOMER_UPDATED</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## LanguageCode
@@ -486,8 +472,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LanguageCode</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LanguageCode</span> &#123;</div>
 <div class="graphql-code-line comment">"""Afrikaans"""</div>
 <div class="graphql-code-line ">af</div>
 <div class="graphql-code-line comment">"""Akan"""</div>
@@ -803,32 +788,27 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Zulu"""</div>
 <div class="graphql-code-line ">zu</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## LogicalOperator
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LogicalOperator</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">LogicalOperator</span> &#123;</div>
 <div class="graphql-code-line ">AND</div>
 <div class="graphql-code-line ">OR</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## OrderType
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">OrderType</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">OrderType</span> &#123;</div>
 <div class="graphql-code-line ">Regular</div>
 <div class="graphql-code-line ">Seller</div>
 <div class="graphql-code-line ">Aggregate</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## Permission
@@ -894,8 +874,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment"></div>
 <div class="graphql-code-line comment">"""</div>
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">Permission</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">Permission</span> &#123;</div>
 <div class="graphql-code-line comment">"""Authenticated means simply that the user is logged in"""</div>
 <div class="graphql-code-line ">Authenticated</div>
 <div class="graphql-code-line comment">"""SuperAdmin has unrestricted access to all operations"""</div>
@@ -1083,17 +1062,14 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line comment">"""Grants permission to delete Zone"""</div>
 <div class="graphql-code-line ">DeleteZone</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## SortOrder
 
 <div class="graphql-code-block">
 
-<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">SortOrder</span>
- &#123;</div>
+<div class="graphql-code-line top-level">enum <span class="graphql-code-identifier">SortOrder</span> &#123;</div>
 <div class="graphql-code-line ">ASC</div>
 <div class="graphql-code-line ">DESC</div>
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>

+ 72 - 150
docs/docs/reference/graphql-api/shop/input-types.md

@@ -13,13 +13,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 ## AuthenticationInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">AuthenticationInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">AuthenticationInput</span> &#123;</div>
 <div class="graphql-code-line ">native: <a href="/reference/graphql-api/shop/input-types#nativeauthinput">NativeAuthInput</a></div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## BooleanListOperators
@@ -28,13 +26,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a list of Boolean fields</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">BooleanListOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">BooleanListOperators</span> &#123;</div>
 <div class="graphql-code-line ">inList: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## BooleanOperators
@@ -43,22 +39,19 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a Boolean field</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">BooleanOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">BooleanOperators</span> &#123;</div>
 <div class="graphql-code-line ">eq: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a></div>
 
 <div class="graphql-code-line ">isNull: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a></div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CollectionFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -83,14 +76,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CollectionListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionListOptions</span> &#123;</div>
 <div class="graphql-code-line ">topLevelOnly: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a></div>
 
 <div class="graphql-code-line comment">"""</div>
@@ -120,14 +111,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CollectionSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CollectionSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -146,14 +135,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ConfigArgInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ConfigArgInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ConfigArgInput</span> &#123;</div>
 <div class="graphql-code-line ">name: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 <div class="graphql-code-line comment">"""</div>
@@ -163,28 +150,35 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ConfigurableOperationInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ConfigurableOperationInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ConfigurableOperationInput</span> &#123;</div>
 <div class="graphql-code-line ">code: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 <div class="graphql-code-line ">arguments: [<a href="/reference/graphql-api/shop/input-types#configarginput">ConfigArgInput</a>!]!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CreateAddressInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CreateAddressInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level comment">Input used to create an Address.</div>
+
+<div class="graphql-code-line top-level comment"></div>
+
+<div class="graphql-code-line top-level comment">The countryCode must correspond to a <code>code</code> property of a Country that has been defined in the</div>
+
+<div class="graphql-code-line top-level comment">Vendure server. The <code>code</code> property is typically a 2-character ISO code such as "GB", "US", "DE" etc.</div>
+
+<div class="graphql-code-line top-level comment">If an invalid code is passed, the mutation will fail.</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CreateAddressInput</span> &#123;</div>
 <div class="graphql-code-line ">fullName: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">company: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -211,14 +205,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CreateCustomerInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CreateCustomerInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CreateCustomerInput</span> &#123;</div>
 <div class="graphql-code-line ">title: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">firstName: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
@@ -233,14 +225,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CustomerFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -263,14 +253,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CustomerListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -298,14 +286,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## CustomerSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">CustomerSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -324,7 +310,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## DateListOperators
@@ -333,13 +318,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a list of Date fields</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateListOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateListOperators</span> &#123;</div>
 <div class="graphql-code-line ">inList: <a href="/reference/graphql-api/shop/object-types#datetime">DateTime</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## DateOperators
@@ -348,8 +331,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a DateTime field</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateOperators</span> &#123;</div>
 <div class="graphql-code-line ">eq: <a href="/reference/graphql-api/shop/object-types#datetime">DateTime</a></div>
 
 <div class="graphql-code-line ">before: <a href="/reference/graphql-api/shop/object-types#datetime">DateTime</a></div>
@@ -362,28 +344,24 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## DateRange
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateRange</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">DateRange</span> &#123;</div>
 <div class="graphql-code-line ">start: <a href="/reference/graphql-api/shop/object-types#datetime">DateTime</a>!</div>
 
 <div class="graphql-code-line ">end: <a href="/reference/graphql-api/shop/object-types#datetime">DateTime</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -402,14 +380,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -437,14 +413,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -457,7 +431,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetValueFilterInput
@@ -476,22 +449,19 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">* ID=1 AND (ID=2 OR ID=3): `&#123; facetValueFilters: [&#123; and: 1 &#125;, &#123; or: [2,3] &#125;] &#125;`</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueFilterInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueFilterInput</span> &#123;</div>
 <div class="graphql-code-line ">and: <a href="/reference/graphql-api/shop/object-types#id">ID</a></div>
 
 <div class="graphql-code-line ">or: [<a href="/reference/graphql-api/shop/object-types#id">ID</a>!]</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetValueFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -512,14 +482,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetValueListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -547,14 +515,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## FacetValueSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">FacetValueSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -569,14 +535,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## HistoryEntryFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntryFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntryFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -591,14 +555,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## HistoryEntryListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntryListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntryListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -626,14 +588,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## HistoryEntrySortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntrySortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">HistoryEntrySortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -642,7 +602,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## IDListOperators
@@ -651,13 +610,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a list of ID fields</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">IDListOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">IDListOperators</span> &#123;</div>
 <div class="graphql-code-line ">inList: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## IDOperators
@@ -666,8 +623,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on an ID field</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">IDOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">IDOperators</span> &#123;</div>
 <div class="graphql-code-line ">eq: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">notEq: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -680,21 +636,18 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## NativeAuthInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NativeAuthInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NativeAuthInput</span> &#123;</div>
 <div class="graphql-code-line ">username: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 <div class="graphql-code-line ">password: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## NumberListOperators
@@ -703,13 +656,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a list of Number fields</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberListOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberListOperators</span> &#123;</div>
 <div class="graphql-code-line ">inList: <a href="/reference/graphql-api/shop/object-types#float">Float</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## NumberOperators
@@ -718,8 +669,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a Int or Float field</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberOperators</span> &#123;</div>
 <div class="graphql-code-line ">eq: <a href="/reference/graphql-api/shop/object-types#float">Float</a></div>
 
 <div class="graphql-code-line ">lt: <a href="/reference/graphql-api/shop/object-types#float">Float</a></div>
@@ -736,28 +686,24 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## NumberRange
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberRange</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">NumberRange</span> &#123;</div>
 <div class="graphql-code-line ">start: <a href="/reference/graphql-api/shop/object-types#float">Float</a>!</div>
 
 <div class="graphql-code-line ">end: <a href="/reference/graphql-api/shop/object-types#float">Float</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## OrderFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -796,14 +742,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## OrderListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -831,14 +775,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## OrderSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">OrderSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -867,7 +809,6 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## PaymentInput
@@ -876,8 +817,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Passed as input to the <code>addPaymentToOrder</code> mutation.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">PaymentInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">PaymentInput</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">This field should correspond to the <code>code</code> property of a PaymentMethod.</div>
 <div class="graphql-code-line comment">"""</div>
@@ -894,14 +834,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/input-types#dateoperators">DateOperators</a></div>
@@ -924,14 +862,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -959,14 +895,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">createdAt: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -981,14 +915,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductVariantFilterParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantFilterParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantFilterParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
 
 <div class="graphql-code-line ">productId: <a href="/reference/graphql-api/shop/input-types#idoperators">IDOperators</a></div>
@@ -1017,14 +949,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductVariantListOptions
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantListOptions</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantListOptions</span> &#123;</div>
 <div class="graphql-code-line comment">"""</div>
 <div class="graphql-code-line comment">Skips the first n results, for use in pagination</div>
 <div class="graphql-code-line comment">"""</div>
@@ -1052,14 +982,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## ProductVariantSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">ProductVariantSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">productId: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
@@ -1080,14 +1008,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## RegisterCustomerInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">RegisterCustomerInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">RegisterCustomerInput</span> &#123;</div>
 <div class="graphql-code-line ">emailAddress: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 <div class="graphql-code-line ">title: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -1102,14 +1028,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## SearchInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">SearchInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">SearchInput</span> &#123;</div>
 <div class="graphql-code-line ">term: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">facetValueIds: [<a href="/reference/graphql-api/shop/object-types#id">ID</a>!]</div>
@@ -1132,21 +1056,18 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## SearchResultSortParameter
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">SearchResultSortParameter</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">SearchResultSortParameter</span> &#123;</div>
 <div class="graphql-code-line ">name: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 <div class="graphql-code-line ">price: <a href="/reference/graphql-api/shop/enums#sortorder">SortOrder</a></div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## StringListOperators
@@ -1155,13 +1076,11 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a list of String fields</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">StringListOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">StringListOperators</span> &#123;</div>
 <div class="graphql-code-line ">inList: <a href="/reference/graphql-api/shop/object-types#string">String</a>!</div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## StringOperators
@@ -1170,8 +1089,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Operators for filtering on a String field</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">StringOperators</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">StringOperators</span> &#123;</div>
 <div class="graphql-code-line ">eq: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">notEq: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -1190,14 +1108,23 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## UpdateAddressInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateAddressInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level comment">Input used to update an Address.</div>
+
+<div class="graphql-code-line top-level comment"></div>
+
+<div class="graphql-code-line top-level comment">The countryCode must correspond to a <code>code</code> property of a Country that has been defined in the</div>
+
+<div class="graphql-code-line top-level comment">Vendure server. The <code>code</code> property is typically a 2-character ISO code such as "GB", "US", "DE" etc.</div>
+
+<div class="graphql-code-line top-level comment">If an invalid code is passed, the mutation will fail.</div>
+<div class="graphql-code-line top-level comment">"""</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateAddressInput</span> &#123;</div>
 <div class="graphql-code-line ">id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!</div>
 
 <div class="graphql-code-line ">fullName: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -1226,14 +1153,12 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## UpdateCustomerInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateCustomerInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateCustomerInput</span> &#123;</div>
 <div class="graphql-code-line ">title: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
 
 <div class="graphql-code-line ">firstName: <a href="/reference/graphql-api/shop/object-types#string">String</a></div>
@@ -1246,17 +1171,14 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>
 
 ## UpdateOrderInput
 
 <div class="graphql-code-block">
-<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateOrderInput</span>
- &#123;</div>
+<div class="graphql-code-line top-level">input <span class="graphql-code-identifier">UpdateOrderInput</span> &#123;</div>
 <div class="graphql-code-line ">customFields: <a href="/reference/graphql-api/shop/object-types#json">JSON</a></div>
 
 
 <div class="graphql-code-line top-level">&#125;</div>
-
 </div>

+ 28 - 56
docs/docs/reference/graphql-api/shop/mutations.md

@@ -15,8 +15,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Adds an item to the order. If custom fields are defined on the OrderLine entity, a third argument 'customFields' will be available.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">addItemToOrder(productVariantId: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!, quantity: <a href="/reference/graphql-api/shop/object-types#int">Int</a>!): <a href="/reference/graphql-api/shop/object-types#updateorderitemsresult">UpdateOrderItemsResult</a>!</div>
 
 
@@ -28,8 +27,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Add a Payment to the Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">addPaymentToOrder(input: <a href="/reference/graphql-api/shop/input-types#paymentinput">PaymentInput</a>!): <a href="/reference/graphql-api/shop/object-types#addpaymenttoorderresult">AddPaymentToOrderResult</a>!</div>
 
 
@@ -41,8 +39,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a third argument 'customFields' of type <code>OrderLineCustomFieldsInput</code> will be available.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">adjustOrderLine(orderLineId: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!, quantity: <a href="/reference/graphql-api/shop/object-types#int">Int</a>!): <a href="/reference/graphql-api/shop/object-types#updateorderitemsresult">UpdateOrderItemsResult</a>!</div>
 
 
@@ -54,8 +51,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Applies the given coupon code to the active Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">applyCouponCode(couponCode: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#applycouponcoderesult">ApplyCouponCodeResult</a>!</div>
 
 
@@ -67,8 +63,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Authenticates the user using a named authentication strategy</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">authenticate(input: <a href="/reference/graphql-api/shop/input-types#authenticationinput">AuthenticationInput</a>!, rememberMe: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a>): <a href="/reference/graphql-api/shop/object-types#authenticationresult">AuthenticationResult</a>!</div>
 
 
@@ -80,8 +75,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Create a new Customer Address</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">createCustomerAddress(input: <a href="/reference/graphql-api/shop/input-types#createaddressinput">CreateAddressInput</a>!): <a href="/reference/graphql-api/shop/object-types#address">Address</a>!</div>
 
 
@@ -93,8 +87,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Delete an existing Address</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">deleteCustomerAddress(id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!): <a href="/reference/graphql-api/shop/object-types#success">Success</a>!</div>
 
 
@@ -106,8 +99,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Authenticates the user using the native authentication strategy. This mutation is an alias for `authenticate(&#123; native: &#123; ... &#125;&#125;)`</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">login(username: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, password: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, rememberMe: <a href="/reference/graphql-api/shop/object-types#boolean">Boolean</a>): <a href="/reference/graphql-api/shop/object-types#nativeauthenticationresult">NativeAuthenticationResult</a>!</div>
 
 
@@ -119,8 +111,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">End the current authenticated session</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">logout: <a href="/reference/graphql-api/shop/object-types#success">Success</a>!</div>
 
 
@@ -132,8 +123,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Regenerate and send a verification token for a new Customer registration. Only applicable if <code>authOptions.requireVerification</code> is set to true.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">refreshCustomerVerification(emailAddress: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#refreshcustomerverificationresult">RefreshCustomerVerificationResult</a>!</div>
 
 
@@ -171,8 +161,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">3. The Customer _must_ be registered _with_ a password. No further action is needed - the Customer is able to authenticate immediately.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">registerCustomerAccount(input: <a href="/reference/graphql-api/shop/input-types#registercustomerinput">RegisterCustomerInput</a>!): <a href="/reference/graphql-api/shop/object-types#registercustomeraccountresult">RegisterCustomerAccountResult</a>!</div>
 
 
@@ -184,8 +173,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Remove all OrderLine from the Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">removeAllOrderLines: <a href="/reference/graphql-api/shop/object-types#removeorderitemsresult">RemoveOrderItemsResult</a>!</div>
 
 
@@ -197,8 +185,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Removes the given coupon code from the active Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">removeCouponCode(couponCode: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#order">Order</a></div>
 
 
@@ -210,8 +197,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Remove an OrderLine from the Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">removeOrderLine(orderLineId: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!): <a href="/reference/graphql-api/shop/object-types#removeorderitemsresult">RemoveOrderItemsResult</a>!</div>
 
 
@@ -223,8 +209,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Requests a password reset email to be sent</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">requestPasswordReset(emailAddress: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#requestpasswordresetresult">RequestPasswordResetResult</a></div>
 
 
@@ -242,8 +227,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">that verification token to the Customer, which is then used to verify the change of email address.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">requestUpdateCustomerEmailAddress(password: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, newEmailAddress: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#requestupdatecustomeremailaddressresult">RequestUpdateCustomerEmailAddressResult</a>!</div>
 
 
@@ -255,8 +239,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Resets a Customer's password based on the provided token</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">resetPassword(token: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, password: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#resetpasswordresult">ResetPasswordResult</a>!</div>
 
 
@@ -268,8 +251,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Set the Customer for the Order. Required only if the Customer is not currently logged in</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">setCustomerForOrder(input: <a href="/reference/graphql-api/shop/input-types#createcustomerinput">CreateCustomerInput</a>!): <a href="/reference/graphql-api/shop/object-types#setcustomerfororderresult">SetCustomerForOrderResult</a>!</div>
 
 
@@ -281,8 +263,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Sets the billing address for this order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">setOrderBillingAddress(input: <a href="/reference/graphql-api/shop/input-types#createaddressinput">CreateAddressInput</a>!): <a href="/reference/graphql-api/shop/object-types#activeorderresult">ActiveOrderResult</a>!</div>
 
 
@@ -294,8 +275,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Allows any custom fields to be set for the active order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">setOrderCustomFields(input: <a href="/reference/graphql-api/shop/input-types#updateorderinput">UpdateOrderInput</a>!): <a href="/reference/graphql-api/shop/object-types#activeorderresult">ActiveOrderResult</a>!</div>
 
 
@@ -307,8 +287,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Sets the shipping address for this order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">setOrderShippingAddress(input: <a href="/reference/graphql-api/shop/input-types#createaddressinput">CreateAddressInput</a>!): <a href="/reference/graphql-api/shop/object-types#activeorderresult">ActiveOrderResult</a>!</div>
 
 
@@ -326,8 +305,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">shipping method will apply to.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">setOrderShippingMethod(shippingMethodId: [<a href="/reference/graphql-api/shop/object-types#id">ID</a>!]!): <a href="/reference/graphql-api/shop/object-types#setordershippingmethodresult">SetOrderShippingMethodResult</a>!</div>
 
 
@@ -339,8 +317,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates`</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">transitionOrderToState(state: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#transitionordertostateresult">TransitionOrderToStateResult</a></div>
 
 
@@ -352,8 +329,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Update an existing Customer</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">updateCustomer(input: <a href="/reference/graphql-api/shop/input-types#updatecustomerinput">UpdateCustomerInput</a>!): <a href="/reference/graphql-api/shop/object-types#customer">Customer</a>!</div>
 
 
@@ -365,8 +341,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Update an existing Address</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">updateCustomerAddress(input: <a href="/reference/graphql-api/shop/input-types#updateaddressinput">UpdateAddressInput</a>!): <a href="/reference/graphql-api/shop/object-types#address">Address</a>!</div>
 
 
@@ -380,8 +355,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">`requestUpdateCustomerEmailAddress` mutation.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">updateCustomerEmailAddress(token: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#updatecustomeremailaddressresult">UpdateCustomerEmailAddressResult</a>!</div>
 
 
@@ -393,8 +367,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Update the password of the active Customer</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">updateCustomerPassword(currentPassword: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, newPassword: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#updatecustomerpasswordresult">UpdateCustomerPasswordResult</a>!</div>
 
 
@@ -412,8 +385,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">provided here.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Mutation</span> &#123;</div>
 <div class="graphql-code-line ">verifyCustomerAccount(token: <a href="/reference/graphql-api/shop/object-types#string">String</a>!, password: <a href="/reference/graphql-api/shop/object-types#string">String</a>): <a href="/reference/graphql-api/shop/object-types#verifycustomeraccountresult">VerifyCustomerAccountResult</a>!</div>
 
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 108 - 211
docs/docs/reference/graphql-api/shop/object-types.md


+ 17 - 34
docs/docs/reference/graphql-api/shop/queries.md

@@ -15,8 +15,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">The active Channel</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">activeChannel: <a href="/reference/graphql-api/shop/object-types#channel">Channel</a>!</div>
 
 
@@ -28,8 +27,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">The active Customer</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">activeCustomer: <a href="/reference/graphql-api/shop/object-types#customer">Customer</a></div>
 
 
@@ -45,8 +43,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">query will once again return `null`.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">activeOrder: <a href="/reference/graphql-api/shop/object-types#order">Order</a></div>
 
 
@@ -58,8 +55,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">An array of supported Countries</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">availableCountries: [<a href="/reference/graphql-api/shop/object-types#country">Country</a>!]!</div>
 
 
@@ -71,8 +67,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns a Collection either by its id or slug. If neither 'id' nor 'slug' is specified, an error will result.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">collection(id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>, slug: <a href="/reference/graphql-api/shop/object-types#string">String</a>): <a href="/reference/graphql-api/shop/object-types#collection">Collection</a></div>
 
 
@@ -84,8 +79,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">A list of Collections available to the shop</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">collections(options: <a href="/reference/graphql-api/shop/input-types#collectionlistoptions">CollectionListOptions</a>): <a href="/reference/graphql-api/shop/object-types#collectionlist">CollectionList</a>!</div>
 
 
@@ -97,8 +91,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns a list of payment methods and their eligibility based on the current active Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">eligiblePaymentMethods: [<a href="/reference/graphql-api/shop/object-types#paymentmethodquote">PaymentMethodQuote</a>!]!</div>
 
 
@@ -110,8 +103,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns a list of eligible shipping methods based on the current active Order</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">eligibleShippingMethods: [<a href="/reference/graphql-api/shop/object-types#shippingmethodquote">ShippingMethodQuote</a>!]!</div>
 
 
@@ -123,8 +115,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns a Facet by its id</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">facet(id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!): <a href="/reference/graphql-api/shop/object-types#facet">Facet</a></div>
 
 
@@ -136,8 +127,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">A list of Facets available to the shop</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">facets(options: <a href="/reference/graphql-api/shop/input-types#facetlistoptions">FacetListOptions</a>): <a href="/reference/graphql-api/shop/object-types#facetlist">FacetList</a>!</div>
 
 
@@ -149,8 +139,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns information about the current authenticated User</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">me: <a href="/reference/graphql-api/shop/object-types#currentuser">CurrentUser</a></div>
 
 
@@ -162,8 +151,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Returns the possible next states that the activeOrder can transition to</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">nextOrderStates: [<a href="/reference/graphql-api/shop/object-types#string">String</a>!]!</div>
 
 
@@ -177,8 +165,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">currently-authenticated User may be queried.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">order(id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>!): <a href="/reference/graphql-api/shop/object-types#order">Order</a></div>
 
 
@@ -196,8 +183,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <div class="graphql-code-line top-level comment">general anonymous access to Order data.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">orderByCode(code: <a href="/reference/graphql-api/shop/object-types#string">String</a>!): <a href="/reference/graphql-api/shop/object-types#order">Order</a></div>
 
 
@@ -209,8 +195,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a Product either by id or slug. If neither 'id' nor 'slug' is specified, an error will result.</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">product(id: <a href="/reference/graphql-api/shop/object-types#id">ID</a>, slug: <a href="/reference/graphql-api/shop/object-types#string">String</a>): <a href="/reference/graphql-api/shop/object-types#product">Product</a></div>
 
 
@@ -222,8 +207,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Get a list of Products</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">products(options: <a href="/reference/graphql-api/shop/input-types#productlistoptions">ProductListOptions</a>): <a href="/reference/graphql-api/shop/object-types#productlist">ProductList</a>!</div>
 
 
@@ -235,8 +219,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <div class="graphql-code-line top-level comment">"""</div>
 <div class="graphql-code-line top-level comment">Search Products based on the criteria set by the `SearchInput`</div>
 <div class="graphql-code-line top-level comment">"""</div>
-<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span>
- &#123;</div>
+<div class="graphql-code-line top-level">type <span class="graphql-code-identifier">Query</span> &#123;</div>
 <div class="graphql-code-line ">search(input: <a href="/reference/graphql-api/shop/input-types#searchinput">SearchInput</a>!): <a href="/reference/graphql-api/shop/object-types#searchresponse">SearchResponse</a>!</div>
 
 

+ 6 - 2
docs/docs/reference/index.mdx

@@ -4,13 +4,17 @@ title: "Vendure API Reference"
 
 This section contains reference documentation for the various APIs exposed by Vendure.
 
-:::info
+:::note
+
 All of the information in this section is generated directly from the Vendure source code. You can jump directly
 to the source file using the links below each heading.
 
-![Source links](./links.webp)
 :::
 
+![Source links](./links.webp)
+
+
+
 ### TypeScript API
 
 These are the classes, interfaces and other TypeScript object which are used when **writing plugins** or custom business logic.

+ 3 - 3
docs/docs/reference/typescript-api/_index.md

@@ -6,8 +6,8 @@ showtoc: false
 
 # Vendure TypeScript API Docs
 
-The Vendure TypeScript API is used when configuring the server (via the [`VendureConfig`]({{< ref "configuration" >}}#vendureconfig) object) and when writing plugins that extend the functionality of Vendure core.
+The Vendure TypeScript API is used when configuring the server (via the [`VendureConfig`](/reference/typescript-api/configuration/vendure-config/#vendureconfig) object) and when writing plugins that extend the functionality of Vendure core.
 
-{{% alert %}}
+:::note
 All documentation in this section is auto-generated from the TypeScript source of the Vendure server.
-{{< /alert >}}
+:::

+ 0 - 11
docs/docs/reference/typescript-api/assets/_index.md

@@ -1,11 +0,0 @@
----
-title: "Assets"
-weight: 10
-date: 2023-07-14T16:57:49.465Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# assets

+ 0 - 12
docs/docs/reference/typescript-api/auth/_index.md

@@ -1,12 +0,0 @@
----
-title: "Auth"
-weight: 10
-date: 2023-07-14T16:57:49.450Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-import DocCardList from '@theme/DocCardList';
-
-<DocCardList />

+ 29 - 29
docs/docs/reference/typescript-api/auth/external-authentication-service.md

@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/service/helpers/external-authentication/external-authentication.service.ts" sourceLine="24" packageName="@vendure/core" />
 
-This is a helper service which exposes methods related to looking up and creating Users based on an
+This is a helper service which exposes methods related to looking up and creating Users based on an
 external <a href='/reference/typescript-api/auth/authentication-strategy#authenticationstrategy'>AuthenticationStrategy</a>.
 
 ```ts title="Signature"
@@ -21,22 +21,22 @@ class ExternalAuthenticationService {
     constructor(connection: TransactionalConnection, roleService: RoleService, historyService: HistoryService, customerService: CustomerService, administratorService: AdministratorService, channelService: ChannelService)
     findCustomerUser(ctx: RequestContext, strategy: string, externalIdentifier: string, checkCurrentChannelOnly:  = true) => Promise<User | undefined>;
     findAdministratorUser(ctx: RequestContext, strategy: string, externalIdentifier: string) => Promise<User | undefined>;
-    createCustomerAndUser(ctx: RequestContext, config: {
-            strategy: string;
-            externalIdentifier: string;
-            verified: boolean;
-            emailAddress: string;
-            firstName?: string;
-            lastName?: string;
+    createCustomerAndUser(ctx: RequestContext, config: {
+            strategy: string;
+            externalIdentifier: string;
+            verified: boolean;
+            emailAddress: string;
+            firstName?: string;
+            lastName?: string;
         }) => Promise<User>;
-    createAdministratorAndUser(ctx: RequestContext, config: {
-            strategy: string;
-            externalIdentifier: string;
-            identifier: string;
-            emailAddress?: string;
-            firstName?: string;
-            lastName?: string;
-            roles: Role[];
+    createAdministratorAndUser(ctx: RequestContext, config: {
+            strategy: string;
+            externalIdentifier: string;
+            identifier: string;
+            emailAddress?: string;
+            firstName?: string;
+            lastName?: string;
+            roles: Role[];
         }) => ;
     findUser(ctx: RequestContext, strategy: string, externalIdentifier: string) => Promise<User | undefined>;
 }
@@ -53,32 +53,32 @@ class ExternalAuthenticationService {
 
 <MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, strategy: string, externalIdentifier: string, checkCurrentChannelOnly:  = true) => Promise&#60;<a href='/reference/typescript-api/entities/user#user'>User</a> | undefined&#62;`}   />
 
-Looks up a User based on their identifier from an external authentication
-provider, ensuring this User is associated with a Customer account.
-
-By default, only customers in the currently-active Channel will be checked.
-By passing `false` as the `checkCurrentChannelOnly` argument, _all_ channels
+Looks up a User based on their identifier from an external authentication
+provider, ensuring this User is associated with a Customer account.
+
+By default, only customers in the currently-active Channel will be checked.
+By passing `false` as the `checkCurrentChannelOnly` argument, _all_ channels
 will be checked.
 ### findAdministratorUser
 
 <MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, strategy: string, externalIdentifier: string) => Promise&#60;<a href='/reference/typescript-api/entities/user#user'>User</a> | undefined&#62;`}   />
 
-Looks up a User based on their identifier from an external authentication
+Looks up a User based on their identifier from an external authentication
 provider, ensuring this User is associated with an Administrator account.
 ### createCustomerAndUser
 
-<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, config: {
             strategy: string;
             externalIdentifier: string;
             verified: boolean;
             emailAddress: string;
             firstName?: string;
             lastName?: string;
         }) => Promise&#60;<a href='/reference/typescript-api/entities/user#user'>User</a>&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, config: {             strategy: string;             externalIdentifier: string;             verified: boolean;             emailAddress: string;             firstName?: string;             lastName?: string;         }) => Promise&#60;<a href='/reference/typescript-api/entities/user#user'>User</a>&#62;`}   />
 
-If a customer has been successfully authenticated by an external authentication provider, yet cannot
-be found using `findCustomerUser`, then we need to create a new User and
-Customer record in Vendure for that user. This method encapsulates that logic as well as additional
+If a customer has been successfully authenticated by an external authentication provider, yet cannot
+be found using `findCustomerUser`, then we need to create a new User and
+Customer record in Vendure for that user. This method encapsulates that logic as well as additional
 housekeeping such as adding a record to the Customer's history.
 ### createAdministratorAndUser
 
-<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, config: {
             strategy: string;
             externalIdentifier: string;
             identifier: string;
             emailAddress?: string;
             firstName?: string;
             lastName?: string;
             roles: <a href='/reference/typescript-api/entities/role#role'>Role</a>[];
         }) => `}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, config: {             strategy: string;             externalIdentifier: string;             identifier: string;             emailAddress?: string;             firstName?: string;             lastName?: string;             roles: <a href='/reference/typescript-api/entities/role#role'>Role</a>[];         }) => `}   />
 
-If an administrator has been successfully authenticated by an external authentication provider, yet cannot
-be found using `findAdministratorUser`, then we need to create a new User and
+If an administrator has been successfully authenticated by an external authentication provider, yet cannot
+be found using `findAdministratorUser`, then we need to create a new User and
 Administrator record in Vendure for that user.
 ### findUser
 

+ 1 - 1
docs/docs/reference/typescript-api/common/bootstrap.md

@@ -60,7 +60,7 @@ Parameters
 
 ### options
 
-<MemberInfo kind="parameter" type={`<a href='/reference/typescript-api/common/<a href='/reference/typescript-api/common/bootstrap#bootstrap'>bootstrap</a>#bootstrapoptions'>BootstrapOptions</a>`} />
+<MemberInfo kind="parameter" type={`<a href='/reference/typescript-api/common/bootstrap#bootstrapoptions'>BootstrapOptions</a>`} />
 
 
 

+ 1 - 1
docs/docs/reference/typescript-api/common/permission.md

@@ -11,7 +11,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 ## Permission
 
-<GenerationInfo sourceFile="packages/common/src/generated-types.ts" sourceLine="4326" packageName="@vendure/common" />
+<GenerationInfo sourceFile="packages/common/src/generated-types.ts" sourceLine="4330" packageName="@vendure/common" />
 
 Permissions for administrators and customers. Used to control access to
 GraphQL resolvers via the <a href='/reference/typescript-api/request/allow-decorator#allow'>Allow</a> decorator.

+ 9 - 9
docs/docs/reference/typescript-api/configurable-operation-def/default-form-config-hash.md

@@ -29,15 +29,15 @@ type DefaultFormConfigHash = {
     'product-selector-form-input': Record<string, never>;
     'relation-form-input': Record<string, never>;
     'rich-text-form-input': Record<string, never>;
-    'select-form-input': {
-        options?: Array<{ value: string; label?: Array<Omit<LocalizedString, '__typename'>> }>;
+    'select-form-input': {
+        options?: Array<{ value: string; label?: Array<Omit<LocalizedString, '__typename'>> }>;
     };
     'text-form-input': { prefix?: string; suffix?: string };
-    'textarea-form-input': {
-        spellcheck?: boolean;
+    'textarea-form-input': {
+        spellcheck?: boolean;
     };
-    'product-multi-form-input': {
-        selectionMode?: 'product' | 'variant';
+    'product-multi-form-input': {
+        selectionMode?: 'product' | 'variant';
     };
     'combination-mode-form-input': Record<string, never>;
 }
@@ -107,7 +107,7 @@ type DefaultFormConfigHash = {
 
 ### 'select-form-input'
 
-<MemberInfo kind="property" type={`{
         options?: Array&#60;{ value: string; label?: Array&#60;Omit&#60;LocalizedString, '__typename'&#62;&#62; }&#62;;
     }`}   />
+<MemberInfo kind="property" type={`{         options?: Array&#60;{ value: string; label?: Array&#60;Omit&#60;LocalizedString, '__typename'&#62;&#62; }&#62;;     }`}   />
 
 
 ### 'text-form-input'
@@ -117,12 +117,12 @@ type DefaultFormConfigHash = {
 
 ### 'textarea-form-input'
 
-<MemberInfo kind="property" type={`{
         spellcheck?: boolean;
     }`}   />
+<MemberInfo kind="property" type={`{         spellcheck?: boolean;     }`}   />
 
 
 ### 'product-multi-form-input'
 
-<MemberInfo kind="property" type={`{
         selectionMode?: 'product' | 'variant';
     }`}   />
+<MemberInfo kind="property" type={`{         selectionMode?: 'product' | 'variant';     }`}   />
 
 
 ### 'combination-mode-form-input'

+ 0 - 11
docs/docs/reference/typescript-api/configuration/_index.md

@@ -1,11 +0,0 @@
----
-title: "Configuration"
-weight: 10
-date: 2023-07-14T16:57:49.490Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# configuration

+ 13 - 13
docs/docs/reference/typescript-api/configuration/entity-duplicator.md

@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/config/entity/entity-duplicator.ts" sourceLine="158" packageName="@vendure/core" since="2.2.0" />
 
-An EntityDuplicator is used to define the logic for duplicating entities when the `duplicateEntity` mutation is called.
+An EntityDuplicator is used to define the logic for duplicating entities when the `duplicateEntity` mutation is called.
 This allows you to add support for duplication of both core and custom entities.
 
 *Example*
@@ -102,11 +102,11 @@ export const config: VendureConfig = {
 ```ts title="Signature"
 class EntityDuplicator<T extends ConfigArgs = ConfigArgs> extends ConfigurableOperationDef<T> {
     constructor(config: EntityDuplicatorConfig<T>)
-    duplicate(input: {
-        ctx: RequestContext;
-        entityName: string;
-        id: ID;
-        args: ConfigArg[];
+    duplicate(input: {
+        ctx: RequestContext;
+        entityName: string;
+        id: ID;
+        args: ConfigArg[];
     }) => Promise<VendureEntity>;
 }
 ```
@@ -123,7 +123,7 @@ class EntityDuplicator<T extends ConfigArgs = ConfigArgs> extends ConfigurableOp
 
 ### duplicate
 
-<MemberInfo kind="method" type={`(input: {
         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>;
         entityName: string;
         id: <a href='/reference/typescript-api/common/id#id'>ID</a>;
         args: ConfigArg[];
     }) => Promise&#60;<a href='/reference/typescript-api/entities/vendure-entity#vendureentity'>VendureEntity</a>&#62;`}   />
+<MemberInfo kind="method" type={`(input: {         ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>;         entityName: string;         id: <a href='/reference/typescript-api/common/id#id'>ID</a>;         args: ConfigArg[];     }) => Promise&#60;<a href='/reference/typescript-api/entities/vendure-entity#vendureentity'>VendureEntity</a>&#62;`}   />
 
 
 
@@ -138,11 +138,11 @@ class EntityDuplicator<T extends ConfigArgs = ConfigArgs> extends ConfigurableOp
 A function which performs the duplication of an entity.
 
 ```ts title="Signature"
-type DuplicateEntityFn<T extends ConfigArgs> = (input: {
-    ctx: RequestContext;
-    entityName: string;
-    id: ID;
-    args: ConfigArgValues<T>;
+type DuplicateEntityFn<T extends ConfigArgs> = (input: {
+    ctx: RequestContext;
+    entityName: string;
+    id: ID;
+    args: ConfigArgValues<T>;
 }) => Promise<VendureEntity>
 ```
 
@@ -170,7 +170,7 @@ interface EntityDuplicatorConfig<T extends ConfigArgs> extends ConfigurableOpera
 
 <MemberInfo kind="property" type={`Array&#60;<a href='/reference/typescript-api/common/permission#permission'>Permission</a> | string&#62; | <a href='/reference/typescript-api/common/permission#permission'>Permission</a> | string`}   />
 
-The permissions required in order to execute this duplicator. If an array is passed,
+The permissions required in order to execute this duplicator. If an array is passed,
 then the administrator must have at least one of the permissions in the array.
 ### forEntities
 

+ 1 - 1
docs/docs/reference/typescript-api/custom-fields/custom-field-type.md

@@ -28,7 +28,7 @@ boolean      | tinyint (m), bool (p), boolean (s)    | Boolean
 datetime     | datetime (m,s), timestamp (p)         | DateTime
 relation     | many-to-one / many-to-many relation   | As specified in config
 
-Additionally, the CustomFieldType also dictates which [configuration options](/reference/typescript-api/custom-fields/#configuration-options)
+Additionally, the CustomFieldType also dictates which [configuration options](/reference/typescript-api/custom-fields)
 are available for that custom field.
 
 ```ts title="Signature"

+ 1 - 2
docs/docs/reference/typescript-api/custom-fields/index.md

@@ -13,8 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/config/custom-field/custom-field-types.ts" sourceLine="159" packageName="@vendure/core" />
 
-Most entities can have additional fields added to them by defining an array of <a href='/reference/typescript-api/custom-fields/custom-field-config#customfieldconfig'>CustomFieldConfig</a>
-objects on against the corresponding key.
+Most entities can have additional fields added to them by defining an array of <a href='/reference/typescript-api/custom-fields/custom-field-config#customfieldconfig'>CustomFieldConfig</a>objects on against the corresponding key.
 
 *Example*
 

+ 0 - 11
docs/docs/reference/typescript-api/data-access/_index.md

@@ -1,11 +0,0 @@
----
-title: "Data Access"
-weight: 10
-date: 2023-07-14T16:57:49.418Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# data-access

+ 42 - 0
docs/docs/reference/typescript-api/data-access/calculated-property-subscriber.md

@@ -0,0 +1,42 @@
+---
+title: "CalculatedPropertySubscriber"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## CalculatedPropertySubscriber
+
+<GenerationInfo sourceFile="packages/core/src/entity/subscribers.ts" sourceLine="14" packageName="@vendure/core" />
+
+
+
+```ts title="Signature"
+class CalculatedPropertySubscriber implements EntitySubscriberInterface {
+    afterLoad(event: any) => ;
+    afterInsert(event: InsertEvent<any>) => Promise<any> | void;
+}
+```
+* Implements: <code>EntitySubscriberInterface</code>
+
+
+
+<div className="members-wrapper">
+
+### afterLoad
+
+<MemberInfo kind="method" type={`(event: any) => `}   />
+
+
+### afterInsert
+
+<MemberInfo kind="method" type={`(event: InsertEvent&#60;any&#62;) => Promise&#60;any&#62; | void`}   />
+
+
+
+
+</div>

+ 1 - 2
docs/docs/reference/typescript-api/data-access/calculated.md

@@ -14,8 +14,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <GenerationInfo sourceFile="packages/core/src/common/calculated-decorator.ts" sourceLine="43" packageName="@vendure/core" />
 
 Used to define calculated entity getters. The decorator simply attaches an array of "calculated"
-property names to the entity's prototype. This array is then used by the {@link CalculatedPropertySubscriber}
-to transfer the getter function from the prototype to the entity instance.
+property names to the entity's prototype. This array is then used by the <a href='/reference/typescript-api/data-access/calculated-property-subscriber#calculatedpropertysubscriber'>CalculatedPropertySubscriber</a>to transfer the getter function from the prototype to the entity instance.
 
 ```ts title="Signature"
 function Calculated(queryInstruction?: CalculatedColumnQueryInstruction): MethodDecorator

+ 3 - 3
docs/docs/reference/typescript-api/default-search-plugin/default-search-plugin-init-options.md

@@ -46,10 +46,10 @@ and also performs optimizations to minimize the amount of work that needs to be
 the worker.
 ### searchStrategy
 
-<MemberInfo kind="property" type={`SearchStrategy`} default="undefined"  since="1.6.0"  />
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/default-search-plugin/search-strategy#searchstrategy'>SearchStrategy</a>`} default="undefined"  since="1.6.0"  />
 
-Set a custom search strategy that implements {@link SearchStrategy} or extends an existing search strategy
-such as {@link MysqlSearchStrategy}, {@link PostgresSearchStrategy} or {@link SqliteSearchStrategy}.
+Set a custom search strategy that implements <a href='/reference/typescript-api/default-search-plugin/search-strategy#searchstrategy'>SearchStrategy</a> or extends an existing search strategy
+such as <a href='/reference/typescript-api/default-search-plugin/mysql-search-strategy#mysqlsearchstrategy'>MysqlSearchStrategy</a>, <a href='/reference/typescript-api/default-search-plugin/postgres-search-strategy#postgressearchstrategy'>PostgresSearchStrategy</a> or <a href='/reference/typescript-api/default-search-plugin/sqlite-search-strategy#sqlitesearchstrategy'>SqliteSearchStrategy</a>.
 
 *Example*
 

+ 60 - 0
docs/docs/reference/typescript-api/default-search-plugin/mysql-search-strategy.md

@@ -0,0 +1,60 @@
+---
+title: "MysqlSearchStrategy"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## MysqlSearchStrategy
+
+<GenerationInfo sourceFile="packages/core/src/plugin/default-search-plugin/search-strategy/mysql-search-strategy.ts" sourceLine="28" packageName="@vendure/core" />
+
+A weighted fulltext search for MySQL / MariaDB.
+
+```ts title="Signature"
+class MysqlSearchStrategy implements SearchStrategy {
+    init(injector: Injector) => ;
+    getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<SearchResult[]>;
+    getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<number>;
+}
+```
+* Implements: <code><a href='/reference/typescript-api/default-search-plugin/search-strategy#searchstrategy'>SearchStrategy</a></code>
+
+
+
+<div className="members-wrapper">
+
+### init
+
+<MemberInfo kind="method" type={`(injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>) => `}   />
+
+
+### getFacetValueIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getCollectionIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getSearchResults
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;SearchResult[]&#62;`}   />
+
+
+### getTotalCount
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;number&#62;`}   />
+
+
+
+
+</div>

+ 60 - 0
docs/docs/reference/typescript-api/default-search-plugin/postgres-search-strategy.md

@@ -0,0 +1,60 @@
+---
+title: "PostgresSearchStrategy"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## PostgresSearchStrategy
+
+<GenerationInfo sourceFile="packages/core/src/plugin/default-search-plugin/search-strategy/postgres-search-strategy.ts" sourceLine="28" packageName="@vendure/core" />
+
+A weighted fulltext search for PostgeSQL.
+
+```ts title="Signature"
+class PostgresSearchStrategy implements SearchStrategy {
+    init(injector: Injector) => ;
+    getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<SearchResult[]>;
+    getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<number>;
+}
+```
+* Implements: <code><a href='/reference/typescript-api/default-search-plugin/search-strategy#searchstrategy'>SearchStrategy</a></code>
+
+
+
+<div className="members-wrapper">
+
+### init
+
+<MemberInfo kind="method" type={`(injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>) => `}   />
+
+
+### getFacetValueIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getCollectionIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getSearchResults
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;SearchResult[]&#62;`}   />
+
+
+### getTotalCount
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;number&#62;`}   />
+
+
+
+
+</div>

+ 62 - 0
docs/docs/reference/typescript-api/default-search-plugin/search-strategy.md

@@ -0,0 +1,62 @@
+---
+title: "SearchStrategy"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## SearchStrategy
+
+<GenerationInfo sourceFile="packages/core/src/plugin/default-search-plugin/search-strategy/search-strategy.ts" sourceLine="21" packageName="@vendure/core" />
+
+This interface defines the contract that any database-specific search implementations
+should follow.
+
+:::info
+
+This is configured via the `searchStrategy` property of
+the <a href='/reference/typescript-api/default-search-plugin/default-search-plugin-init-options#defaultsearchplugininitoptions'>DefaultSearchPluginInitOptions</a>.
+
+:::
+
+```ts title="Signature"
+interface SearchStrategy extends InjectableStrategy {
+    getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<SearchResult[]>;
+    getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<number>;
+    getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
+    getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
+}
+```
+* Extends: <code><a href='/reference/typescript-api/common/injectable-strategy#injectablestrategy'>InjectableStrategy</a></code>
+
+
+
+<div className="members-wrapper">
+
+### getSearchResults
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;SearchResult[]&#62;`}   />
+
+
+### getTotalCount
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;number&#62;`}   />
+
+
+### getFacetValueIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getCollectionIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+
+
+</div>

+ 61 - 0
docs/docs/reference/typescript-api/default-search-plugin/sqlite-search-strategy.md

@@ -0,0 +1,61 @@
+---
+title: "SqliteSearchStrategy"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## SqliteSearchStrategy
+
+<GenerationInfo sourceFile="packages/core/src/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.ts" sourceLine="30" packageName="@vendure/core" />
+
+A rather naive search for SQLite / SQL.js. Rather than proper
+full-text searching, it uses a weighted `LIKE "%term%"` operator instead.
+
+```ts title="Signature"
+class SqliteSearchStrategy implements SearchStrategy {
+    init(injector: Injector) => ;
+    getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<Map<ID, number>>;
+    getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<SearchResult[]>;
+    getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean) => Promise<number>;
+}
+```
+* Implements: <code><a href='/reference/typescript-api/default-search-plugin/search-strategy#searchstrategy'>SearchStrategy</a></code>
+
+
+
+<div className="members-wrapper">
+
+### init
+
+<MemberInfo kind="method" type={`(injector: <a href='/reference/typescript-api/common/injector#injector'>Injector</a>) => `}   />
+
+
+### getFacetValueIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getCollectionIds
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;Map&#60;<a href='/reference/typescript-api/common/id#id'>ID</a>, number&#62;&#62;`}   />
+
+
+### getSearchResults
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;SearchResult[]&#62;`}   />
+
+
+### getTotalCount
+
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, input: SearchInput, enabledOnly: boolean) => Promise&#60;number&#62;`}   />
+
+
+
+
+</div>

+ 0 - 11
docs/docs/reference/typescript-api/entities/_index.md

@@ -1,11 +0,0 @@
----
-title: "Entities"
-weight: 10
-date: 2023-07-14T16:57:49.454Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# entities

+ 70 - 0
docs/docs/reference/typescript-api/entities/global-settings.md

@@ -0,0 +1,70 @@
+---
+title: "GlobalSettings"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## GlobalSettings
+
+<GenerationInfo sourceFile="packages/core/src/entity/global-settings/global-settings.entity.ts" sourceLine="14" packageName="@vendure/core" />
+
+Stores global settings for the whole application
+
+```ts title="Signature"
+class GlobalSettings extends VendureEntity implements HasCustomFields {
+    constructor(input?: DeepPartial<GlobalSettings>)
+    @Column('simple-array')
+    availableLanguages: LanguageCode[];
+    @Column({ default: true })
+    trackInventory: boolean;
+    @Column({ default: 0 })
+    outOfStockThreshold: number;
+    @Column(type => CustomGlobalSettingsFields)
+    customFields: CustomGlobalSettingsFields;
+}
+```
+* Extends: <code><a href='/reference/typescript-api/entities/vendure-entity#vendureentity'>VendureEntity</a></code>
+
+
+* Implements: <code>HasCustomFields</code>
+
+
+
+<div className="members-wrapper">
+
+### constructor
+
+<MemberInfo kind="method" type={`(input?: DeepPartial&#60;<a href='/reference/typescript-api/entities/global-settings#globalsettings'>GlobalSettings</a>&#62;) => GlobalSettings`}   />
+
+
+### availableLanguages
+
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>[]`}   />
+
+
+### trackInventory
+
+<MemberInfo kind="property" type={`boolean`}   />
+
+Specifies the default value for inventory tracking for ProductVariants.
+Can be overridden per ProductVariant, but this value determines the default
+if not otherwise specified.
+### outOfStockThreshold
+
+<MemberInfo kind="property" type={`number`}   />
+
+Specifies the value of stockOnHand at which a given ProductVariant is considered
+out of stock.
+### customFields
+
+<MemberInfo kind="property" type={`CustomGlobalSettingsFields`}   />
+
+
+
+
+</div>

+ 2 - 2
docs/docs/reference/typescript-api/entities/order-line-reference.md

@@ -140,7 +140,7 @@ class OrderModificationLine extends OrderLineReference {
 
 <GenerationInfo sourceFile="packages/core/src/entity/order-line-reference/refund-line.entity.ts" sourceLine="16" packageName="@vendure/core" />
 
-This entity represents a line from an <a href='/reference/typescript-api/entities/order#order'>Order</a> which has been refunded by a {@link Refund}.
+This entity represents a line from an <a href='/reference/typescript-api/entities/order#order'>Order</a> which has been refunded by a <a href='/reference/typescript-api/entities/refund#refund'>Refund</a>.
 
 ```ts title="Signature"
 class RefundLine extends OrderLineReference {
@@ -165,7 +165,7 @@ class RefundLine extends OrderLineReference {
 
 ### refund
 
-<MemberInfo kind="property" type={`Refund`}   />
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/entities/refund#refund'>Refund</a>`}   />
 
 
 ### refundId

+ 1 - 1
docs/docs/reference/typescript-api/entities/order-modification.md

@@ -84,7 +84,7 @@ class OrderModification extends VendureEntity {
 
 ### refund
 
-<MemberInfo kind="property" type={`Refund`}   />
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/entities/refund#refund'>Refund</a>`}   />
 
 
 ### shippingAddressChange

+ 1 - 1
docs/docs/reference/typescript-api/entities/payment.md

@@ -82,7 +82,7 @@ class Payment extends VendureEntity {
 
 ### refunds
 
-<MemberInfo kind="property" type={`Refund[]`}   />
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/entities/refund#refund'>Refund</a>[]`}   />
 
 
 

+ 30 - 30
docs/docs/reference/typescript-api/entities/promotion.md

@@ -13,42 +13,42 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/entity/promotion/promotion.entity.ts" sourceLine="56" packageName="@vendure/core" />
 
-A Promotion is used to define a set of conditions under which promotions actions (typically discounts)
-will be applied to an Order.
-
-Each assigned <a href='/reference/typescript-api/promotions/promotion-condition#promotioncondition'>PromotionCondition</a> is checked against the Order, and if they all return `true`,
+A Promotion is used to define a set of conditions under which promotions actions (typically discounts)
+will be applied to an Order.
+
+Each assigned <a href='/reference/typescript-api/promotions/promotion-condition#promotioncondition'>PromotionCondition</a> is checked against the Order, and if they all return `true`,
 then each assign <a href='/reference/typescript-api/promotions/promotion-action#promotionitemaction'>PromotionItemAction</a> / <a href='/reference/typescript-api/promotions/promotion-action#promotionorderaction'>PromotionOrderAction</a> is applied to the Order.
 
 ```ts title="Signature"
 class Promotion extends AdjustmentSource implements ChannelAware, SoftDeletable, HasCustomFields, Translatable {
     type = AdjustmentType.PROMOTION;
-    constructor(input?: DeepPartial<Promotion> & {
-            promotionConditions?: Array<PromotionCondition<any>>;
-            promotionActions?: Array<PromotionAction<any>>;
+    constructor(input?: DeepPartial<Promotion> & {
+            promotionConditions?: Array<PromotionCondition<any>>;
+            promotionActions?: Array<PromotionAction<any>>;
         })
-    @Column({ type: Date, nullable: true })
+    @Column({ type: Date, nullable: true })
     deletedAt: Date | null;
-    @Column({ type: Date, nullable: true })
+    @Column({ type: Date, nullable: true })
     startsAt: Date | null;
-    @Column({ type: Date, nullable: true })
+    @Column({ type: Date, nullable: true })
     endsAt: Date | null;
-    @Column({ nullable: true })
+    @Column({ nullable: true })
     couponCode: string;
-    @Column({ nullable: true })
+    @Column({ nullable: true })
     perCustomerUsageLimit: number;
-    @Column({ nullable: true })
+    @Column({ nullable: true })
     usageLimit: number;
     name: LocaleString;
     description: LocaleString;
-    @OneToMany(type => PromotionTranslation, translation => translation.base, { eager: true })
+    @OneToMany(type => PromotionTranslation, translation => translation.base, { eager: true })
     translations: Array<Translation<Promotion>>;
     @Column() enabled: boolean;
-    @ManyToMany(type => Channel, channel => channel.promotions)
-    @JoinTable()
+    @ManyToMany(type => Channel, channel => channel.promotions)
+    @JoinTable()
     channels: Channel[];
-    @ManyToMany(type => Order, order => order.promotions)
+    @ManyToMany(type => Order, order => order.promotions)
     orders: Order[];
-    @Column(type => CustomPromotionFields)
+    @Column(type => CustomPromotionFields)
     customFields: CustomPromotionFields;
     @Column('simple-json') conditions: ConfigurableOperation[];
     @Column('simple-json') actions: ConfigurableOperation[];
@@ -75,7 +75,7 @@ class Promotion extends AdjustmentSource implements ChannelAware, SoftDeletable,
 
 ### constructor
 
-<MemberInfo kind="method" type={`(input?: DeepPartial&#60;<a href='/reference/typescript-api/entities/promotion#promotion'>Promotion</a>&#62; &#38; {
             promotionConditions?: Array&#60;<a href='/reference/typescript-api/promotions/promotion-condition#promotioncondition'>PromotionCondition</a>&#60;any&#62;&#62;;
             promotionActions?: Array&#60;<a href='/reference/typescript-api/promotions/promotion-action#promotionaction'>PromotionAction</a>&#60;any&#62;&#62;;
         }) => Promotion`}   />
+<MemberInfo kind="method" type={`(input?: DeepPartial&#60;<a href='/reference/typescript-api/entities/promotion#promotion'>Promotion</a>&#62; &#38; {             promotionConditions?: Array&#60;<a href='/reference/typescript-api/promotions/promotion-condition#promotioncondition'>PromotionCondition</a>&#60;any&#62;&#62;;             promotionActions?: Array&#60;<a href='/reference/typescript-api/promotions/promotion-action#promotionaction'>PromotionAction</a>&#60;any&#62;&#62;;         }) => Promotion`}   />
 
 
 ### deletedAt
@@ -157,17 +157,17 @@ class Promotion extends AdjustmentSource implements ChannelAware, SoftDeletable,
 
 <MemberInfo kind="property" type={`number`}   />
 
-The PriorityScore is used to determine the sequence in which multiple promotions are tested
-on a given order. A higher number moves the Promotion towards the end of the sequence.
-
-The score is derived from the sum of the priorityValues of the PromotionConditions and
-PromotionActions comprising this Promotion.
-
-An example illustrating the need for a priority is this:
-
-
-Consider 2 Promotions, 1) buy 1 get one free and 2) 10% off when order total is over $50.
-If Promotion 2 is evaluated prior to Promotion 1, then it can trigger the 10% discount even
+The PriorityScore is used to determine the sequence in which multiple promotions are tested
+on a given order. A higher number moves the Promotion towards the end of the sequence.
+
+The score is derived from the sum of the priorityValues of the PromotionConditions and
+PromotionActions comprising this Promotion.
+
+An example illustrating the need for a priority is this:
+
+
+Consider 2 Promotions, 1) buy 1 get one free and 2) 10% off when order total is over $50.
+If Promotion 2 is evaluated prior to Promotion 1, then it can trigger the 10% discount even
 if the subsequent application of Promotion 1 brings the order total down to way below $50.
 ### apply
 

+ 114 - 0
docs/docs/reference/typescript-api/entities/refund.md

@@ -0,0 +1,114 @@
+---
+title: "Refund"
+isDefaultIndex: false
+generated: true
+---
+<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
+import MemberInfo from '@site/src/components/MemberInfo';
+import GenerationInfo from '@site/src/components/GenerationInfo';
+import MemberDescription from '@site/src/components/MemberDescription';
+
+
+## Refund
+
+<GenerationInfo sourceFile="packages/core/src/entity/refund/refund.entity.ts" sourceLine="17" packageName="@vendure/core" />
+
+A refund the belongs to an order
+
+```ts title="Signature"
+class Refund extends VendureEntity {
+    constructor(input?: DeepPartial<Refund>)
+    @Money() items: number;
+    @Money() shipping: number;
+    @Money() adjustment: number;
+    @Money() total: number;
+    @Column() method: string;
+    @Column({ nullable: true }) reason: string;
+    @Column('varchar') state: RefundState;
+    @Column({ nullable: true }) transactionId: string;
+    @OneToMany(type => RefundLine, line => line.refund)
+    @JoinTable()
+    lines: RefundLine[];
+    @Index()
+    @ManyToOne(type => Payment, payment => payment.refunds)
+    @JoinColumn()
+    payment: Payment;
+    @EntityId()
+    paymentId: ID;
+    @Column('simple-json') metadata: PaymentMetadata;
+}
+```
+* Extends: <code><a href='/reference/typescript-api/entities/vendure-entity#vendureentity'>VendureEntity</a></code>
+
+
+
+<div className="members-wrapper">
+
+### constructor
+
+<MemberInfo kind="method" type={`(input?: DeepPartial&#60;<a href='/reference/typescript-api/entities/refund#refund'>Refund</a>&#62;) => Refund`}   />
+
+
+### items
+
+<MemberInfo kind="property" type={`number`}   />
+
+
+### shipping
+
+<MemberInfo kind="property" type={`number`}   />
+
+
+### adjustment
+
+<MemberInfo kind="property" type={`number`}   />
+
+
+### total
+
+<MemberInfo kind="property" type={`number`}   />
+
+
+### method
+
+<MemberInfo kind="property" type={`string`}   />
+
+
+### reason
+
+<MemberInfo kind="property" type={`string`}   />
+
+
+### state
+
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a>`}   />
+
+
+### transactionId
+
+<MemberInfo kind="property" type={`string`}   />
+
+
+### lines
+
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/entities/order-line-reference#refundline'>RefundLine</a>[]`}   />
+
+
+### payment
+
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/entities/payment#payment'>Payment</a>`}   />
+
+
+### paymentId
+
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/common/id#id'>ID</a>`}   />
+
+
+### metadata
+
+<MemberInfo kind="property" type={`PaymentMetadata`}   />
+
+
+
+
+</div>

+ 0 - 11
docs/docs/reference/typescript-api/errors/_index.md

@@ -1,11 +0,0 @@
----
-title: "Errors"
-weight: 10
-date: 2023-07-14T16:57:49.435Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# errors

+ 0 - 11
docs/docs/reference/typescript-api/events/_index.md

@@ -1,11 +0,0 @@
----
-title: "Events"
-weight: 10
-date: 2023-07-14T16:57:50.050Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# events

+ 8 - 14
docs/docs/reference/typescript-api/events/event-types.md

@@ -585,7 +585,7 @@ class FulfillmentStateTransitionEvent extends VendureEvent {
 
 <GenerationInfo sourceFile="packages/core/src/event-bus/events/global-settings-event.ts" sourceLine="16" packageName="@vendure/core" since="1.4" />
 
-This event is fired whenever a {@link GlobalSettings} is added. The type is always `updated`, because it's
+This event is fired whenever a <a href='/reference/typescript-api/entities/global-settings#globalsettings'>GlobalSettings</a> is added. The type is always `updated`, because it's
 only created once and never deleted.
 
 ```ts title="Signature"
@@ -593,7 +593,7 @@ class GlobalSettingsEvent extends VendureEntityEvent<GlobalSettings, UpdateGloba
     constructor(ctx: RequestContext, entity: GlobalSettings, input?: UpdateGlobalSettingsInput)
 }
 ```
-* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;GlobalSettings, UpdateGlobalSettingsInput&#62;</code>
+* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;<a href='/reference/typescript-api/entities/global-settings#globalsettings'>GlobalSettings</a>, UpdateGlobalSettingsInput&#62;</code>
 
 
 
@@ -601,7 +601,7 @@ class GlobalSettingsEvent extends VendureEntityEvent<GlobalSettings, UpdateGloba
 
 ### constructor
 
-<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, entity: GlobalSettings, input?: UpdateGlobalSettingsInput) => GlobalSettingsEvent`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, entity: <a href='/reference/typescript-api/entities/global-settings#globalsettings'>GlobalSettings</a>, input?: UpdateGlobalSettingsInput) => GlobalSettingsEvent`}   />
 
 
 
@@ -702,7 +702,7 @@ class IdentifierChangeRequestEvent extends VendureEvent {
 
 <GenerationInfo sourceFile="packages/core/src/event-bus/events/initializer-event.ts" sourceLine="11" packageName="@vendure/core" since="1.7.0" />
 
-This event is fired when vendure finished initializing its services inside the {@code InitializerService}
+This event is fired when vendure finished initializing its services inside the <a href='/reference/typescript-api/services/initializer-service#initializerservice'>InitializerService</a>
 
 ```ts title="Signature"
 class InitializerEvent extends VendureEvent {
@@ -1132,10 +1132,7 @@ class ProductOptionGroupEvent extends VendureEntityEvent<
     constructor(ctx: RequestContext, entity: ProductOptionGroup, type: 'created' | 'updated' | 'deleted', input?: ProductOptionGroupInputTypes)
 }
 ```
-* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;
-     <a href='/reference/typescript-api/entities/product-option-group#productoptiongroup'>ProductOptionGroup</a>,
-     ProductOptionGroupInputTypes
- &#62;</code>
+* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;     <a href='/reference/typescript-api/entities/product-option-group#productoptiongroup'>ProductOptionGroup</a>,     ProductOptionGroupInputTypes &#62;</code>
 
 
 
@@ -1226,10 +1223,7 @@ class ProductVariantPriceEvent extends VendureEntityEvent<
     constructor(ctx: RequestContext, entity: ProductVariantPrice[], type: 'created' | 'updated' | 'deleted', input?: ProductVariantInputTypes)
 }
 ```
-* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;
-     <a href='/reference/typescript-api/entities/product-variant-price#productvariantprice'>ProductVariantPrice</a>[],
-     ProductVariantInputTypes
- &#62;</code>
+* Extends: <code><a href='/reference/typescript-api/events/vendure-entity-event#vendureentityevent'>VendureEntityEvent</a>&#60;     <a href='/reference/typescript-api/entities/product-variant-price#productvariantprice'>ProductVariantPrice</a>[],     ProductVariantInputTypes &#62;</code>
 
 
 
@@ -1304,7 +1298,7 @@ class ProvinceEvent extends VendureEntityEvent<Province, ProvinceInputTypes> {
 
 <GenerationInfo sourceFile="packages/core/src/event-bus/events/refund-state-transition-event.ts" sourceLine="14" packageName="@vendure/core" />
 
-This event is fired whenever a {@link Refund} transitions from one <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a> to another.
+This event is fired whenever a <a href='/reference/typescript-api/entities/refund#refund'>Refund</a> transitions from one <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a> to another.
 
 ```ts title="Signature"
 class RefundStateTransitionEvent extends VendureEvent {
@@ -1319,7 +1313,7 @@ class RefundStateTransitionEvent extends VendureEvent {
 
 ### constructor
 
-<MemberInfo kind="method" type={`(fromState: <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a>, toState: <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a>, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, refund: Refund, order: <a href='/reference/typescript-api/entities/order#order'>Order</a>) => RefundStateTransitionEvent`}   />
+<MemberInfo kind="method" type={`(fromState: <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a>, toState: <a href='/reference/typescript-api/payment/refund-state#refundstate'>RefundState</a>, ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, refund: <a href='/reference/typescript-api/entities/refund#refund'>Refund</a>, order: <a href='/reference/typescript-api/entities/order#order'>Order</a>) => RefundStateTransitionEvent`}   />
 
 
 

+ 0 - 11
docs/docs/reference/typescript-api/fulfillment/_index.md

@@ -1,11 +0,0 @@
----
-title: "Fulfillment"
-weight: 10
-date: 2023-07-14T16:57:49.549Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# fulfillment

+ 1 - 1
docs/docs/reference/typescript-api/fulfillment/fulfillment-handler.md

@@ -139,7 +139,7 @@ result will be returned.
 <MemberInfo kind="property" type={`<a href='/reference/typescript-api/state-machine/state-machine-config#ontransitionstartfn'>OnTransitionStartFn</a>&#60;<a href='/reference/typescript-api/fulfillment/fulfillment-state#fulfillmentstate'>FulfillmentState</a>, <a href='/reference/typescript-api/fulfillment/fulfillment-transition-data#fulfillmenttransitiondata'>FulfillmentTransitionData</a>&#62;`}   />
 
 This allows the handler to intercept state transitions of the created Fulfillment. This works much in the
-same way as the {@link CustomFulfillmentProcess} `onTransitionStart` method (i.e. returning `false` or
+same way as the <a href='/reference/typescript-api/fulfillment/fulfillment-process#fulfillmentprocess'>FulfillmentProcess</a> `onTransitionStart` method (i.e. returning `false` or
 `string` will be interpreted as an error and prevent the state transition), except that it is only invoked
 on Fulfillments which were created with this particular FulfillmentHandler.
 

+ 14 - 14
docs/docs/reference/typescript-api/fulfillment/fulfillment-process.md

@@ -13,13 +13,13 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/config/fulfillment/default-fulfillment-process.ts" sourceLine="45" packageName="@vendure/core" since="2.0.0" />
 
-The default <a href='/reference/typescript-api/fulfillment/fulfillment-process#fulfillmentprocess'>FulfillmentProcess</a>. This process includes the following actions:
-
-- Executes the configured `FulfillmentHandler.onFulfillmentTransition()` before any state
-  transition.
-- On cancellation of a Fulfillment, creates the necessary <a href='/reference/typescript-api/entities/stock-movement#cancellation'>Cancellation</a> & <a href='/reference/typescript-api/entities/stock-movement#allocation'>Allocation</a>
-  stock movement records.
-- When a Fulfillment transitions from the `Created` to `Pending` state, the necessary
+The default <a href='/reference/typescript-api/fulfillment/fulfillment-process#fulfillmentprocess'>FulfillmentProcess</a>. This process includes the following actions:
+
+- Executes the configured `FulfillmentHandler.onFulfillmentTransition()` before any state
+  transition.
+- On cancellation of a Fulfillment, creates the necessary <a href='/reference/typescript-api/entities/stock-movement#cancellation'>Cancellation</a> & <a href='/reference/typescript-api/entities/stock-movement#allocation'>Allocation</a>
+  stock movement records.
+- When a Fulfillment transitions from the `Created` to `Pending` state, the necessary
   <a href='/reference/typescript-api/entities/stock-movement#sale'>Sale</a> stock movements are created.
 
 
@@ -28,16 +28,16 @@ The default <a href='/reference/typescript-api/fulfillment/fulfillment-process#f
 
 <GenerationInfo sourceFile="packages/core/src/config/fulfillment/fulfillment-process.ts" sourceLine="26" packageName="@vendure/core" since="2.0.0" />
 
-A FulfillmentProcess is used to define the way the fulfillment process works as in: what states a Fulfillment can be
-in, and how it may transition from one state to another. Using the `onTransitionStart()` hook, a
-FulfillmentProcess can perform checks before allowing a state transition to occur, and the `onTransitionEnd()`
-hook allows logic to be executed after a state change.
-
+A FulfillmentProcess is used to define the way the fulfillment process works as in: what states a Fulfillment can be
+in, and how it may transition from one state to another. Using the `onTransitionStart()` hook, a
+FulfillmentProcess can perform checks before allowing a state transition to occur, and the `onTransitionEnd()`
+hook allows logic to be executed after a state change.
+
 For detailed description of the interface members, see the <a href='/reference/typescript-api/state-machine/state-machine-config#statemachineconfig'>StateMachineConfig</a> docs.
 
 ```ts title="Signature"
 interface FulfillmentProcess<State extends keyof CustomFulfillmentStates | string> extends InjectableStrategy {
-    transitions?: Transitions<State, State | FulfillmentState> &
+    transitions?: Transitions<State, State | FulfillmentState> &
         Partial<Transitions<FulfillmentState | State>>;
     onTransitionStart?: OnTransitionStartFn<State | FulfillmentState, FulfillmentTransitionData>;
     onTransitionEnd?: OnTransitionEndFn<State | FulfillmentState, FulfillmentTransitionData>;
@@ -52,7 +52,7 @@ interface FulfillmentProcess<State extends keyof CustomFulfillmentStates | strin
 
 ### transitions
 
-<MemberInfo kind="property" type={`<a href='/reference/typescript-api/state-machine/transitions#transitions'>Transitions</a>&#60;State, State | <a href='/reference/typescript-api/fulfillment/fulfillment-state#fulfillmentstate'>FulfillmentState</a>&#62; &#38;
         Partial&#60;<a href='/reference/typescript-api/state-machine/transitions#transitions'>Transitions</a>&#60;<a href='/reference/typescript-api/fulfillment/fulfillment-state#fulfillmentstate'>FulfillmentState</a> | State&#62;&#62;`}   />
+<MemberInfo kind="property" type={`<a href='/reference/typescript-api/state-machine/transitions#transitions'>Transitions</a>&#60;State, State | <a href='/reference/typescript-api/fulfillment/fulfillment-state#fulfillmentstate'>FulfillmentState</a>&#62; &#38;         Partial&#60;<a href='/reference/typescript-api/state-machine/transitions#transitions'>Transitions</a>&#60;<a href='/reference/typescript-api/fulfillment/fulfillment-state#fulfillmentstate'>FulfillmentState</a> | State&#62;&#62;`}   />
 
 
 ### onTransitionStart

+ 0 - 11
docs/docs/reference/typescript-api/health-check/_index.md

@@ -1,11 +0,0 @@
----
-title: "Health Check"
-weight: 10
-date: 2023-07-14T16:57:49.709Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# health-check

+ 0 - 11
docs/docs/reference/typescript-api/import-export/_index.md

@@ -1,11 +0,0 @@
----
-title: "Import Export"
-weight: 10
-date: 2023-07-14T16:57:49.415Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# import-export

+ 5 - 5
docs/docs/reference/typescript-api/import-export/default-asset-import-strategy.md

@@ -13,14 +13,14 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/config/asset-import-strategy/default-asset-import-strategy.ts" sourceLine="50" packageName="@vendure/core" since="1.7.0" />
 
-The DefaultAssetImportStrategy is able to import paths from the local filesystem (taking into account the
+The DefaultAssetImportStrategy is able to import paths from the local filesystem (taking into account the
 `importExportOptions.importAssetsDir` setting) as well as remote http/https urls.
 
 ```ts title="Signature"
 class DefaultAssetImportStrategy implements AssetImportStrategy {
-    constructor(options?: {
-            retryDelayMs: number;
-            retryCount: number;
+    constructor(options?: {
+            retryDelayMs: number;
+            retryCount: number;
         })
     init(injector: Injector) => ;
     getStreamFromPath(assetPath: string) => ;
@@ -34,7 +34,7 @@ class DefaultAssetImportStrategy implements AssetImportStrategy {
 
 ### constructor
 
-<MemberInfo kind="method" type={`(options?: {
             retryDelayMs: number;
             retryCount: number;
         }) => DefaultAssetImportStrategy`}   />
+<MemberInfo kind="method" type={`(options?: {             retryDelayMs: number;             retryCount: number;         }) => DefaultAssetImportStrategy`}   />
 
 
 ### init

+ 33 - 33
docs/docs/reference/typescript-api/import-export/import-parser.md

@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="152" packageName="@vendure/core" />
 
-Validates and parses CSV files into a data structure which can then be used to created new entities.
+Validates and parses CSV files into a data structure which can then be used to created new entities.
 This is used internally by the <a href='/reference/typescript-api/import-export/importer#importer'>Importer</a>.
 
 ```ts title="Signature"
@@ -28,7 +28,7 @@ class ImportParser {
 
 <MemberInfo kind="method" type={`(input: string | Stream, mainLanguage: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a> = this.configService.defaultLanguageCode) => Promise&#60;<a href='/reference/typescript-api/import-export/import-parser#parseresult'>ParseResult</a>&#60;<a href='/reference/typescript-api/import-export/import-parser#parsedproductwithvariants'>ParsedProductWithVariants</a>&#62;&#62;`}   />
 
-Parses the contents of the [product import CSV file](/guides/developer-guide/importing-data/#product-import-format) and
+Parses the contents of the [product import CSV file](/guides/developer-guide/importing-data/#product-import-format) and
 returns a data structure which can then be used to populate Vendure using the <a href='/reference/typescript-api/import-export/fast-importer-service#fastimporterservice'>FastImporterService</a>.
 
 
@@ -39,15 +39,15 @@ returns a data structure which can then be used to populate Vendure using the <a
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="45" packageName="@vendure/core" />
 
-The intermediate representation of an OptionGroup after it has been parsed
+The intermediate representation of an OptionGroup after it has been parsed
 by the <a href='/reference/typescript-api/import-export/import-parser#importparser'>ImportParser</a>.
 
 ```ts title="Signature"
 interface ParsedOptionGroup {
-    translations: Array<{
-        languageCode: LanguageCode;
-        name: string;
-        values: string[];
+    translations: Array<{
+        languageCode: LanguageCode;
+        name: string;
+        values: string[];
     }>;
 }
 ```
@@ -56,7 +56,7 @@ interface ParsedOptionGroup {
 
 ### translations
 
-<MemberInfo kind="property" type={`Array&#60;{
         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;
         name: string;
         values: string[];
     }&#62;`}   />
+<MemberInfo kind="property" type={`Array&#60;{         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;         name: string;         values: string[];     }&#62;`}   />
 
 
 
@@ -68,15 +68,15 @@ interface ParsedOptionGroup {
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="61" packageName="@vendure/core" />
 
-The intermediate representation of a Facet after it has been parsed
+The intermediate representation of a Facet after it has been parsed
 by the <a href='/reference/typescript-api/import-export/import-parser#importparser'>ImportParser</a>.
 
 ```ts title="Signature"
 interface ParsedFacet {
-    translations: Array<{
-        languageCode: LanguageCode;
-        facet: string;
-        value: string;
+    translations: Array<{
+        languageCode: LanguageCode;
+        facet: string;
+        value: string;
     }>;
 }
 ```
@@ -85,7 +85,7 @@ interface ParsedFacet {
 
 ### translations
 
-<MemberInfo kind="property" type={`Array&#60;{
         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;
         facet: string;
         value: string;
     }&#62;`}   />
+<MemberInfo kind="property" type={`Array&#60;{         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;         facet: string;         value: string;     }&#62;`}   />
 
 
 
@@ -97,7 +97,7 @@ interface ParsedFacet {
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="77" packageName="@vendure/core" />
 
-The intermediate representation of a ProductVariant after it has been parsed
+The intermediate representation of a ProductVariant after it has been parsed
 by the <a href='/reference/typescript-api/import-export/import-parser#importparser'>ImportParser</a>.
 
 ```ts title="Signature"
@@ -109,12 +109,12 @@ interface ParsedProductVariant {
     trackInventory: GlobalFlag;
     assetPaths: string[];
     facets: ParsedFacet[];
-    translations: Array<{
-        languageCode: LanguageCode;
-        optionValues: string[];
-        customFields: {
-            [name: string]: string;
-        };
+    translations: Array<{
+        languageCode: LanguageCode;
+        optionValues: string[];
+        customFields: {
+            [name: string]: string;
+        };
     }>;
 }
 ```
@@ -158,7 +158,7 @@ interface ParsedProductVariant {
 
 ### translations
 
-<MemberInfo kind="property" type={`Array&#60;{
         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;
         optionValues: string[];
         customFields: {
             [name: string]: string;
         };
     }&#62;`}   />
+<MemberInfo kind="property" type={`Array&#60;{         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;         optionValues: string[];         customFields: {             [name: string]: string;         };     }&#62;`}   />
 
 
 
@@ -170,7 +170,7 @@ interface ParsedProductVariant {
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="102" packageName="@vendure/core" />
 
-The intermediate representation of a Product after it has been parsed
+The intermediate representation of a Product after it has been parsed
 by the <a href='/reference/typescript-api/import-export/import-parser#importparser'>ImportParser</a>.
 
 ```ts title="Signature"
@@ -178,14 +178,14 @@ interface ParsedProduct {
     assetPaths: string[];
     optionGroups: ParsedOptionGroup[];
     facets: ParsedFacet[];
-    translations: Array<{
-        languageCode: LanguageCode;
-        name: string;
-        slug: string;
-        description: string;
-        customFields: {
-            [name: string]: string;
-        };
+    translations: Array<{
+        languageCode: LanguageCode;
+        name: string;
+        slug: string;
+        description: string;
+        customFields: {
+            [name: string]: string;
+        };
     }>;
 }
 ```
@@ -209,7 +209,7 @@ interface ParsedProduct {
 
 ### translations
 
-<MemberInfo kind="property" type={`Array&#60;{
         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;
         name: string;
         slug: string;
         description: string;
         customFields: {
             [name: string]: string;
         };
     }&#62;`}   />
+<MemberInfo kind="property" type={`Array&#60;{         languageCode: <a href='/reference/typescript-api/common/language-code#languagecode'>LanguageCode</a>;         name: string;         slug: string;         description: string;         customFields: {             [name: string]: string;         };     }&#62;`}   />
 
 
 
@@ -221,7 +221,7 @@ interface ParsedProduct {
 
 <GenerationInfo sourceFile="packages/core/src/data-import/providers/import-parser/import-parser.ts" sourceLine="125" packageName="@vendure/core" />
 
-The data structure into which an import CSV file is parsed by the
+The data structure into which an import CSV file is parsed by the
 <a href='/reference/typescript-api/import-export/import-parser#importparser'>ImportParser</a> `parseProducts()` method.
 
 ```ts title="Signature"

+ 1 - 2
docs/docs/reference/typescript-api/import-export/populator.md

@@ -30,8 +30,7 @@ class Populator {
 <MemberInfo kind="method" type={`(data: <a href='/reference/typescript-api/import-export/initial-data#initialdata'>InitialData</a>, channel?: <a href='/reference/typescript-api/entities/channel#channel'>Channel</a>) => `}   />
 
 Should be run *before* populating the products, so that there are TaxRates by which
-product prices can be set. If the `channel` argument is set, then any <a href='/reference/typescript-api/entities/interfaces#channelaware'>ChannelAware</a>
-entities will be assigned to that Channel.
+product prices can be set. If the `channel` argument is set, then any <a href='/reference/typescript-api/entities/interfaces#channelaware'>ChannelAware</a>entities will be assigned to that Channel.
 ### populateCollections
 
 <MemberInfo kind="method" type={`(data: <a href='/reference/typescript-api/import-export/initial-data#initialdata'>InitialData</a>, channel?: <a href='/reference/typescript-api/entities/channel#channel'>Channel</a>) => `}   />

+ 1 - 1
docs/docs/reference/typescript-api/job-queue/in-memory-job-buffer-storage-strategy.md

@@ -18,7 +18,7 @@ _not_ be used in production, since it will lose data in the event of the server
 stopping.
 
 Instead, use the <a href='/reference/typescript-api/job-queue/default-job-queue-plugin#defaultjobqueueplugin'>DefaultJobQueuePlugin</a> with the `useDatabaseForBuffer: true` option set,
-or the {@link BullMQJobQueuePlugin} or another custom strategy with persistent storage.
+or the <a href='/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-plugin#bullmqjobqueueplugin'>BullMQJobQueuePlugin</a> or another custom strategy with persistent storage.
 
 ```ts title="Signature"
 class InMemoryJobBufferStorageStrategy implements JobBufferStorageStrategy {

+ 2 - 3
docs/docs/reference/typescript-api/job-queue/types.md

@@ -39,7 +39,7 @@ type JobUpdate<T extends JobData<T>> = Pick<
 
 <GenerationInfo sourceFile="packages/core/src/job-queue/subscribable-job.ts" sourceLine="34" packageName="@vendure/core" />
 
-Job update options, that you can specify by calling {@link SubscribableJob.updates updates()} method.
+Job update options, that you can specify by calling <a href='/reference/typescript-api/job-queue/subscribable-job#subscribablejob'>SubscribableJob</a> `updates` method.
 
 ```ts title="Signature"
 type JobUpdateOptions = {
@@ -106,8 +106,7 @@ should resolve when the job is complete, or be rejected in case of an error.
 
 <GenerationInfo sourceFile="packages/core/src/job-queue/types.ts" sourceLine="37" packageName="@vendure/core" />
 
-A JSON-serializable data type which provides a <a href='/reference/typescript-api/job-queue/job#job'>Job</a>
-with the data it needs to be processed.
+A JSON-serializable data type which provides a <a href='/reference/typescript-api/job-queue/job#job'>Job</a>with the data it needs to be processed.
 
 ```ts title="Signature"
 type JobData<T> = JsonCompatible<T>

+ 0 - 11
docs/docs/reference/typescript-api/migration/_index.md

@@ -1,11 +0,0 @@
----
-title: "Migration"
-weight: 10
-date: 2023-07-14T16:57:50.191Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# migration

+ 0 - 11
docs/docs/reference/typescript-api/orders/_index.md

@@ -1,11 +0,0 @@
----
-title: "Orders"
-weight: 10
-date: 2023-07-14T16:57:49.580Z
-showtoc: false
-generated: true
----
-<!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
-
-
-# orders

+ 25 - 25
docs/docs/reference/typescript-api/orders/guest-checkout-strategy.md

@@ -13,33 +13,33 @@ import MemberDescription from '@site/src/components/MemberDescription';
 
 <GenerationInfo sourceFile="packages/core/src/config/order/guest-checkout-strategy.ts" sourceLine="33" packageName="@vendure/core" since="2.0.0" />
 
-A strategy that determines how to deal with guest checkouts - i.e. when a customer
-checks out without being logged in. For example, a strategy could be used to implement
-business rules such as:
-
-- No guest checkouts allowed
-- No guest checkouts allowed for customers who already have an account
-- No guest checkouts allowed for customers who have previously placed an order
-- Allow guest checkouts, but create a new Customer entity if the email address
-  is already in use
-- Allow guest checkouts, but update the existing Customer entity if the email address
-  is already in use
-
-:::info
-
-This is configured via the `orderOptions.guestCheckoutStrategy` property of
-your VendureConfig.
-
+A strategy that determines how to deal with guest checkouts - i.e. when a customer
+checks out without being logged in. For example, a strategy could be used to implement
+business rules such as:
+
+- No guest checkouts allowed
+- No guest checkouts allowed for customers who already have an account
+- No guest checkouts allowed for customers who have previously placed an order
+- Allow guest checkouts, but create a new Customer entity if the email address
+  is already in use
+- Allow guest checkouts, but update the existing Customer entity if the email address
+  is already in use
+
+:::info
+
+This is configured via the `orderOptions.guestCheckoutStrategy` property of
+your VendureConfig.
+
 :::
 
 ```ts title="Signature"
 interface GuestCheckoutStrategy extends InjectableStrategy {
-    setCustomerForOrder(
-        ctx: RequestContext,
-        order: Order,
-        input: CreateCustomerInput,
-    ):
-        | ErrorResultUnion<SetCustomerForOrderResult, Customer>
+    setCustomerForOrder(
+        ctx: RequestContext,
+        order: Order,
+        input: CreateCustomerInput,
+    ):
+        | ErrorResultUnion<SetCustomerForOrderResult, Customer>
         | Promise<ErrorResultUnion<SetCustomerForOrderResult, Customer>>;
 }
 ```
@@ -51,9 +51,9 @@ interface GuestCheckoutStrategy extends InjectableStrategy {
 
 ### setCustomerForOrder
 
-<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, order: <a href='/reference/typescript-api/entities/order#order'>Order</a>, input: CreateCustomerInput) => | <a href='/reference/typescript-api/errors/error-result-union#errorresultunion'>ErrorResultUnion</a>&#60;SetCustomerForOrderResult, <a href='/reference/typescript-api/entities/customer#customer'>Customer</a>&#62;
         | Promise&#60;<a href='/reference/typescript-api/errors/error-result-union#errorresultunion'>ErrorResultUnion</a>&#60;SetCustomerForOrderResult, <a href='/reference/typescript-api/entities/customer#customer'>Customer</a>&#62;&#62;`}   />
+<MemberInfo kind="method" type={`(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, order: <a href='/reference/typescript-api/entities/order#order'>Order</a>, input: CreateCustomerInput) => | <a href='/reference/typescript-api/errors/error-result-union#errorresultunion'>ErrorResultUnion</a>&#60;SetCustomerForOrderResult, <a href='/reference/typescript-api/entities/customer#customer'>Customer</a>&#62;         | Promise&#60;<a href='/reference/typescript-api/errors/error-result-union#errorresultunion'>ErrorResultUnion</a>&#60;SetCustomerForOrderResult, <a href='/reference/typescript-api/entities/customer#customer'>Customer</a>&#62;&#62;`}   />
 
-This method is called when the `setCustomerForOrder` mutation is executed.
+This method is called when the `setCustomerForOrder` mutation is executed.
 It should return either a Customer object or an ErrorResult.
 
 

+ 1 - 2
docs/docs/reference/typescript-api/orders/order-item-price-calculation-strategy.md

@@ -87,8 +87,7 @@ Receives the ProductVariant to be added to the Order as well as any OrderLine cu
 the price for a single unit.
 
 Note: if you have any `relation` type custom fields defined on the OrderLine entity, they will only be
-passed in to this method if they are set to `eager: true`. Otherwise, you can use the <a href='/reference/typescript-api/data-access/entity-hydrator#entityhydrator'>EntityHydrator</a>
-to join the missing relations.
+passed in to this method if they are set to `eager: true`. Otherwise, you can use the <a href='/reference/typescript-api/data-access/entity-hydrator#entityhydrator'>EntityHydrator</a>to join the missing relations.
 
 Note: the `quantity` argument was added in v2.0.0
 

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio