@vendure/admin-ui 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2058 -426
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +79 -57
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
  8. package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +10 -2
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +156 -153
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
  14. package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
  16. package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
  17. package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
  18. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  19. package/core/app.component.d.ts +1 -0
  20. package/core/common/base-detail.component.d.ts +42 -1
  21. package/core/common/base-entity-resolver.d.ts +28 -1
  22. package/core/common/base-list.component.d.ts +75 -1
  23. package/core/common/component-registry-types.d.ts +46 -0
  24. package/core/common/generated-types.d.ts +286 -27
  25. package/core/common/utilities/get-default-ui-language.d.ts +1 -0
  26. package/core/common/version.d.ts +1 -1
  27. package/core/components/app-shell/app-shell.component.d.ts +1 -1
  28. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
  29. package/core/components/user-menu/user-menu.component.d.ts +1 -1
  30. package/core/data/client-state/client-defaults.d.ts +1 -1
  31. package/core/data/definitions/client-definitions.d.ts +3 -1
  32. package/core/data/definitions/customer-definitions.d.ts +1 -0
  33. package/core/data/definitions/settings-definitions.d.ts +1 -0
  34. package/core/data/providers/client-data.service.d.ts +3 -1
  35. package/core/data/providers/data.service.d.ts +54 -12
  36. package/core/data/providers/settings-data.service.d.ts +3 -0
  37. package/core/data/query-result.d.ts +11 -2
  38. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
  39. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
  40. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
  41. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  42. package/core/providers/modal/modal.service.d.ts +41 -12
  43. package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
  44. package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
  45. package/core/providers/notification/notification.service.d.ts +37 -0
  46. package/core/public_api.d.ts +8 -0
  47. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
  48. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
  49. package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
  50. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +2 -0
  51. package/core/shared/components/chip/chip.component.d.ts +20 -0
  52. package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
  53. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
  54. package/core/shared/components/data-table/data-table.component.d.ts +59 -0
  55. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
  56. package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
  57. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
  58. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
  59. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
  60. package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
  61. package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
  62. package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
  63. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
  64. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
  65. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
  66. package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
  67. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  68. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
  70. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
  71. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
  72. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
  73. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
  74. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
  75. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
  76. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
  77. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
  78. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
  79. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
  80. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
  81. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
  82. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
  83. package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
  84. package/core/shared/pipes/duration.pipe.d.ts +8 -0
  85. package/core/shared/pipes/file-size.pipe.d.ts +8 -0
  86. package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
  87. package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
  88. package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
  89. package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
  90. package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
  91. package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
  92. package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
  93. package/core/vendure-admin-ui-core.metadata.json +1 -1
  94. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
  95. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
  96. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  97. package/esm2015/catalog/catalog.module.js +29 -28
  98. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
  99. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
  100. package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
  101. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +1 -1
  102. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +1 -1
  103. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
  104. package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
  105. package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
  106. package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
  107. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
  108. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
  109. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
  110. package/esm2015/core/app.component.js +20 -2
  111. package/esm2015/core/common/base-detail.component.js +53 -1
  112. package/esm2015/core/common/base-entity-resolver.js +29 -2
  113. package/esm2015/core/common/base-list.component.js +76 -2
  114. package/esm2015/core/common/component-registry-types.js +1 -1
  115. package/esm2015/core/common/generated-types.js +1 -1
  116. package/esm2015/core/common/introspection-result.js +249 -183
  117. package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
  118. package/esm2015/core/common/version.js +2 -2
  119. package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
  120. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  121. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
  122. package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
  123. package/esm2015/core/data/client-state/client-defaults.js +5 -2
  124. package/esm2015/core/data/client-state/client-resolvers.js +32 -33
  125. package/esm2015/core/data/definitions/client-definitions.js +18 -3
  126. package/esm2015/core/data/definitions/customer-definitions.js +21 -25
  127. package/esm2015/core/data/definitions/settings-definitions.js +50 -5
  128. package/esm2015/core/data/providers/client-data.service.js +15 -4
  129. package/esm2015/core/data/providers/data.service.js +44 -2
  130. package/esm2015/core/data/providers/settings-data.service.js +12 -4
  131. package/esm2015/core/data/query-result.js +14 -4
  132. package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
  133. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
  134. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
  135. package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
  136. package/esm2015/core/providers/modal/modal.service.js +20 -12
  137. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  138. package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
  139. package/esm2015/core/providers/notification/notification.service.js +24 -1
  140. package/esm2015/core/public_api.js +9 -1
  141. package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
  142. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
  143. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  144. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
  145. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
  146. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +36 -22
  147. package/esm2015/core/shared/components/chip/chip.component.js +12 -1
  148. package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
  149. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
  150. package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
  151. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
  152. package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
  153. package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
  154. package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
  155. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
  156. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
  157. package/esm2015/core/shared/components/object-tree/object-tree.component.js +11 -3
  158. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
  159. package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
  160. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
  161. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
  162. package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
  163. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
  164. package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
  165. package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
  166. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
  167. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
  168. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
  169. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
  170. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
  171. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +2 -1
  172. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
  173. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
  174. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
  175. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
  176. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
  177. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
  178. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
  179. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
  180. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
  181. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
  182. package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
  183. package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
  184. package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
  185. package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
  186. package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
  187. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
  188. package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
  189. package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
  190. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
  191. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
  192. package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
  193. package/esm2015/core/shared/shared.module.js +13 -1
  194. package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
  195. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
  196. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
  197. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
  198. package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
  199. package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
  200. package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
  201. package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
  202. package/esm2015/settings/components/country-list/country-list.component.js +19 -7
  203. package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
  204. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
  205. package/esm2015/settings/components/profile/profile.component.js +3 -14
  206. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
  207. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
  208. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
  209. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
  210. package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
  211. package/fesm2015/vendure-admin-ui-catalog.js +83 -102
  212. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  213. package/fesm2015/vendure-admin-ui-core.js +1900 -362
  214. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  215. package/fesm2015/vendure-admin-ui-customer.js +54 -34
  216. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  217. package/fesm2015/vendure-admin-ui-marketing.js +8 -1
  218. package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
  219. package/fesm2015/vendure-admin-ui-order.js +10 -2
  220. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  221. package/fesm2015/vendure-admin-ui-settings.js +110 -85
  222. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  223. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
  224. package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
  225. package/order/vendure-admin-ui-order.metadata.json +1 -1
  226. package/package.json +6 -5
  227. package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
  228. package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
  229. package/settings/components/country-detail/country-detail.component.d.ts +2 -1
  230. package/settings/components/country-list/country-list.component.d.ts +7 -2
  231. package/settings/components/global-settings/global-settings.component.d.ts +0 -1
  232. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
  233. package/settings/components/profile/profile.component.d.ts +0 -1
  234. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
  235. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
  236. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
  237. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
  238. package/settings/components/zone-list/zone-list.component.d.ts +6 -2
  239. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  240. package/static/i18n-messages/cs.json +7 -0
  241. package/static/i18n-messages/de.json +7 -0
  242. package/static/i18n-messages/en.json +7 -0
  243. package/static/i18n-messages/es.json +8 -1
  244. package/static/i18n-messages/fr.json +7 -0
  245. package/static/i18n-messages/it.json +7 -0
  246. package/static/i18n-messages/pl.json +7 -0
  247. package/static/i18n-messages/pt_BR.json +7 -0
  248. package/static/i18n-messages/pt_PT.json +7 -0
  249. package/static/i18n-messages/ru.json +7 -0
  250. package/static/i18n-messages/uk.json +7 -0
  251. package/static/i18n-messages/zh_Hans.json +7 -0
  252. package/static/i18n-messages/zh_Hant.json +7 -0
  253. package/static/styles/theme/dark.scss +9 -0
  254. package/static/styles/theme/default.scss +8 -0
  255. package/static/theme.min.css +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('rxjs/operators'), require('apollo-angular'), require('@angular/common/http'), require('@vendure/common/lib/simple-deep-clone'), require('@apollo/client/core'), require('@vendure/common/lib/shared-utils'), require('rxjs'), require('graphql'), require('@vendure/common/lib/pick'), require('@angular/platform-browser'), require('@angular/platform-browser/animations'), require('@ngx-translate/core'), require('ngx-translate-messageformat-compiler'), require('@angular/router'), require('@vendure/common/lib/shared-constants'), require('lodash'), require('@angular/forms'), require('@biesbjerg/ngx-translate-extract-marker'), require('@apollo/client/link/context'), require('@apollo/client/link/core'), require('apollo-upload-client'), require('@vendure/common/lib/omit'), require('@angular/cdk/drag-drop'), require('@angular/cdk/overlay'), require('@clr/angular'), require('@clr/icons'), require('@clr/icons/shapes/all-shapes'), require('@ng-select/ng-select'), require('@webcomponents/custom-elements/custom-elements.min.js'), require('ngx-pagination'), require('dayjs'), require('@angular/cdk/portal'), require('prosemirror-commands'), require('prosemirror-dropcursor'), require('prosemirror-gapcursor'), require('prosemirror-history'), require('prosemirror-keymap'), require('prosemirror-menu'), require('prosemirror-model'), require('prosemirror-schema-basic'), require('prosemirror-schema-list'), require('prosemirror-state'), require('prosemirror-view'), require('prosemirror-inputrules')) :
3
- typeof define === 'function' && define.amd ? define('@vendure/admin-ui/core', ['exports', '@angular/core', '@angular/common', 'rxjs/operators', 'apollo-angular', '@angular/common/http', '@vendure/common/lib/simple-deep-clone', '@apollo/client/core', '@vendure/common/lib/shared-utils', 'rxjs', 'graphql', '@vendure/common/lib/pick', '@angular/platform-browser', '@angular/platform-browser/animations', '@ngx-translate/core', 'ngx-translate-messageformat-compiler', '@angular/router', '@vendure/common/lib/shared-constants', 'lodash', '@angular/forms', '@biesbjerg/ngx-translate-extract-marker', '@apollo/client/link/context', '@apollo/client/link/core', 'apollo-upload-client', '@vendure/common/lib/omit', '@angular/cdk/drag-drop', '@angular/cdk/overlay', '@clr/angular', '@clr/icons', '@clr/icons/shapes/all-shapes', '@ng-select/ng-select', '@webcomponents/custom-elements/custom-elements.min.js', 'ngx-pagination', 'dayjs', '@angular/cdk/portal', 'prosemirror-commands', 'prosemirror-dropcursor', 'prosemirror-gapcursor', 'prosemirror-history', 'prosemirror-keymap', 'prosemirror-menu', 'prosemirror-model', 'prosemirror-schema-basic', 'prosemirror-schema-list', 'prosemirror-state', 'prosemirror-view', 'prosemirror-inputrules'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.vendure = global.vendure || {}, global.vendure['admin-ui'] = global.vendure['admin-ui'] || {}, global.vendure['admin-ui'].core = {}), global.ng.core, global.ng.common, global.rxjs.operators, global.apolloAngular, global.ng.common.http, global.simpleDeepClone, global.core, global.sharedUtils, global.rxjs, global.graphql, global.pick, global.ng.platformBrowser, global.ng.platformBrowser.animations, global.i1$2, global.i1$4, global.ng.router, global.sharedConstants, global.lodash, global.ng.forms, global.ngxTranslateExtractMarker, global.context, global.core$1, global.apolloUploadClient, global.omit, global.ng.cdk.dragDrop, global.ng.cdk.overlay, global.angular, null, null, global.ngSelect, null, global.ngxPagination, global.dayjs, global.ng.cdk.portal, global.prosemirrorCommands, global.prosemirrorDropcursor, global.prosemirrorGapcursor, global.prosemirrorHistory, global.prosemirrorKeymap, global.prosemirrorMenu, global.prosemirrorModel, global.prosemirrorSchemaBasic, global.prosemirrorSchemaList, global.prosemirrorState, global.prosemirrorView, global.prosemirrorInputrules));
5
- }(this, (function (exports, i0, i1, operators, apolloAngular, i1$1, simpleDeepClone, core, sharedUtils, rxjs, graphql, pick, platformBrowser, animations, i1$2, i1$4, i1$3, sharedConstants, lodash, forms, ngxTranslateExtractMarker, context, core$1, apolloUploadClient, omit, dragDrop, overlay, angular, icons, allShapes, ngSelect, customElements_min_js, ngxPagination, dayjs, portal, prosemirrorCommands, prosemirrorDropcursor, prosemirrorGapcursor, prosemirrorHistory, prosemirrorKeymap, prosemirrorMenu, prosemirrorModel, prosemirrorSchemaBasic, prosemirrorSchemaList, prosemirrorState, prosemirrorView, prosemirrorInputrules) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('rxjs/operators'), require('apollo-angular'), require('@angular/common/http'), require('@vendure/common/lib/simple-deep-clone'), require('@apollo/client/core'), require('@vendure/common/lib/shared-utils'), require('rxjs'), require('graphql'), require('@vendure/common/lib/pick'), require('@angular/platform-browser'), require('@angular/platform-browser/animations'), require('@ngx-translate/core'), require('ngx-translate-messageformat-compiler'), require('@angular/router'), require('@vendure/common/lib/shared-constants'), require('lodash'), require('@angular/forms'), require('@biesbjerg/ngx-translate-extract-marker'), require('@apollo/client/link/context'), require('@apollo/client/link/core'), require('apollo-upload-client'), require('@vendure/common/lib/omit'), require('codejar'), require('@angular/cdk/drag-drop'), require('@angular/cdk/overlay'), require('@clr/angular'), require('@clr/icons'), require('@clr/icons/shapes/all-shapes'), require('@ng-select/ng-select'), require('@webcomponents/custom-elements/custom-elements.min.js'), require('ngx-pagination'), require('dayjs'), require('@angular/cdk/portal'), require('prosemirror-commands'), require('prosemirror-dropcursor'), require('prosemirror-gapcursor'), require('prosemirror-history'), require('prosemirror-keymap'), require('prosemirror-menu'), require('prosemirror-model'), require('prosemirror-schema-basic'), require('prosemirror-schema-list'), require('prosemirror-state'), require('prosemirror-view'), require('prosemirror-inputrules')) :
3
+ typeof define === 'function' && define.amd ? define('@vendure/admin-ui/core', ['exports', '@angular/core', '@angular/common', 'rxjs/operators', 'apollo-angular', '@angular/common/http', '@vendure/common/lib/simple-deep-clone', '@apollo/client/core', '@vendure/common/lib/shared-utils', 'rxjs', 'graphql', '@vendure/common/lib/pick', '@angular/platform-browser', '@angular/platform-browser/animations', '@ngx-translate/core', 'ngx-translate-messageformat-compiler', '@angular/router', '@vendure/common/lib/shared-constants', 'lodash', '@angular/forms', '@biesbjerg/ngx-translate-extract-marker', '@apollo/client/link/context', '@apollo/client/link/core', 'apollo-upload-client', '@vendure/common/lib/omit', 'codejar', '@angular/cdk/drag-drop', '@angular/cdk/overlay', '@clr/angular', '@clr/icons', '@clr/icons/shapes/all-shapes', '@ng-select/ng-select', '@webcomponents/custom-elements/custom-elements.min.js', 'ngx-pagination', 'dayjs', '@angular/cdk/portal', 'prosemirror-commands', 'prosemirror-dropcursor', 'prosemirror-gapcursor', 'prosemirror-history', 'prosemirror-keymap', 'prosemirror-menu', 'prosemirror-model', 'prosemirror-schema-basic', 'prosemirror-schema-list', 'prosemirror-state', 'prosemirror-view', 'prosemirror-inputrules'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.vendure = global.vendure || {}, global.vendure['admin-ui'] = global.vendure['admin-ui'] || {}, global.vendure['admin-ui'].core = {}), global.ng.core, global.ng.common, global.rxjs.operators, global.apolloAngular, global.ng.common.http, global.simpleDeepClone, global.core, global.sharedUtils, global.rxjs, global.graphql, global.pick, global.ng.platformBrowser, global.ng.platformBrowser.animations, global.i1$2, global.i1$4, global.ng.router, global.sharedConstants, global.lodash, global.ng.forms, global.ngxTranslateExtractMarker, global.context, global.core$1, global.apolloUploadClient, global.omit, global.codejar, global.ng.cdk.dragDrop, global.ng.cdk.overlay, global.angular, null, null, global.ngSelect, null, global.ngxPagination, global.dayjs, global.ng.cdk.portal, global.prosemirrorCommands, global.prosemirrorDropcursor, global.prosemirrorGapcursor, global.prosemirrorHistory, global.prosemirrorKeymap, global.prosemirrorMenu, global.prosemirrorModel, global.prosemirrorSchemaBasic, global.prosemirrorSchemaList, global.prosemirrorState, global.prosemirrorView, global.prosemirrorInputrules));
5
+ }(this, (function (exports, i0, i1, operators, apolloAngular, i1$1, simpleDeepClone, core, sharedUtils, rxjs, graphql, pick, platformBrowser, animations, i1$2, i1$4, i1$3, sharedConstants, lodash, forms, ngxTranslateExtractMarker, context, core$1, apolloUploadClient, omit, codejar, dragDrop, overlay, angular, icons, allShapes, ngSelect, customElements_min_js, ngxPagination, dayjs, portal, prosemirrorCommands, prosemirrorDropcursor, prosemirrorGapcursor, prosemirrorHistory, prosemirrorKeymap, prosemirrorMenu, prosemirrorModel, prosemirrorSchemaBasic, prosemirrorSchemaList, prosemirrorState, prosemirrorView, prosemirrorInputrules) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -366,8 +366,8 @@
366
366
  var CREATE_ROLE = apolloAngular.gql(templateObject_12$5 || (templateObject_12$5 = __makeTemplateObject(["\n mutation CreateRole($input: CreateRoleInput!) {\n createRole(input: $input) {\n ...Role\n }\n }\n ", "\n"], ["\n mutation CreateRole($input: CreateRoleInput!) {\n createRole(input: $input) {\n ...Role\n }\n }\n ", "\n"])), ROLE_FRAGMENT);
367
367
  var UPDATE_ROLE = apolloAngular.gql(templateObject_13$5 || (templateObject_13$5 = __makeTemplateObject(["\n mutation UpdateRole($input: UpdateRoleInput!) {\n updateRole(input: $input) {\n ...Role\n }\n }\n ", "\n"], ["\n mutation UpdateRole($input: UpdateRoleInput!) {\n updateRole(input: $input) {\n ...Role\n }\n }\n ", "\n"])), ROLE_FRAGMENT);
368
368
  var DELETE_ROLE = apolloAngular.gql(templateObject_14$5 || (templateObject_14$5 = __makeTemplateObject(["\n mutation DeleteRole($id: ID!) {\n deleteRole(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteRole($id: ID!) {\n deleteRole(id: $id) {\n result\n message\n }\n }\n"])));
369
- var ASSIGN_ROLE_TO_ADMINISTRATOR = apolloAngular.gql(templateObject_15$4 || (templateObject_15$4 = __makeTemplateObject(["\n mutation AssignRoleToAdministrator($administratorId: ID!, $roleId: ID!) {\n assignRoleToAdministrator(administratorId: $administratorId, roleId: $roleId) {\n ...Administrator\n }\n }\n ", "\n"], ["\n mutation AssignRoleToAdministrator($administratorId: ID!, $roleId: ID!) {\n assignRoleToAdministrator(administratorId: $administratorId, roleId: $roleId) {\n ...Administrator\n }\n }\n ", "\n"])), ADMINISTRATOR_FRAGMENT);
370
- var templateObject_1$b, templateObject_2$b, templateObject_3$b, templateObject_4$a, templateObject_5$9, templateObject_6$9, templateObject_7$9, templateObject_8$8, templateObject_9$8, templateObject_10$6, templateObject_11$5, templateObject_12$5, templateObject_13$5, templateObject_14$5, templateObject_15$4;
369
+ var ASSIGN_ROLE_TO_ADMINISTRATOR = apolloAngular.gql(templateObject_15$5 || (templateObject_15$5 = __makeTemplateObject(["\n mutation AssignRoleToAdministrator($administratorId: ID!, $roleId: ID!) {\n assignRoleToAdministrator(administratorId: $administratorId, roleId: $roleId) {\n ...Administrator\n }\n }\n ", "\n"], ["\n mutation AssignRoleToAdministrator($administratorId: ID!, $roleId: ID!) {\n assignRoleToAdministrator(administratorId: $administratorId, roleId: $roleId) {\n ...Administrator\n }\n }\n ", "\n"])), ADMINISTRATOR_FRAGMENT);
370
+ var templateObject_1$b, templateObject_2$b, templateObject_3$b, templateObject_4$a, templateObject_5$9, templateObject_6$9, templateObject_7$9, templateObject_8$8, templateObject_9$8, templateObject_10$6, templateObject_11$5, templateObject_12$5, templateObject_13$5, templateObject_14$5, templateObject_15$5;
371
371
 
372
372
  var AdministratorDataService = /** @class */ (function () {
373
373
  function AdministratorDataService(baseDataService) {
@@ -540,20 +540,26 @@
540
540
  var USER_STATUS_FRAGMENT = apolloAngular.gql(templateObject_3$8 || (templateObject_3$8 = __makeTemplateObject(["\n fragment UserStatus on UserStatus {\n username\n isLoggedIn\n loginTime\n activeChannelId\n permissions\n channels {\n id\n code\n token\n permissions\n }\n }\n"], ["\n fragment UserStatus on UserStatus {\n username\n isLoggedIn\n loginTime\n activeChannelId\n permissions\n channels {\n id\n code\n token\n permissions\n }\n }\n"])));
541
541
  var SET_AS_LOGGED_IN = apolloAngular.gql(templateObject_4$8 || (templateObject_4$8 = __makeTemplateObject(["\n mutation SetAsLoggedIn($input: UserStatusInput!) {\n setAsLoggedIn(input: $input) @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation SetAsLoggedIn($input: UserStatusInput!) {\n setAsLoggedIn(input: $input) @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
542
542
  var SET_AS_LOGGED_OUT = apolloAngular.gql(templateObject_5$8 || (templateObject_5$8 = __makeTemplateObject(["\n mutation SetAsLoggedOut {\n setAsLoggedOut @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation SetAsLoggedOut {\n setAsLoggedOut @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
543
- var SET_UI_LANGUAGE = apolloAngular.gql(templateObject_6$8 || (templateObject_6$8 = __makeTemplateObject(["\n mutation SetUiLanguage($languageCode: LanguageCode!) {\n setUiLanguage(languageCode: $languageCode) @client\n }\n"], ["\n mutation SetUiLanguage($languageCode: LanguageCode!) {\n setUiLanguage(languageCode: $languageCode) @client\n }\n"])));
544
- var SET_CONTENT_LANGUAGE = apolloAngular.gql(templateObject_7$8 || (templateObject_7$8 = __makeTemplateObject(["\n mutation SetContentLanguage($languageCode: LanguageCode!) {\n setContentLanguage(languageCode: $languageCode) @client\n }\n"], ["\n mutation SetContentLanguage($languageCode: LanguageCode!) {\n setContentLanguage(languageCode: $languageCode) @client\n }\n"])));
545
- var SET_UI_THEME = apolloAngular.gql(templateObject_8$7 || (templateObject_8$7 = __makeTemplateObject(["\n mutation SetUiTheme($theme: String!) {\n setUiTheme(theme: $theme) @client\n }\n"], ["\n mutation SetUiTheme($theme: String!) {\n setUiTheme(theme: $theme) @client\n }\n"])));
546
- var GET_NEWTORK_STATUS = apolloAngular.gql(templateObject_9$7 || (templateObject_9$7 = __makeTemplateObject(["\n query GetNetworkStatus {\n networkStatus @client {\n inFlightRequests\n }\n }\n"], ["\n query GetNetworkStatus {\n networkStatus @client {\n inFlightRequests\n }\n }\n"])));
547
- var GET_USER_STATUS = apolloAngular.gql(templateObject_10$5 || (templateObject_10$5 = __makeTemplateObject(["\n query GetUserStatus {\n userStatus @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n query GetUserStatus {\n userStatus @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
548
- var GET_UI_STATE = apolloAngular.gql(templateObject_11$4 || (templateObject_11$4 = __makeTemplateObject(["\n query GetUiState {\n uiState @client {\n language\n contentLanguage\n theme\n }\n }\n"], ["\n query GetUiState {\n uiState @client {\n language\n contentLanguage\n theme\n }\n }\n"])));
549
- var GET_CLIENT_STATE = apolloAngular.gql(templateObject_12$4 || (templateObject_12$4 = __makeTemplateObject(["\n query GetClientState {\n networkStatus @client {\n inFlightRequests\n }\n userStatus @client {\n ...UserStatus\n }\n uiState @client {\n language\n contentLanguage\n theme\n }\n }\n ", "\n"], ["\n query GetClientState {\n networkStatus @client {\n inFlightRequests\n }\n userStatus @client {\n ...UserStatus\n }\n uiState @client {\n language\n contentLanguage\n theme\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
550
- var SET_ACTIVE_CHANNEL = apolloAngular.gql(templateObject_13$4 || (templateObject_13$4 = __makeTemplateObject(["\n mutation SetActiveChannel($channelId: ID!) {\n setActiveChannel(channelId: $channelId) @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation SetActiveChannel($channelId: ID!) {\n setActiveChannel(channelId: $channelId) @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
551
- var UPDATE_USER_CHANNELS = apolloAngular.gql(templateObject_14$4 || (templateObject_14$4 = __makeTemplateObject(["\n mutation UpdateUserChannels($channels: [CurrentUserChannelInput!]!) {\n updateUserChannels(channels: $channels) @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation UpdateUserChannels($channels: [CurrentUserChannelInput!]!) {\n updateUserChannels(channels: $channels) @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
552
- var templateObject_1$8, templateObject_2$8, templateObject_3$8, templateObject_4$8, templateObject_5$8, templateObject_6$8, templateObject_7$8, templateObject_8$7, templateObject_9$7, templateObject_10$5, templateObject_11$4, templateObject_12$4, templateObject_13$4, templateObject_14$4;
543
+ var SET_UI_LANGUAGE_AND_LOCALE = apolloAngular.gql(templateObject_6$8 || (templateObject_6$8 = __makeTemplateObject(["\n mutation SetUiLanguage($languageCode: LanguageCode!, $locale: String) {\n setUiLanguage(languageCode: $languageCode) @client\n setUiLocale(locale: $locale) @client\n }\n"], ["\n mutation SetUiLanguage($languageCode: LanguageCode!, $locale: String) {\n setUiLanguage(languageCode: $languageCode) @client\n setUiLocale(locale: $locale) @client\n }\n"])));
544
+ var SET_UI_LOCALE = apolloAngular.gql(templateObject_7$8 || (templateObject_7$8 = __makeTemplateObject(["\n mutation SetUiLocale($locale: String) {\n setUiLocale(locale: $locale) @client\n }\n"], ["\n mutation SetUiLocale($locale: String) {\n setUiLocale(locale: $locale) @client\n }\n"])));
545
+ var SET_DISPLAY_UI_EXTENSION_POINTS = apolloAngular.gql(templateObject_8$7 || (templateObject_8$7 = __makeTemplateObject(["\n mutation SetDisplayUiExtensionPoints($display: Boolean!) {\n setDisplayUiExtensionPoints(display: $display) @client\n }\n"], ["\n mutation SetDisplayUiExtensionPoints($display: Boolean!) {\n setDisplayUiExtensionPoints(display: $display) @client\n }\n"])));
546
+ var SET_CONTENT_LANGUAGE = apolloAngular.gql(templateObject_9$7 || (templateObject_9$7 = __makeTemplateObject(["\n mutation SetContentLanguage($languageCode: LanguageCode!) {\n setContentLanguage(languageCode: $languageCode) @client\n }\n"], ["\n mutation SetContentLanguage($languageCode: LanguageCode!) {\n setContentLanguage(languageCode: $languageCode) @client\n }\n"])));
547
+ var SET_UI_THEME = apolloAngular.gql(templateObject_10$5 || (templateObject_10$5 = __makeTemplateObject(["\n mutation SetUiTheme($theme: String!) {\n setUiTheme(theme: $theme) @client\n }\n"], ["\n mutation SetUiTheme($theme: String!) {\n setUiTheme(theme: $theme) @client\n }\n"])));
548
+ var GET_NEWTORK_STATUS = apolloAngular.gql(templateObject_11$4 || (templateObject_11$4 = __makeTemplateObject(["\n query GetNetworkStatus {\n networkStatus @client {\n inFlightRequests\n }\n }\n"], ["\n query GetNetworkStatus {\n networkStatus @client {\n inFlightRequests\n }\n }\n"])));
549
+ var GET_USER_STATUS = apolloAngular.gql(templateObject_12$4 || (templateObject_12$4 = __makeTemplateObject(["\n query GetUserStatus {\n userStatus @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n query GetUserStatus {\n userStatus @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
550
+ var GET_UI_STATE = apolloAngular.gql(templateObject_13$4 || (templateObject_13$4 = __makeTemplateObject(["\n query GetUiState {\n uiState @client {\n language\n locale\n contentLanguage\n theme\n displayUiExtensionPoints\n }\n }\n"], ["\n query GetUiState {\n uiState @client {\n language\n locale\n contentLanguage\n theme\n displayUiExtensionPoints\n }\n }\n"])));
551
+ var GET_CLIENT_STATE = apolloAngular.gql(templateObject_14$4 || (templateObject_14$4 = __makeTemplateObject(["\n query GetClientState {\n networkStatus @client {\n inFlightRequests\n }\n userStatus @client {\n ...UserStatus\n }\n uiState @client {\n language\n locale\n contentLanguage\n theme\n displayUiExtensionPoints\n }\n }\n ", "\n"], ["\n query GetClientState {\n networkStatus @client {\n inFlightRequests\n }\n userStatus @client {\n ...UserStatus\n }\n uiState @client {\n language\n locale\n contentLanguage\n theme\n displayUiExtensionPoints\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
552
+ var SET_ACTIVE_CHANNEL = apolloAngular.gql(templateObject_15$4 || (templateObject_15$4 = __makeTemplateObject(["\n mutation SetActiveChannel($channelId: ID!) {\n setActiveChannel(channelId: $channelId) @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation SetActiveChannel($channelId: ID!) {\n setActiveChannel(channelId: $channelId) @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
553
+ var UPDATE_USER_CHANNELS = apolloAngular.gql(templateObject_16$4 || (templateObject_16$4 = __makeTemplateObject(["\n mutation UpdateUserChannels($channels: [CurrentUserChannelInput!]!) {\n updateUserChannels(channels: $channels) @client {\n ...UserStatus\n }\n }\n ", "\n"], ["\n mutation UpdateUserChannels($channels: [CurrentUserChannelInput!]!) {\n updateUserChannels(channels: $channels) @client {\n ...UserStatus\n }\n }\n ", "\n"])), USER_STATUS_FRAGMENT);
554
+ var templateObject_1$8, templateObject_2$8, templateObject_3$8, templateObject_4$8, templateObject_5$8, templateObject_6$8, templateObject_7$8, templateObject_8$7, templateObject_9$7, templateObject_10$5, templateObject_11$4, templateObject_12$4, templateObject_13$4, templateObject_14$4, templateObject_15$4, templateObject_16$4;
553
555
 
554
556
  /**
557
+ * @description
555
558
  * This class wraps the Apollo Angular QueryRef object and exposes some getters
556
559
  * for convenience.
560
+ *
561
+ * @docsCategory providers
562
+ * @docsPage DataService
557
563
  */
558
564
  var QueryResult = /** @class */ (function () {
559
565
  function QueryResult(queryRef, apollo) {
@@ -563,12 +569,14 @@
563
569
  this.valueChanges = queryRef.valueChanges;
564
570
  }
565
571
  /**
566
- * Refetch this query whenever the active Channel changes.
572
+ * @description
573
+ * Re-fetch this query whenever the active Channel changes.
567
574
  */
568
575
  QueryResult.prototype.refetchOnChannelChange = function () {
569
576
  var _this = this;
570
- var userStatus$ = this.apollo.watchQuery({ query: GET_USER_STATUS })
571
- .valueChanges;
577
+ var userStatus$ = this.apollo.watchQuery({
578
+ query: GET_USER_STATUS,
579
+ }).valueChanges;
572
580
  var activeChannelId$ = userStatus$.pipe(operators.map(function (data) { return data.data.userStatus.activeChannelId; }), operators.filter(sharedUtils.notNullOrUndefined), operators.distinctUntilChanged(), operators.skip(1), operators.takeUntil(this.completed$));
573
581
  var loggedOut$ = userStatus$.pipe(operators.map(function (data) { return data.data.userStatus.isLoggedIn; }), operators.distinctUntilChanged(), operators.skip(1), operators.filter(function (isLoggedIn) { return !isLoggedIn; }), operators.takeUntil(this.completed$));
574
582
  this.valueChanges = rxjs.merge(activeChannelId$, this.queryRef.valueChanges).pipe(operators.tap(function (val) {
@@ -581,6 +589,7 @@
581
589
  };
582
590
  Object.defineProperty(QueryResult.prototype, "single$", {
583
591
  /**
592
+ * @description
584
593
  * Returns an Observable which emits a single result and then completes.
585
594
  */
586
595
  get: function () {
@@ -595,6 +604,7 @@
595
604
  });
596
605
  Object.defineProperty(QueryResult.prototype, "stream$", {
597
606
  /**
607
+ * @description
598
608
  * Returns an Observable which emits until unsubscribed.
599
609
  */
600
610
  get: function () {
@@ -615,12 +625,14 @@
615
625
  configurable: true
616
626
  });
617
627
  /**
628
+ * @description
618
629
  * Returns a single-result Observable after applying the map function.
619
630
  */
620
631
  QueryResult.prototype.mapSingle = function (mapFn) {
621
632
  return this.single$.pipe(operators.map(mapFn));
622
633
  };
623
634
  /**
635
+ * @description
624
636
  * Returns a multiple-result Observable after applying the map function.
625
637
  */
626
638
  QueryResult.prototype.mapStream = function (mapFn) {
@@ -636,8 +648,8 @@
636
648
  var CREATE_COUNTRY = apolloAngular.gql(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject(["\n mutation CreateCountry($input: CreateCountryInput!) {\n createCountry(input: $input) {\n ...Country\n }\n }\n ", "\n"], ["\n mutation CreateCountry($input: CreateCountryInput!) {\n createCountry(input: $input) {\n ...Country\n }\n }\n ", "\n"])), COUNTRY_FRAGMENT);
637
649
  var UPDATE_COUNTRY = apolloAngular.gql(templateObject_6$7 || (templateObject_6$7 = __makeTemplateObject(["\n mutation UpdateCountry($input: UpdateCountryInput!) {\n updateCountry(input: $input) {\n ...Country\n }\n }\n ", "\n"], ["\n mutation UpdateCountry($input: UpdateCountryInput!) {\n updateCountry(input: $input) {\n ...Country\n }\n }\n ", "\n"])), COUNTRY_FRAGMENT);
638
650
  var DELETE_COUNTRY = apolloAngular.gql(templateObject_7$7 || (templateObject_7$7 = __makeTemplateObject(["\n mutation DeleteCountry($id: ID!) {\n deleteCountry(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCountry($id: ID!) {\n deleteCountry(id: $id) {\n result\n message\n }\n }\n"])));
639
- var ZONE_FRAGMENT = apolloAngular.gql(templateObject_8$6 || (templateObject_8$6 = __makeTemplateObject(["\n fragment Zone on Zone {\n id\n name\n members {\n ...Country\n }\n }\n ", "\n"], ["\n fragment Zone on Zone {\n id\n name\n members {\n ...Country\n }\n }\n ", "\n"])), COUNTRY_FRAGMENT);
640
- var GET_ZONES = apolloAngular.gql(templateObject_9$6 || (templateObject_9$6 = __makeTemplateObject(["\n query GetZones {\n zones {\n id\n createdAt\n updatedAt\n name\n members {\n createdAt\n updatedAt\n id\n name\n code\n enabled\n }\n }\n }\n"], ["\n query GetZones {\n zones {\n id\n createdAt\n updatedAt\n name\n members {\n createdAt\n updatedAt\n id\n name\n code\n enabled\n }\n }\n }\n"])));
651
+ var ZONE_FRAGMENT = apolloAngular.gql(templateObject_8$6 || (templateObject_8$6 = __makeTemplateObject(["\n fragment Zone on Zone {\n id\n createdAt\n updatedAt\n name\n members {\n ...Country\n }\n }\n ", "\n"], ["\n fragment Zone on Zone {\n id\n createdAt\n updatedAt\n name\n members {\n ...Country\n }\n }\n ", "\n"])), COUNTRY_FRAGMENT);
652
+ var GET_ZONES = apolloAngular.gql(templateObject_9$6 || (templateObject_9$6 = __makeTemplateObject(["\n query GetZones {\n zones {\n ...Zone\n members {\n createdAt\n updatedAt\n id\n name\n code\n enabled\n }\n }\n }\n ", "\n"], ["\n query GetZones {\n zones {\n ...Zone\n members {\n createdAt\n updatedAt\n id\n name\n code\n enabled\n }\n }\n }\n ", "\n"])), ZONE_FRAGMENT);
641
653
  var GET_ZONE = apolloAngular.gql(templateObject_10$4 || (templateObject_10$4 = __makeTemplateObject(["\n query GetZone($id: ID!) {\n zone(id: $id) {\n ...Zone\n }\n }\n ", "\n"], ["\n query GetZone($id: ID!) {\n zone(id: $id) {\n ...Zone\n }\n }\n ", "\n"])), ZONE_FRAGMENT);
642
654
  var CREATE_ZONE = apolloAngular.gql(templateObject_11$3 || (templateObject_11$3 = __makeTemplateObject(["\n mutation CreateZone($input: CreateZoneInput!) {\n createZone(input: $input) {\n ...Zone\n }\n }\n ", "\n"], ["\n mutation CreateZone($input: CreateZoneInput!) {\n createZone(input: $input) {\n ...Zone\n }\n }\n ", "\n"])), ZONE_FRAGMENT);
643
655
  var UPDATE_ZONE = apolloAngular.gql(templateObject_12$3 || (templateObject_12$3 = __makeTemplateObject(["\n mutation UpdateZone($input: UpdateZoneInput!) {\n updateZone(input: $input) {\n ...Zone\n }\n }\n ", "\n"], ["\n mutation UpdateZone($input: UpdateZoneInput!) {\n updateZone(input: $input) {\n ...Zone\n }\n }\n ", "\n"])), ZONE_FRAGMENT);
@@ -649,51 +661,52 @@
649
661
  var GET_TAX_CATEGORY = apolloAngular.gql(templateObject_18$3 || (templateObject_18$3 = __makeTemplateObject(["\n query GetTaxCategory($id: ID!) {\n taxCategory(id: $id) {\n ...TaxCategory\n }\n }\n ", "\n"], ["\n query GetTaxCategory($id: ID!) {\n taxCategory(id: $id) {\n ...TaxCategory\n }\n }\n ", "\n"])), TAX_CATEGORY_FRAGMENT);
650
662
  var CREATE_TAX_CATEGORY = apolloAngular.gql(templateObject_19$3 || (templateObject_19$3 = __makeTemplateObject(["\n mutation CreateTaxCategory($input: CreateTaxCategoryInput!) {\n createTaxCategory(input: $input) {\n ...TaxCategory\n }\n }\n ", "\n"], ["\n mutation CreateTaxCategory($input: CreateTaxCategoryInput!) {\n createTaxCategory(input: $input) {\n ...TaxCategory\n }\n }\n ", "\n"])), TAX_CATEGORY_FRAGMENT);
651
663
  var UPDATE_TAX_CATEGORY = apolloAngular.gql(templateObject_20$3 || (templateObject_20$3 = __makeTemplateObject(["\n mutation UpdateTaxCategory($input: UpdateTaxCategoryInput!) {\n updateTaxCategory(input: $input) {\n ...TaxCategory\n }\n }\n ", "\n"], ["\n mutation UpdateTaxCategory($input: UpdateTaxCategoryInput!) {\n updateTaxCategory(input: $input) {\n ...TaxCategory\n }\n }\n ", "\n"])), TAX_CATEGORY_FRAGMENT);
652
- var DELETE_TAX_CATEGORY = apolloAngular.gql(templateObject_21$2 || (templateObject_21$2 = __makeTemplateObject(["\n mutation DeleteTaxCategory($id: ID!) {\n deleteTaxCategory(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteTaxCategory($id: ID!) {\n deleteTaxCategory(id: $id) {\n result\n message\n }\n }\n"])));
664
+ var DELETE_TAX_CATEGORY = apolloAngular.gql(templateObject_21$3 || (templateObject_21$3 = __makeTemplateObject(["\n mutation DeleteTaxCategory($id: ID!) {\n deleteTaxCategory(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteTaxCategory($id: ID!) {\n deleteTaxCategory(id: $id) {\n result\n message\n }\n }\n"])));
653
665
  var TAX_RATE_FRAGMENT = apolloAngular.gql(templateObject_22$2 || (templateObject_22$2 = __makeTemplateObject(["\n fragment TaxRate on TaxRate {\n id\n createdAt\n updatedAt\n name\n enabled\n value\n category {\n id\n name\n }\n zone {\n id\n name\n }\n customerGroup {\n id\n name\n }\n }\n"], ["\n fragment TaxRate on TaxRate {\n id\n createdAt\n updatedAt\n name\n enabled\n value\n category {\n id\n name\n }\n zone {\n id\n name\n }\n customerGroup {\n id\n name\n }\n }\n"])));
654
666
  var GET_TAX_RATE_LIST = apolloAngular.gql(templateObject_23$2 || (templateObject_23$2 = __makeTemplateObject(["\n query GetTaxRateList($options: TaxRateListOptions) {\n taxRates(options: $options) {\n items {\n ...TaxRate\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetTaxRateList($options: TaxRateListOptions) {\n taxRates(options: $options) {\n items {\n ...TaxRate\n }\n totalItems\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
655
- var GET_TAX_RATE = apolloAngular.gql(templateObject_24$2 || (templateObject_24$2 = __makeTemplateObject(["\n query GetTaxRate($id: ID!) {\n taxRate(id: $id) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n query GetTaxRate($id: ID!) {\n taxRate(id: $id) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
656
- var CREATE_TAX_RATE = apolloAngular.gql(templateObject_25$2 || (templateObject_25$2 = __makeTemplateObject(["\n mutation CreateTaxRate($input: CreateTaxRateInput!) {\n createTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n mutation CreateTaxRate($input: CreateTaxRateInput!) {\n createTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
657
- var UPDATE_TAX_RATE = apolloAngular.gql(templateObject_26$1 || (templateObject_26$1 = __makeTemplateObject(["\n mutation UpdateTaxRate($input: UpdateTaxRateInput!) {\n updateTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n mutation UpdateTaxRate($input: UpdateTaxRateInput!) {\n updateTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
658
- var DELETE_TAX_RATE = apolloAngular.gql(templateObject_27$1 || (templateObject_27$1 = __makeTemplateObject(["\n mutation DeleteTaxRate($id: ID!) {\n deleteTaxRate(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteTaxRate($id: ID!) {\n deleteTaxRate(id: $id) {\n result\n message\n }\n }\n"])));
659
- var CHANNEL_FRAGMENT = apolloAngular.gql(templateObject_28$1 || (templateObject_28$1 = __makeTemplateObject(["\n fragment Channel on Channel {\n id\n createdAt\n updatedAt\n code\n token\n pricesIncludeTax\n currencyCode\n defaultLanguageCode\n defaultShippingZone {\n id\n name\n }\n defaultTaxZone {\n id\n name\n }\n }\n"], ["\n fragment Channel on Channel {\n id\n createdAt\n updatedAt\n code\n token\n pricesIncludeTax\n currencyCode\n defaultLanguageCode\n defaultShippingZone {\n id\n name\n }\n defaultTaxZone {\n id\n name\n }\n }\n"])));
660
- var GET_CHANNELS = apolloAngular.gql(templateObject_29$1 || (templateObject_29$1 = __makeTemplateObject(["\n query GetChannels {\n channels {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetChannels {\n channels {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
661
- var GET_CHANNEL = apolloAngular.gql(templateObject_30$1 || (templateObject_30$1 = __makeTemplateObject(["\n query GetChannel($id: ID!) {\n channel(id: $id) {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetChannel($id: ID!) {\n channel(id: $id) {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
662
- var GET_ACTIVE_CHANNEL = apolloAngular.gql(templateObject_31$1 || (templateObject_31$1 = __makeTemplateObject(["\n query GetActiveChannel {\n activeChannel {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetActiveChannel {\n activeChannel {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
663
- var CREATE_CHANNEL = apolloAngular.gql(templateObject_32$1 || (templateObject_32$1 = __makeTemplateObject(["\n mutation CreateChannel($input: CreateChannelInput!) {\n createChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation CreateChannel($input: CreateChannelInput!) {\n createChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CHANNEL_FRAGMENT, ERROR_RESULT_FRAGMENT);
664
- var UPDATE_CHANNEL = apolloAngular.gql(templateObject_33$1 || (templateObject_33$1 = __makeTemplateObject(["\n mutation UpdateChannel($input: UpdateChannelInput!) {\n updateChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateChannel($input: UpdateChannelInput!) {\n updateChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CHANNEL_FRAGMENT, ERROR_RESULT_FRAGMENT);
665
- var DELETE_CHANNEL = apolloAngular.gql(templateObject_34$1 || (templateObject_34$1 = __makeTemplateObject(["\n mutation DeleteChannel($id: ID!) {\n deleteChannel(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteChannel($id: ID!) {\n deleteChannel(id: $id) {\n result\n message\n }\n }\n"])));
666
- var PAYMENT_METHOD_FRAGMENT = apolloAngular.gql(templateObject_35$1 || (templateObject_35$1 = __makeTemplateObject(["\n fragment PaymentMethod on PaymentMethod {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n checker {\n ...ConfigurableOperation\n }\n handler {\n ...ConfigurableOperation\n }\n }\n ", "\n"], ["\n fragment PaymentMethod on PaymentMethod {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n checker {\n ...ConfigurableOperation\n }\n handler {\n ...ConfigurableOperation\n }\n }\n ", "\n"])), CONFIGURABLE_OPERATION_FRAGMENT);
667
- var GET_PAYMENT_METHOD_LIST = apolloAngular.gql(templateObject_36$1 || (templateObject_36$1 = __makeTemplateObject(["\n query GetPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n ...PaymentMethod\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n ...PaymentMethod\n }\n totalItems\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
668
- var GET_PAYMENT_METHOD_OPERATIONS = apolloAngular.gql(templateObject_37$1 || (templateObject_37$1 = __makeTemplateObject(["\n query GetPaymentMethodOperations {\n paymentMethodEligibilityCheckers {\n ...ConfigurableOperationDef\n }\n paymentMethodHandlers {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"], ["\n query GetPaymentMethodOperations {\n paymentMethodEligibilityCheckers {\n ...ConfigurableOperationDef\n }\n paymentMethodHandlers {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"])), CONFIGURABLE_OPERATION_DEF_FRAGMENT);
669
- var GET_PAYMENT_METHOD = apolloAngular.gql(templateObject_38$1 || (templateObject_38$1 = __makeTemplateObject(["\n query GetPaymentMethod($id: ID!) {\n paymentMethod(id: $id) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n query GetPaymentMethod($id: ID!) {\n paymentMethod(id: $id) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
670
- var CREATE_PAYMENT_METHOD = apolloAngular.gql(templateObject_39$1 || (templateObject_39$1 = __makeTemplateObject(["\n mutation CreatePaymentMethod($input: CreatePaymentMethodInput!) {\n createPaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n mutation CreatePaymentMethod($input: CreatePaymentMethodInput!) {\n createPaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
671
- var UPDATE_PAYMENT_METHOD = apolloAngular.gql(templateObject_40$1 || (templateObject_40$1 = __makeTemplateObject(["\n mutation UpdatePaymentMethod($input: UpdatePaymentMethodInput!) {\n updatePaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n mutation UpdatePaymentMethod($input: UpdatePaymentMethodInput!) {\n updatePaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
672
- var DELETE_PAYMENT_METHOD = apolloAngular.gql(templateObject_41$1 || (templateObject_41$1 = __makeTemplateObject(["\n mutation DeletePaymentMethod($id: ID!, $force: Boolean) {\n deletePaymentMethod(id: $id, force: $force) {\n result\n message\n }\n }\n"], ["\n mutation DeletePaymentMethod($id: ID!, $force: Boolean) {\n deletePaymentMethod(id: $id, force: $force) {\n result\n message\n }\n }\n"])));
673
- var GLOBAL_SETTINGS_FRAGMENT = apolloAngular.gql(templateObject_42$1 || (templateObject_42$1 = __makeTemplateObject(["\n fragment GlobalSettings on GlobalSettings {\n id\n availableLanguages\n trackInventory\n outOfStockThreshold\n serverConfig {\n permissions {\n name\n description\n assignable\n }\n orderProcess {\n name\n }\n }\n }\n"], ["\n fragment GlobalSettings on GlobalSettings {\n id\n availableLanguages\n trackInventory\n outOfStockThreshold\n serverConfig {\n permissions {\n name\n description\n assignable\n }\n orderProcess {\n name\n }\n }\n }\n"])));
674
- var GET_GLOBAL_SETTINGS = apolloAngular.gql(templateObject_43$1 || (templateObject_43$1 = __makeTemplateObject(["\n query GetGlobalSettings {\n globalSettings {\n ...GlobalSettings\n }\n }\n ", "\n"], ["\n query GetGlobalSettings {\n globalSettings {\n ...GlobalSettings\n }\n }\n ", "\n"])), GLOBAL_SETTINGS_FRAGMENT);
675
- var UPDATE_GLOBAL_SETTINGS = apolloAngular.gql(templateObject_44$1 || (templateObject_44$1 = __makeTemplateObject(["\n mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) {\n updateGlobalSettings(input: $input) {\n ...GlobalSettings\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) {\n updateGlobalSettings(input: $input) {\n ...GlobalSettings\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), GLOBAL_SETTINGS_FRAGMENT, ERROR_RESULT_FRAGMENT);
676
- var CUSTOM_FIELD_CONFIG_FRAGMENT = apolloAngular.gql(templateObject_45 || (templateObject_45 = __makeTemplateObject(["\n fragment CustomFieldConfig on CustomField {\n name\n type\n list\n description {\n languageCode\n value\n }\n label {\n languageCode\n value\n }\n readonly\n nullable\n }\n"], ["\n fragment CustomFieldConfig on CustomField {\n name\n type\n list\n description {\n languageCode\n value\n }\n label {\n languageCode\n value\n }\n readonly\n nullable\n }\n"])));
677
- var STRING_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_46 || (templateObject_46 = __makeTemplateObject(["\n fragment StringCustomField on StringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n options {\n label {\n languageCode\n value\n }\n value\n }\n }\n ", "\n"], ["\n fragment StringCustomField on StringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n options {\n label {\n languageCode\n value\n }\n value\n }\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
678
- var LOCALE_STRING_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_47 || (templateObject_47 = __makeTemplateObject(["\n fragment LocaleStringCustomField on LocaleStringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n }\n ", "\n"], ["\n fragment LocaleStringCustomField on LocaleStringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
679
- var TEXT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_48 || (templateObject_48 = __makeTemplateObject(["\n fragment TextCustomField on TextCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"], ["\n fragment TextCustomField on TextCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
680
- var BOOLEAN_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_49 || (templateObject_49 = __makeTemplateObject(["\n fragment BooleanCustomField on BooleanCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"], ["\n fragment BooleanCustomField on BooleanCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
681
- var INT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_50 || (templateObject_50 = __makeTemplateObject(["\n fragment IntCustomField on IntCustomFieldConfig {\n ...CustomFieldConfig\n intMin: min\n intMax: max\n intStep: step\n }\n ", "\n"], ["\n fragment IntCustomField on IntCustomFieldConfig {\n ...CustomFieldConfig\n intMin: min\n intMax: max\n intStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
682
- var FLOAT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_51 || (templateObject_51 = __makeTemplateObject(["\n fragment FloatCustomField on FloatCustomFieldConfig {\n ...CustomFieldConfig\n floatMin: min\n floatMax: max\n floatStep: step\n }\n ", "\n"], ["\n fragment FloatCustomField on FloatCustomFieldConfig {\n ...CustomFieldConfig\n floatMin: min\n floatMax: max\n floatStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
683
- var DATE_TIME_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_52 || (templateObject_52 = __makeTemplateObject(["\n fragment DateTimeCustomField on DateTimeCustomFieldConfig {\n ...CustomFieldConfig\n datetimeMin: min\n datetimeMax: max\n datetimeStep: step\n }\n ", "\n"], ["\n fragment DateTimeCustomField on DateTimeCustomFieldConfig {\n ...CustomFieldConfig\n datetimeMin: min\n datetimeMax: max\n datetimeStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
684
- var RELATION_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_53 || (templateObject_53 = __makeTemplateObject(["\n fragment RelationCustomField on RelationCustomFieldConfig {\n ...CustomFieldConfig\n entity\n scalarFields\n }\n ", "\n"], ["\n fragment RelationCustomField on RelationCustomFieldConfig {\n ...CustomFieldConfig\n entity\n scalarFields\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
685
- var ALL_CUSTOM_FIELDS_FRAGMENT = apolloAngular.gql(templateObject_54 || (templateObject_54 = __makeTemplateObject(["\n fragment CustomFields on CustomField {\n ... on StringCustomFieldConfig {\n ...StringCustomField\n }\n ... on LocaleStringCustomFieldConfig {\n ...LocaleStringCustomField\n }\n ... on TextCustomFieldConfig {\n ...TextCustomField\n }\n ... on BooleanCustomFieldConfig {\n ...BooleanCustomField\n }\n ... on IntCustomFieldConfig {\n ...IntCustomField\n }\n ... on FloatCustomFieldConfig {\n ...FloatCustomField\n }\n ... on DateTimeCustomFieldConfig {\n ...DateTimeCustomField\n }\n ... on RelationCustomFieldConfig {\n ...RelationCustomField\n }\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"], ["\n fragment CustomFields on CustomField {\n ... on StringCustomFieldConfig {\n ...StringCustomField\n }\n ... on LocaleStringCustomFieldConfig {\n ...LocaleStringCustomField\n }\n ... on TextCustomFieldConfig {\n ...TextCustomField\n }\n ... on BooleanCustomFieldConfig {\n ...BooleanCustomField\n }\n ... on IntCustomFieldConfig {\n ...IntCustomField\n }\n ... on FloatCustomFieldConfig {\n ...FloatCustomField\n }\n ... on DateTimeCustomFieldConfig {\n ...DateTimeCustomField\n }\n ... on RelationCustomFieldConfig {\n ...RelationCustomField\n }\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), STRING_CUSTOM_FIELD_FRAGMENT, LOCALE_STRING_CUSTOM_FIELD_FRAGMENT, TEXT_CUSTOM_FIELD_FRAGMENT, BOOLEAN_CUSTOM_FIELD_FRAGMENT, INT_CUSTOM_FIELD_FRAGMENT, FLOAT_CUSTOM_FIELD_FRAGMENT, DATE_TIME_CUSTOM_FIELD_FRAGMENT, RELATION_CUSTOM_FIELD_FRAGMENT);
686
- var GET_SERVER_CONFIG = apolloAngular.gql(templateObject_55 || (templateObject_55 = __makeTemplateObject(["\n query GetServerConfig {\n globalSettings {\n id\n serverConfig {\n orderProcess {\n name\n to\n }\n permittedAssetTypes\n permissions {\n name\n description\n assignable\n }\n customFieldConfig {\n Address {\n ...CustomFields\n }\n Administrator {\n ...CustomFields\n }\n Asset {\n ...CustomFields\n }\n Channel {\n ...CustomFields\n }\n Collection {\n ...CustomFields\n }\n Customer {\n ...CustomFields\n }\n Facet {\n ...CustomFields\n }\n FacetValue {\n ...CustomFields\n }\n Fulfillment {\n ...CustomFields\n }\n GlobalSettings {\n ...CustomFields\n }\n Order {\n ...CustomFields\n }\n OrderLine {\n ...CustomFields\n }\n Product {\n ...CustomFields\n }\n ProductOption {\n ...CustomFields\n }\n ProductOptionGroup {\n ...CustomFields\n }\n ProductVariant {\n ...CustomFields\n }\n ShippingMethod {\n ...CustomFields\n }\n User {\n ...CustomFields\n }\n }\n }\n }\n }\n ", "\n"], ["\n query GetServerConfig {\n globalSettings {\n id\n serverConfig {\n orderProcess {\n name\n to\n }\n permittedAssetTypes\n permissions {\n name\n description\n assignable\n }\n customFieldConfig {\n Address {\n ...CustomFields\n }\n Administrator {\n ...CustomFields\n }\n Asset {\n ...CustomFields\n }\n Channel {\n ...CustomFields\n }\n Collection {\n ...CustomFields\n }\n Customer {\n ...CustomFields\n }\n Facet {\n ...CustomFields\n }\n FacetValue {\n ...CustomFields\n }\n Fulfillment {\n ...CustomFields\n }\n GlobalSettings {\n ...CustomFields\n }\n Order {\n ...CustomFields\n }\n OrderLine {\n ...CustomFields\n }\n Product {\n ...CustomFields\n }\n ProductOption {\n ...CustomFields\n }\n ProductOptionGroup {\n ...CustomFields\n }\n ProductVariant {\n ...CustomFields\n }\n ShippingMethod {\n ...CustomFields\n }\n User {\n ...CustomFields\n }\n }\n }\n }\n }\n ", "\n"])), ALL_CUSTOM_FIELDS_FRAGMENT);
687
- var JOB_INFO_FRAGMENT = apolloAngular.gql(templateObject_56 || (templateObject_56 = __makeTemplateObject(["\n fragment JobInfo on Job {\n id\n createdAt\n startedAt\n settledAt\n queueName\n state\n isSettled\n progress\n duration\n data\n result\n error\n retries\n attempts\n }\n"], ["\n fragment JobInfo on Job {\n id\n createdAt\n startedAt\n settledAt\n queueName\n state\n isSettled\n progress\n duration\n data\n result\n error\n retries\n attempts\n }\n"])));
688
- var GET_JOB_INFO = apolloAngular.gql(templateObject_57 || (templateObject_57 = __makeTemplateObject(["\n query GetJobInfo($id: ID!) {\n job(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n query GetJobInfo($id: ID!) {\n job(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
689
- var GET_JOBS_LIST = apolloAngular.gql(templateObject_58 || (templateObject_58 = __makeTemplateObject(["\n query GetAllJobs($options: JobListOptions) {\n jobs(options: $options) {\n items {\n ...JobInfo\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetAllJobs($options: JobListOptions) {\n jobs(options: $options) {\n items {\n ...JobInfo\n }\n totalItems\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
690
- var GET_JOBS_BY_ID = apolloAngular.gql(templateObject_59 || (templateObject_59 = __makeTemplateObject(["\n query GetJobsById($ids: [ID!]!) {\n jobsById(jobIds: $ids) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n query GetJobsById($ids: [ID!]!) {\n jobsById(jobIds: $ids) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
691
- var GET_JOB_QUEUE_LIST = apolloAngular.gql(templateObject_60 || (templateObject_60 = __makeTemplateObject(["\n query GetJobQueueList {\n jobQueues {\n name\n running\n }\n }\n"], ["\n query GetJobQueueList {\n jobQueues {\n name\n running\n }\n }\n"])));
692
- var CANCEL_JOB = apolloAngular.gql(templateObject_61 || (templateObject_61 = __makeTemplateObject(["\n mutation CancelJob($id: ID!) {\n cancelJob(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n mutation CancelJob($id: ID!) {\n cancelJob(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
693
- var REINDEX = apolloAngular.gql(templateObject_62 || (templateObject_62 = __makeTemplateObject(["\n mutation Reindex {\n reindex {\n ...JobInfo\n }\n }\n ", "\n"], ["\n mutation Reindex {\n reindex {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
694
- var GET_PENDING_SEARCH_INDEX_UPDATES = apolloAngular.gql(templateObject_63 || (templateObject_63 = __makeTemplateObject(["\n query GetPendingSearchIndexUpdates {\n pendingSearchIndexUpdates\n }\n"], ["\n query GetPendingSearchIndexUpdates {\n pendingSearchIndexUpdates\n }\n"])));
695
- var RUN_PENDING_SEARCH_INDEX_UPDATES = apolloAngular.gql(templateObject_64 || (templateObject_64 = __makeTemplateObject(["\n mutation RunPendingSearchIndexUpdates {\n runPendingSearchIndexUpdates {\n success\n }\n }\n"], ["\n mutation RunPendingSearchIndexUpdates {\n runPendingSearchIndexUpdates {\n success\n }\n }\n"])));
696
- var templateObject_1$7, templateObject_2$7, templateObject_3$7, templateObject_4$7, templateObject_5$7, templateObject_6$7, templateObject_7$7, templateObject_8$6, templateObject_9$6, templateObject_10$4, templateObject_11$3, templateObject_12$3, templateObject_13$3, templateObject_14$3, templateObject_15$3, templateObject_16$3, templateObject_17$3, templateObject_18$3, templateObject_19$3, templateObject_20$3, templateObject_21$2, templateObject_22$2, templateObject_23$2, templateObject_24$2, templateObject_25$2, templateObject_26$1, templateObject_27$1, templateObject_28$1, templateObject_29$1, templateObject_30$1, templateObject_31$1, templateObject_32$1, templateObject_33$1, templateObject_34$1, templateObject_35$1, templateObject_36$1, templateObject_37$1, templateObject_38$1, templateObject_39$1, templateObject_40$1, templateObject_41$1, templateObject_42$1, templateObject_43$1, templateObject_44$1, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49, templateObject_50, templateObject_51, templateObject_52, templateObject_53, templateObject_54, templateObject_55, templateObject_56, templateObject_57, templateObject_58, templateObject_59, templateObject_60, templateObject_61, templateObject_62, templateObject_63, templateObject_64;
667
+ var GET_TAX_RATE_LIST_SIMPLE = apolloAngular.gql(templateObject_24$2 || (templateObject_24$2 = __makeTemplateObject(["\n query GetTaxRateListSimple($options: TaxRateListOptions) {\n taxRates(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n enabled\n value\n category {\n id\n name\n }\n zone {\n id\n name\n }\n }\n totalItems\n }\n }\n"], ["\n query GetTaxRateListSimple($options: TaxRateListOptions) {\n taxRates(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n enabled\n value\n category {\n id\n name\n }\n zone {\n id\n name\n }\n }\n totalItems\n }\n }\n"])));
668
+ var GET_TAX_RATE = apolloAngular.gql(templateObject_25$2 || (templateObject_25$2 = __makeTemplateObject(["\n query GetTaxRate($id: ID!) {\n taxRate(id: $id) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n query GetTaxRate($id: ID!) {\n taxRate(id: $id) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
669
+ var CREATE_TAX_RATE = apolloAngular.gql(templateObject_26$1 || (templateObject_26$1 = __makeTemplateObject(["\n mutation CreateTaxRate($input: CreateTaxRateInput!) {\n createTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n mutation CreateTaxRate($input: CreateTaxRateInput!) {\n createTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
670
+ var UPDATE_TAX_RATE = apolloAngular.gql(templateObject_27$1 || (templateObject_27$1 = __makeTemplateObject(["\n mutation UpdateTaxRate($input: UpdateTaxRateInput!) {\n updateTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"], ["\n mutation UpdateTaxRate($input: UpdateTaxRateInput!) {\n updateTaxRate(input: $input) {\n ...TaxRate\n }\n }\n ", "\n"])), TAX_RATE_FRAGMENT);
671
+ var DELETE_TAX_RATE = apolloAngular.gql(templateObject_28$1 || (templateObject_28$1 = __makeTemplateObject(["\n mutation DeleteTaxRate($id: ID!) {\n deleteTaxRate(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteTaxRate($id: ID!) {\n deleteTaxRate(id: $id) {\n result\n message\n }\n }\n"])));
672
+ var CHANNEL_FRAGMENT = apolloAngular.gql(templateObject_29$1 || (templateObject_29$1 = __makeTemplateObject(["\n fragment Channel on Channel {\n id\n createdAt\n updatedAt\n code\n token\n pricesIncludeTax\n currencyCode\n defaultLanguageCode\n defaultShippingZone {\n id\n name\n }\n defaultTaxZone {\n id\n name\n }\n }\n"], ["\n fragment Channel on Channel {\n id\n createdAt\n updatedAt\n code\n token\n pricesIncludeTax\n currencyCode\n defaultLanguageCode\n defaultShippingZone {\n id\n name\n }\n defaultTaxZone {\n id\n name\n }\n }\n"])));
673
+ var GET_CHANNELS = apolloAngular.gql(templateObject_30$1 || (templateObject_30$1 = __makeTemplateObject(["\n query GetChannels {\n channels {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetChannels {\n channels {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
674
+ var GET_CHANNEL = apolloAngular.gql(templateObject_31$1 || (templateObject_31$1 = __makeTemplateObject(["\n query GetChannel($id: ID!) {\n channel(id: $id) {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetChannel($id: ID!) {\n channel(id: $id) {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
675
+ var GET_ACTIVE_CHANNEL = apolloAngular.gql(templateObject_32$1 || (templateObject_32$1 = __makeTemplateObject(["\n query GetActiveChannel {\n activeChannel {\n ...Channel\n }\n }\n ", "\n"], ["\n query GetActiveChannel {\n activeChannel {\n ...Channel\n }\n }\n ", "\n"])), CHANNEL_FRAGMENT);
676
+ var CREATE_CHANNEL = apolloAngular.gql(templateObject_33$1 || (templateObject_33$1 = __makeTemplateObject(["\n mutation CreateChannel($input: CreateChannelInput!) {\n createChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation CreateChannel($input: CreateChannelInput!) {\n createChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CHANNEL_FRAGMENT, ERROR_RESULT_FRAGMENT);
677
+ var UPDATE_CHANNEL = apolloAngular.gql(templateObject_34$1 || (templateObject_34$1 = __makeTemplateObject(["\n mutation UpdateChannel($input: UpdateChannelInput!) {\n updateChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateChannel($input: UpdateChannelInput!) {\n updateChannel(input: $input) {\n ...Channel\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CHANNEL_FRAGMENT, ERROR_RESULT_FRAGMENT);
678
+ var DELETE_CHANNEL = apolloAngular.gql(templateObject_35$1 || (templateObject_35$1 = __makeTemplateObject(["\n mutation DeleteChannel($id: ID!) {\n deleteChannel(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteChannel($id: ID!) {\n deleteChannel(id: $id) {\n result\n message\n }\n }\n"])));
679
+ var PAYMENT_METHOD_FRAGMENT = apolloAngular.gql(templateObject_36$1 || (templateObject_36$1 = __makeTemplateObject(["\n fragment PaymentMethod on PaymentMethod {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n checker {\n ...ConfigurableOperation\n }\n handler {\n ...ConfigurableOperation\n }\n }\n ", "\n"], ["\n fragment PaymentMethod on PaymentMethod {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n checker {\n ...ConfigurableOperation\n }\n handler {\n ...ConfigurableOperation\n }\n }\n ", "\n"])), CONFIGURABLE_OPERATION_FRAGMENT);
680
+ var GET_PAYMENT_METHOD_LIST = apolloAngular.gql(templateObject_37$1 || (templateObject_37$1 = __makeTemplateObject(["\n query GetPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n ...PaymentMethod\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n ...PaymentMethod\n }\n totalItems\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
681
+ var GET_PAYMENT_METHOD_OPERATIONS = apolloAngular.gql(templateObject_38$1 || (templateObject_38$1 = __makeTemplateObject(["\n query GetPaymentMethodOperations {\n paymentMethodEligibilityCheckers {\n ...ConfigurableOperationDef\n }\n paymentMethodHandlers {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"], ["\n query GetPaymentMethodOperations {\n paymentMethodEligibilityCheckers {\n ...ConfigurableOperationDef\n }\n paymentMethodHandlers {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"])), CONFIGURABLE_OPERATION_DEF_FRAGMENT);
682
+ var GET_PAYMENT_METHOD = apolloAngular.gql(templateObject_39$1 || (templateObject_39$1 = __makeTemplateObject(["\n query GetPaymentMethod($id: ID!) {\n paymentMethod(id: $id) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n query GetPaymentMethod($id: ID!) {\n paymentMethod(id: $id) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
683
+ var CREATE_PAYMENT_METHOD = apolloAngular.gql(templateObject_40$1 || (templateObject_40$1 = __makeTemplateObject(["\n mutation CreatePaymentMethod($input: CreatePaymentMethodInput!) {\n createPaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n mutation CreatePaymentMethod($input: CreatePaymentMethodInput!) {\n createPaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
684
+ var UPDATE_PAYMENT_METHOD = apolloAngular.gql(templateObject_41$1 || (templateObject_41$1 = __makeTemplateObject(["\n mutation UpdatePaymentMethod($input: UpdatePaymentMethodInput!) {\n updatePaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"], ["\n mutation UpdatePaymentMethod($input: UpdatePaymentMethodInput!) {\n updatePaymentMethod(input: $input) {\n ...PaymentMethod\n }\n }\n ", "\n"])), PAYMENT_METHOD_FRAGMENT);
685
+ var DELETE_PAYMENT_METHOD = apolloAngular.gql(templateObject_42$1 || (templateObject_42$1 = __makeTemplateObject(["\n mutation DeletePaymentMethod($id: ID!, $force: Boolean) {\n deletePaymentMethod(id: $id, force: $force) {\n result\n message\n }\n }\n"], ["\n mutation DeletePaymentMethod($id: ID!, $force: Boolean) {\n deletePaymentMethod(id: $id, force: $force) {\n result\n message\n }\n }\n"])));
686
+ var GLOBAL_SETTINGS_FRAGMENT = apolloAngular.gql(templateObject_43$1 || (templateObject_43$1 = __makeTemplateObject(["\n fragment GlobalSettings on GlobalSettings {\n id\n availableLanguages\n trackInventory\n outOfStockThreshold\n serverConfig {\n permissions {\n name\n description\n assignable\n }\n orderProcess {\n name\n }\n }\n }\n"], ["\n fragment GlobalSettings on GlobalSettings {\n id\n availableLanguages\n trackInventory\n outOfStockThreshold\n serverConfig {\n permissions {\n name\n description\n assignable\n }\n orderProcess {\n name\n }\n }\n }\n"])));
687
+ var GET_GLOBAL_SETTINGS = apolloAngular.gql(templateObject_44$1 || (templateObject_44$1 = __makeTemplateObject(["\n query GetGlobalSettings {\n globalSettings {\n ...GlobalSettings\n }\n }\n ", "\n"], ["\n query GetGlobalSettings {\n globalSettings {\n ...GlobalSettings\n }\n }\n ", "\n"])), GLOBAL_SETTINGS_FRAGMENT);
688
+ var UPDATE_GLOBAL_SETTINGS = apolloAngular.gql(templateObject_45 || (templateObject_45 = __makeTemplateObject(["\n mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) {\n updateGlobalSettings(input: $input) {\n ...GlobalSettings\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) {\n updateGlobalSettings(input: $input) {\n ...GlobalSettings\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), GLOBAL_SETTINGS_FRAGMENT, ERROR_RESULT_FRAGMENT);
689
+ var CUSTOM_FIELD_CONFIG_FRAGMENT = apolloAngular.gql(templateObject_46 || (templateObject_46 = __makeTemplateObject(["\n fragment CustomFieldConfig on CustomField {\n name\n type\n list\n description {\n languageCode\n value\n }\n label {\n languageCode\n value\n }\n readonly\n nullable\n ui\n }\n"], ["\n fragment CustomFieldConfig on CustomField {\n name\n type\n list\n description {\n languageCode\n value\n }\n label {\n languageCode\n value\n }\n readonly\n nullable\n ui\n }\n"])));
690
+ var STRING_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_47 || (templateObject_47 = __makeTemplateObject(["\n fragment StringCustomField on StringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n options {\n label {\n languageCode\n value\n }\n value\n }\n }\n ", "\n"], ["\n fragment StringCustomField on StringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n options {\n label {\n languageCode\n value\n }\n value\n }\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
691
+ var LOCALE_STRING_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_48 || (templateObject_48 = __makeTemplateObject(["\n fragment LocaleStringCustomField on LocaleStringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n }\n ", "\n"], ["\n fragment LocaleStringCustomField on LocaleStringCustomFieldConfig {\n ...CustomFieldConfig\n pattern\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
692
+ var TEXT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_49 || (templateObject_49 = __makeTemplateObject(["\n fragment TextCustomField on TextCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"], ["\n fragment TextCustomField on TextCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
693
+ var BOOLEAN_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_50 || (templateObject_50 = __makeTemplateObject(["\n fragment BooleanCustomField on BooleanCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"], ["\n fragment BooleanCustomField on BooleanCustomFieldConfig {\n ...CustomFieldConfig\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
694
+ var INT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_51 || (templateObject_51 = __makeTemplateObject(["\n fragment IntCustomField on IntCustomFieldConfig {\n ...CustomFieldConfig\n intMin: min\n intMax: max\n intStep: step\n }\n ", "\n"], ["\n fragment IntCustomField on IntCustomFieldConfig {\n ...CustomFieldConfig\n intMin: min\n intMax: max\n intStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
695
+ var FLOAT_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_52 || (templateObject_52 = __makeTemplateObject(["\n fragment FloatCustomField on FloatCustomFieldConfig {\n ...CustomFieldConfig\n floatMin: min\n floatMax: max\n floatStep: step\n }\n ", "\n"], ["\n fragment FloatCustomField on FloatCustomFieldConfig {\n ...CustomFieldConfig\n floatMin: min\n floatMax: max\n floatStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
696
+ var DATE_TIME_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_53 || (templateObject_53 = __makeTemplateObject(["\n fragment DateTimeCustomField on DateTimeCustomFieldConfig {\n ...CustomFieldConfig\n datetimeMin: min\n datetimeMax: max\n datetimeStep: step\n }\n ", "\n"], ["\n fragment DateTimeCustomField on DateTimeCustomFieldConfig {\n ...CustomFieldConfig\n datetimeMin: min\n datetimeMax: max\n datetimeStep: step\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
697
+ var RELATION_CUSTOM_FIELD_FRAGMENT = apolloAngular.gql(templateObject_54 || (templateObject_54 = __makeTemplateObject(["\n fragment RelationCustomField on RelationCustomFieldConfig {\n ...CustomFieldConfig\n entity\n scalarFields\n }\n ", "\n"], ["\n fragment RelationCustomField on RelationCustomFieldConfig {\n ...CustomFieldConfig\n entity\n scalarFields\n }\n ", "\n"])), CUSTOM_FIELD_CONFIG_FRAGMENT);
698
+ var ALL_CUSTOM_FIELDS_FRAGMENT = apolloAngular.gql(templateObject_55 || (templateObject_55 = __makeTemplateObject(["\n fragment CustomFields on CustomField {\n ... on StringCustomFieldConfig {\n ...StringCustomField\n }\n ... on LocaleStringCustomFieldConfig {\n ...LocaleStringCustomField\n }\n ... on TextCustomFieldConfig {\n ...TextCustomField\n }\n ... on BooleanCustomFieldConfig {\n ...BooleanCustomField\n }\n ... on IntCustomFieldConfig {\n ...IntCustomField\n }\n ... on FloatCustomFieldConfig {\n ...FloatCustomField\n }\n ... on DateTimeCustomFieldConfig {\n ...DateTimeCustomField\n }\n ... on RelationCustomFieldConfig {\n ...RelationCustomField\n }\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"], ["\n fragment CustomFields on CustomField {\n ... on StringCustomFieldConfig {\n ...StringCustomField\n }\n ... on LocaleStringCustomFieldConfig {\n ...LocaleStringCustomField\n }\n ... on TextCustomFieldConfig {\n ...TextCustomField\n }\n ... on BooleanCustomFieldConfig {\n ...BooleanCustomField\n }\n ... on IntCustomFieldConfig {\n ...IntCustomField\n }\n ... on FloatCustomFieldConfig {\n ...FloatCustomField\n }\n ... on DateTimeCustomFieldConfig {\n ...DateTimeCustomField\n }\n ... on RelationCustomFieldConfig {\n ...RelationCustomField\n }\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), STRING_CUSTOM_FIELD_FRAGMENT, LOCALE_STRING_CUSTOM_FIELD_FRAGMENT, TEXT_CUSTOM_FIELD_FRAGMENT, BOOLEAN_CUSTOM_FIELD_FRAGMENT, INT_CUSTOM_FIELD_FRAGMENT, FLOAT_CUSTOM_FIELD_FRAGMENT, DATE_TIME_CUSTOM_FIELD_FRAGMENT, RELATION_CUSTOM_FIELD_FRAGMENT);
699
+ var GET_SERVER_CONFIG = apolloAngular.gql(templateObject_56 || (templateObject_56 = __makeTemplateObject(["\n query GetServerConfig {\n globalSettings {\n id\n serverConfig {\n orderProcess {\n name\n to\n }\n permittedAssetTypes\n permissions {\n name\n description\n assignable\n }\n customFieldConfig {\n Address {\n ...CustomFields\n }\n Administrator {\n ...CustomFields\n }\n Asset {\n ...CustomFields\n }\n Channel {\n ...CustomFields\n }\n Collection {\n ...CustomFields\n }\n Country {\n ...CustomFields\n }\n Customer {\n ...CustomFields\n }\n CustomerGroup {\n ...CustomFields\n }\n Facet {\n ...CustomFields\n }\n FacetValue {\n ...CustomFields\n }\n Fulfillment {\n ...CustomFields\n }\n GlobalSettings {\n ...CustomFields\n }\n Order {\n ...CustomFields\n }\n OrderLine {\n ...CustomFields\n }\n PaymentMethod {\n ...CustomFields\n }\n Product {\n ...CustomFields\n }\n ProductOption {\n ...CustomFields\n }\n ProductOptionGroup {\n ...CustomFields\n }\n ProductVariant {\n ...CustomFields\n }\n Promotion {\n ...CustomFields\n }\n ShippingMethod {\n ...CustomFields\n }\n TaxCategory {\n ...CustomFields\n }\n TaxRate {\n ...CustomFields\n }\n User {\n ...CustomFields\n }\n Zone {\n ...CustomFields\n }\n }\n }\n }\n }\n ", "\n"], ["\n query GetServerConfig {\n globalSettings {\n id\n serverConfig {\n orderProcess {\n name\n to\n }\n permittedAssetTypes\n permissions {\n name\n description\n assignable\n }\n customFieldConfig {\n Address {\n ...CustomFields\n }\n Administrator {\n ...CustomFields\n }\n Asset {\n ...CustomFields\n }\n Channel {\n ...CustomFields\n }\n Collection {\n ...CustomFields\n }\n Country {\n ...CustomFields\n }\n Customer {\n ...CustomFields\n }\n CustomerGroup {\n ...CustomFields\n }\n Facet {\n ...CustomFields\n }\n FacetValue {\n ...CustomFields\n }\n Fulfillment {\n ...CustomFields\n }\n GlobalSettings {\n ...CustomFields\n }\n Order {\n ...CustomFields\n }\n OrderLine {\n ...CustomFields\n }\n PaymentMethod {\n ...CustomFields\n }\n Product {\n ...CustomFields\n }\n ProductOption {\n ...CustomFields\n }\n ProductOptionGroup {\n ...CustomFields\n }\n ProductVariant {\n ...CustomFields\n }\n Promotion {\n ...CustomFields\n }\n ShippingMethod {\n ...CustomFields\n }\n TaxCategory {\n ...CustomFields\n }\n TaxRate {\n ...CustomFields\n }\n User {\n ...CustomFields\n }\n Zone {\n ...CustomFields\n }\n }\n }\n }\n }\n ", "\n"])), ALL_CUSTOM_FIELDS_FRAGMENT);
700
+ var JOB_INFO_FRAGMENT = apolloAngular.gql(templateObject_57 || (templateObject_57 = __makeTemplateObject(["\n fragment JobInfo on Job {\n id\n createdAt\n startedAt\n settledAt\n queueName\n state\n isSettled\n progress\n duration\n data\n result\n error\n retries\n attempts\n }\n"], ["\n fragment JobInfo on Job {\n id\n createdAt\n startedAt\n settledAt\n queueName\n state\n isSettled\n progress\n duration\n data\n result\n error\n retries\n attempts\n }\n"])));
701
+ var GET_JOB_INFO = apolloAngular.gql(templateObject_58 || (templateObject_58 = __makeTemplateObject(["\n query GetJobInfo($id: ID!) {\n job(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n query GetJobInfo($id: ID!) {\n job(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
702
+ var GET_JOBS_LIST = apolloAngular.gql(templateObject_59 || (templateObject_59 = __makeTemplateObject(["\n query GetAllJobs($options: JobListOptions) {\n jobs(options: $options) {\n items {\n ...JobInfo\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetAllJobs($options: JobListOptions) {\n jobs(options: $options) {\n items {\n ...JobInfo\n }\n totalItems\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
703
+ var GET_JOBS_BY_ID = apolloAngular.gql(templateObject_60 || (templateObject_60 = __makeTemplateObject(["\n query GetJobsById($ids: [ID!]!) {\n jobsById(jobIds: $ids) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n query GetJobsById($ids: [ID!]!) {\n jobsById(jobIds: $ids) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
704
+ var GET_JOB_QUEUE_LIST = apolloAngular.gql(templateObject_61 || (templateObject_61 = __makeTemplateObject(["\n query GetJobQueueList {\n jobQueues {\n name\n running\n }\n }\n"], ["\n query GetJobQueueList {\n jobQueues {\n name\n running\n }\n }\n"])));
705
+ var CANCEL_JOB = apolloAngular.gql(templateObject_62 || (templateObject_62 = __makeTemplateObject(["\n mutation CancelJob($id: ID!) {\n cancelJob(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"], ["\n mutation CancelJob($id: ID!) {\n cancelJob(jobId: $id) {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
706
+ var REINDEX = apolloAngular.gql(templateObject_63 || (templateObject_63 = __makeTemplateObject(["\n mutation Reindex {\n reindex {\n ...JobInfo\n }\n }\n ", "\n"], ["\n mutation Reindex {\n reindex {\n ...JobInfo\n }\n }\n ", "\n"])), JOB_INFO_FRAGMENT);
707
+ var GET_PENDING_SEARCH_INDEX_UPDATES = apolloAngular.gql(templateObject_64 || (templateObject_64 = __makeTemplateObject(["\n query GetPendingSearchIndexUpdates {\n pendingSearchIndexUpdates\n }\n"], ["\n query GetPendingSearchIndexUpdates {\n pendingSearchIndexUpdates\n }\n"])));
708
+ var RUN_PENDING_SEARCH_INDEX_UPDATES = apolloAngular.gql(templateObject_65 || (templateObject_65 = __makeTemplateObject(["\n mutation RunPendingSearchIndexUpdates {\n runPendingSearchIndexUpdates {\n success\n }\n }\n"], ["\n mutation RunPendingSearchIndexUpdates {\n runPendingSearchIndexUpdates {\n success\n }\n }\n"])));
709
+ var templateObject_1$7, templateObject_2$7, templateObject_3$7, templateObject_4$7, templateObject_5$7, templateObject_6$7, templateObject_7$7, templateObject_8$6, templateObject_9$6, templateObject_10$4, templateObject_11$3, templateObject_12$3, templateObject_13$3, templateObject_14$3, templateObject_15$3, templateObject_16$3, templateObject_17$3, templateObject_18$3, templateObject_19$3, templateObject_20$3, templateObject_21$3, templateObject_22$2, templateObject_23$2, templateObject_24$2, templateObject_25$2, templateObject_26$1, templateObject_27$1, templateObject_28$1, templateObject_29$1, templateObject_30$1, templateObject_31$1, templateObject_32$1, templateObject_33$1, templateObject_34$1, templateObject_35$1, templateObject_36$1, templateObject_37$1, templateObject_38$1, templateObject_39$1, templateObject_40$1, templateObject_41$1, templateObject_42$1, templateObject_43$1, templateObject_44$1, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49, templateObject_50, templateObject_51, templateObject_52, templateObject_53, templateObject_54, templateObject_55, templateObject_56, templateObject_57, templateObject_58, templateObject_59, templateObject_60, templateObject_61, templateObject_62, templateObject_63, templateObject_64, templateObject_65;
697
710
 
698
711
  function initializeServerConfigService(serverConfigService) {
699
712
  return serverConfigService.init();
@@ -1144,9 +1157,15 @@
1144
1157
  ClientDataService.prototype.uiState = function () {
1145
1158
  return this.baseDataService.query(GET_UI_STATE, {}, 'cache-first');
1146
1159
  };
1147
- ClientDataService.prototype.setUiLanguage = function (languageCode) {
1148
- return this.baseDataService.mutate(SET_UI_LANGUAGE, {
1160
+ ClientDataService.prototype.setUiLanguage = function (languageCode, locale) {
1161
+ return this.baseDataService.mutate(SET_UI_LANGUAGE_AND_LOCALE, {
1149
1162
  languageCode: languageCode,
1163
+ locale: locale,
1164
+ });
1165
+ };
1166
+ ClientDataService.prototype.setUiLocale = function (locale) {
1167
+ return this.baseDataService.mutate(SET_UI_LOCALE, {
1168
+ locale: locale,
1150
1169
  });
1151
1170
  };
1152
1171
  ClientDataService.prototype.setContentLanguage = function (languageCode) {
@@ -1159,6 +1178,11 @@
1159
1178
  theme: theme,
1160
1179
  });
1161
1180
  };
1181
+ ClientDataService.prototype.setDisplayUiExtensionPoints = function (display) {
1182
+ return this.baseDataService.mutate(SET_DISPLAY_UI_EXTENSION_POINTS, {
1183
+ display: display,
1184
+ });
1185
+ };
1162
1186
  ClientDataService.prototype.setActiveChannel = function (channelId) {
1163
1187
  return this.baseDataService.mutate(SET_ACTIVE_CHANNEL, {
1164
1188
  channelId: channelId,
@@ -1192,7 +1216,7 @@
1192
1216
  var GET_PRODUCT_WITH_VARIANTS = apolloAngular.gql(templateObject_18$2 || (templateObject_18$2 = __makeTemplateObject(["\n query GetProductWithVariants($id: ID!, $variantListOptions: ProductVariantListOptions) {\n product(id: $id) {\n ...ProductDetail\n variantList(options: $variantListOptions) {\n items {\n ...ProductVariant\n }\n totalItems\n }\n }\n }\n ", "\n ", "\n"], ["\n query GetProductWithVariants($id: ID!, $variantListOptions: ProductVariantListOptions) {\n product(id: $id) {\n ...ProductDetail\n variantList(options: $variantListOptions) {\n items {\n ...ProductVariant\n }\n totalItems\n }\n }\n }\n ", "\n ", "\n"])), PRODUCT_DETAIL_FRAGMENT, PRODUCT_VARIANT_FRAGMENT);
1193
1217
  var GET_PRODUCT_SIMPLE = apolloAngular.gql(templateObject_19$2 || (templateObject_19$2 = __makeTemplateObject(["\n query GetProductSimple($id: ID!) {\n product(id: $id) {\n id\n name\n featuredAsset {\n ...Asset\n }\n }\n }\n ", "\n"], ["\n query GetProductSimple($id: ID!) {\n product(id: $id) {\n id\n name\n featuredAsset {\n ...Asset\n }\n }\n }\n ", "\n"])), ASSET_FRAGMENT);
1194
1218
  var GET_PRODUCT_LIST = apolloAngular.gql(templateObject_20$2 || (templateObject_20$2 = __makeTemplateObject(["\n query GetProductList($options: ProductListOptions) {\n products(options: $options) {\n items {\n id\n createdAt\n updatedAt\n enabled\n languageCode\n name\n slug\n featuredAsset {\n id\n createdAt\n updatedAt\n preview\n }\n }\n totalItems\n }\n }\n"], ["\n query GetProductList($options: ProductListOptions) {\n products(options: $options) {\n items {\n id\n createdAt\n updatedAt\n enabled\n languageCode\n name\n slug\n featuredAsset {\n id\n createdAt\n updatedAt\n preview\n }\n }\n totalItems\n }\n }\n"])));
1195
- var GET_PRODUCT_OPTION_GROUPS = apolloAngular.gql(templateObject_21$1 || (templateObject_21$1 = __makeTemplateObject(["\n query GetProductOptionGroups($filterTerm: String) {\n productOptionGroups(filterTerm: $filterTerm) {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n options {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n }\n }\n }\n"], ["\n query GetProductOptionGroups($filterTerm: String) {\n productOptionGroups(filterTerm: $filterTerm) {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n options {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n }\n }\n }\n"])));
1219
+ var GET_PRODUCT_OPTION_GROUPS = apolloAngular.gql(templateObject_21$2 || (templateObject_21$2 = __makeTemplateObject(["\n query GetProductOptionGroups($filterTerm: String) {\n productOptionGroups(filterTerm: $filterTerm) {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n options {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n }\n }\n }\n"], ["\n query GetProductOptionGroups($filterTerm: String) {\n productOptionGroups(filterTerm: $filterTerm) {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n options {\n id\n createdAt\n updatedAt\n languageCode\n code\n name\n }\n }\n }\n"])));
1196
1220
  var GET_ASSET_LIST = apolloAngular.gql(templateObject_22$1 || (templateObject_22$1 = __makeTemplateObject(["\n query GetAssetList($options: AssetListOptions) {\n assets(options: $options) {\n items {\n ...Asset\n tags {\n ...Tag\n }\n }\n totalItems\n }\n }\n ", "\n ", "\n"], ["\n query GetAssetList($options: AssetListOptions) {\n assets(options: $options) {\n items {\n ...Asset\n tags {\n ...Tag\n }\n }\n totalItems\n }\n }\n ", "\n ", "\n"])), ASSET_FRAGMENT, TAG_FRAGMENT);
1197
1221
  var GET_ASSET = apolloAngular.gql(templateObject_23$1 || (templateObject_23$1 = __makeTemplateObject(["\n query GetAsset($id: ID!) {\n asset(id: $id) {\n ...Asset\n tags {\n ...Tag\n }\n }\n }\n ", "\n ", "\n"], ["\n query GetAsset($id: ID!) {\n asset(id: $id) {\n ...Asset\n tags {\n ...Tag\n }\n }\n }\n ", "\n ", "\n"])), ASSET_FRAGMENT, TAG_FRAGMENT);
1198
1222
  var CREATE_ASSETS = apolloAngular.gql(templateObject_24$1 || (templateObject_24$1 = __makeTemplateObject(["\n mutation CreateAssets($input: [CreateAssetInput!]!) {\n createAssets(input: $input) {\n ...Asset\n ... on Asset {\n tags {\n ...Tag\n }\n }\n ... on ErrorResult {\n message\n }\n }\n }\n ", "\n ", "\n"], ["\n mutation CreateAssets($input: [CreateAssetInput!]!) {\n createAssets(input: $input) {\n ...Asset\n ... on Asset {\n tags {\n ...Tag\n }\n }\n ... on ErrorResult {\n message\n }\n }\n }\n ", "\n ", "\n"])), ASSET_FRAGMENT, TAG_FRAGMENT);
@@ -1216,7 +1240,7 @@
1216
1240
  var CREATE_TAG = apolloAngular.gql(templateObject_42 || (templateObject_42 = __makeTemplateObject(["\n mutation CreateTag($input: CreateTagInput!) {\n createTag(input: $input) {\n ...Tag\n }\n }\n ", "\n"], ["\n mutation CreateTag($input: CreateTagInput!) {\n createTag(input: $input) {\n ...Tag\n }\n }\n ", "\n"])), TAG_FRAGMENT);
1217
1241
  var UPDATE_TAG = apolloAngular.gql(templateObject_43 || (templateObject_43 = __makeTemplateObject(["\n mutation UpdateTag($input: UpdateTagInput!) {\n updateTag(input: $input) {\n ...Tag\n }\n }\n ", "\n"], ["\n mutation UpdateTag($input: UpdateTagInput!) {\n updateTag(input: $input) {\n ...Tag\n }\n }\n ", "\n"])), TAG_FRAGMENT);
1218
1242
  var DELETE_TAG = apolloAngular.gql(templateObject_44 || (templateObject_44 = __makeTemplateObject(["\n mutation DeleteTag($id: ID!) {\n deleteTag(id: $id) {\n message\n result\n }\n }\n"], ["\n mutation DeleteTag($id: ID!) {\n deleteTag(id: $id) {\n message\n result\n }\n }\n"])));
1219
- var templateObject_1$6, templateObject_2$6, templateObject_3$6, templateObject_4$6, templateObject_5$6, templateObject_6$6, templateObject_7$6, templateObject_8$5, templateObject_9$5, templateObject_10$3, templateObject_11$2, templateObject_12$2, templateObject_13$2, templateObject_14$2, templateObject_15$2, templateObject_16$2, templateObject_17$2, templateObject_18$2, templateObject_19$2, templateObject_20$2, templateObject_21$1, templateObject_22$1, templateObject_23$1, templateObject_24$1, templateObject_25$1, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44;
1243
+ var templateObject_1$6, templateObject_2$6, templateObject_3$6, templateObject_4$6, templateObject_5$6, templateObject_6$6, templateObject_7$6, templateObject_8$5, templateObject_9$5, templateObject_10$3, templateObject_11$2, templateObject_12$2, templateObject_13$2, templateObject_14$2, templateObject_15$2, templateObject_16$2, templateObject_17$2, templateObject_18$2, templateObject_19$2, templateObject_20$2, templateObject_21$2, templateObject_22$1, templateObject_23$1, templateObject_24$1, templateObject_25$1, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44;
1220
1244
 
1221
1245
  var GET_COLLECTION_FILTERS = apolloAngular.gql(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject(["\n query GetCollectionFilters {\n collectionFilters {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"], ["\n query GetCollectionFilters {\n collectionFilters {\n ...ConfigurableOperationDef\n }\n }\n ", "\n"])), CONFIGURABLE_OPERATION_DEF_FRAGMENT);
1222
1246
  var COLLECTION_FRAGMENT = apolloAngular.gql(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n fragment Collection on Collection {\n id\n createdAt\n updatedAt\n name\n slug\n description\n isPrivate\n languageCode\n featuredAsset {\n ...Asset\n }\n assets {\n ...Asset\n }\n filters {\n ...ConfigurableOperation\n }\n translations {\n id\n languageCode\n name\n slug\n description\n }\n parent {\n id\n name\n }\n children {\n id\n name\n }\n }\n ", "\n ", "\n"], ["\n fragment Collection on Collection {\n id\n createdAt\n updatedAt\n name\n slug\n description\n isPrivate\n languageCode\n featuredAsset {\n ...Asset\n }\n assets {\n ...Asset\n }\n filters {\n ...ConfigurableOperation\n }\n translations {\n id\n languageCode\n name\n slug\n description\n }\n parent {\n id\n name\n }\n children {\n id\n name\n }\n }\n ", "\n ", "\n"])), ASSET_FRAGMENT, CONFIGURABLE_OPERATION_FRAGMENT);
@@ -1305,25 +1329,26 @@
1305
1329
 
1306
1330
  var ADDRESS_FRAGMENT = apolloAngular.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment Address on Address {\n id\n createdAt\n updatedAt\n fullName\n company\n streetLine1\n streetLine2\n city\n province\n postalCode\n country {\n id\n code\n name\n }\n phoneNumber\n defaultShippingAddress\n defaultBillingAddress\n }\n"], ["\n fragment Address on Address {\n id\n createdAt\n updatedAt\n fullName\n company\n streetLine1\n streetLine2\n city\n province\n postalCode\n country {\n id\n code\n name\n }\n phoneNumber\n defaultShippingAddress\n defaultBillingAddress\n }\n"])));
1307
1331
  var CUSTOMER_FRAGMENT = apolloAngular.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n fragment Customer on Customer {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n phoneNumber\n emailAddress\n user {\n id\n identifier\n verified\n lastLogin\n }\n addresses {\n ...Address\n }\n }\n ", "\n"], ["\n fragment Customer on Customer {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n phoneNumber\n emailAddress\n user {\n id\n identifier\n verified\n lastLogin\n }\n addresses {\n ...Address\n }\n }\n ", "\n"])), ADDRESS_FRAGMENT);
1308
- var GET_CUSTOMER_LIST = apolloAngular.gql(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n query GetCustomerList($options: CustomerListOptions) {\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n emailAddress\n user {\n id\n verified\n }\n }\n totalItems\n }\n }\n"], ["\n query GetCustomerList($options: CustomerListOptions) {\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n emailAddress\n user {\n id\n verified\n }\n }\n totalItems\n }\n }\n"])));
1309
- var GET_CUSTOMER = apolloAngular.gql(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {\n customer(id: $id) {\n ...Customer\n groups {\n id\n name\n }\n orders(options: $orderListOptions) {\n items {\n id\n code\n state\n totalWithTax\n currencyCode\n updatedAt\n }\n totalItems\n }\n }\n }\n ", "\n"], ["\n query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {\n customer(id: $id) {\n ...Customer\n groups {\n id\n name\n }\n orders(options: $orderListOptions) {\n items {\n id\n code\n state\n totalWithTax\n currencyCode\n updatedAt\n }\n totalItems\n }\n }\n }\n ", "\n"])), CUSTOMER_FRAGMENT);
1310
- var CREATE_CUSTOMER = apolloAngular.gql(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject(["\n mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {\n createCustomer(input: $input, password: $password) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {\n createCustomer(input: $input, password: $password) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CUSTOMER_FRAGMENT, ERROR_RESULT_FRAGMENT);
1311
- var UPDATE_CUSTOMER = apolloAngular.gql(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n mutation UpdateCustomer($input: UpdateCustomerInput!) {\n updateCustomer(input: $input) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateCustomer($input: UpdateCustomerInput!) {\n updateCustomer(input: $input) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CUSTOMER_FRAGMENT, ERROR_RESULT_FRAGMENT);
1312
- var DELETE_CUSTOMER = apolloAngular.gql(templateObject_7$4 || (templateObject_7$4 = __makeTemplateObject(["\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id) {\n result\n message\n }\n }\n"])));
1313
- var CREATE_CUSTOMER_ADDRESS = apolloAngular.gql(templateObject_8$3 || (templateObject_8$3 = __makeTemplateObject(["\n mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {\n createCustomerAddress(customerId: $customerId, input: $input) {\n ...Address\n }\n }\n ", "\n"], ["\n mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {\n createCustomerAddress(customerId: $customerId, input: $input) {\n ...Address\n }\n }\n ", "\n"])), ADDRESS_FRAGMENT);
1314
- var UPDATE_CUSTOMER_ADDRESS = apolloAngular.gql(templateObject_9$3 || (templateObject_9$3 = __makeTemplateObject(["\n mutation UpdateCustomerAddress($input: UpdateAddressInput!) {\n updateCustomerAddress(input: $input) {\n ...Address\n }\n }\n ", "\n"], ["\n mutation UpdateCustomerAddress($input: UpdateAddressInput!) {\n updateCustomerAddress(input: $input) {\n ...Address\n }\n }\n ", "\n"])), ADDRESS_FRAGMENT);
1315
- var CREATE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject(["\n mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {\n createCustomerGroup(input: $input) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"], ["\n mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {\n createCustomerGroup(input: $input) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"])));
1316
- var UPDATE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {\n updateCustomerGroup(input: $input) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"], ["\n mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {\n updateCustomerGroup(input: $input) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"])));
1317
- var DELETE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject(["\n mutation DeleteCustomerGroup($id: ID!) {\n deleteCustomerGroup(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomerGroup($id: ID!) {\n deleteCustomerGroup(id: $id) {\n result\n message\n }\n }\n"])));
1318
- var GET_CUSTOMER_GROUPS = apolloAngular.gql(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject(["\n query GetCustomerGroups($options: CustomerGroupListOptions) {\n customerGroups(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n }\n totalItems\n }\n }\n"], ["\n query GetCustomerGroups($options: CustomerGroupListOptions) {\n customerGroups(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n }\n totalItems\n }\n }\n"])));
1319
- var GET_CUSTOMER_GROUP_WITH_CUSTOMERS = apolloAngular.gql(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\n query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {\n customerGroup(id: $id) {\n id\n createdAt\n updatedAt\n name\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n emailAddress\n firstName\n lastName\n }\n totalItems\n }\n }\n }\n"], ["\n query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {\n customerGroup(id: $id) {\n id\n createdAt\n updatedAt\n name\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n emailAddress\n firstName\n lastName\n }\n totalItems\n }\n }\n }\n"])));
1320
- var ADD_CUSTOMERS_TO_GROUP = apolloAngular.gql(templateObject_15$1 || (templateObject_15$1 = __makeTemplateObject(["\n mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {\n addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"], ["\n mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {\n addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"])));
1321
- var REMOVE_CUSTOMERS_FROM_GROUP = apolloAngular.gql(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {\n removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"], ["\n mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {\n removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n id\n createdAt\n updatedAt\n name\n }\n }\n"])));
1322
- var GET_CUSTOMER_HISTORY = apolloAngular.gql(templateObject_17$1 || (templateObject_17$1 = __makeTemplateObject(["\n query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {\n customer(id: $id) {\n id\n history(options: $options) {\n totalItems\n items {\n id\n type\n createdAt\n isPublic\n administrator {\n id\n firstName\n lastName\n }\n data\n }\n }\n }\n }\n"], ["\n query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {\n customer(id: $id) {\n id\n history(options: $options) {\n totalItems\n items {\n id\n type\n createdAt\n isPublic\n administrator {\n id\n firstName\n lastName\n }\n data\n }\n }\n }\n }\n"])));
1323
- var ADD_NOTE_TO_CUSTOMER = apolloAngular.gql(templateObject_18$1 || (templateObject_18$1 = __makeTemplateObject(["\n mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {\n addNoteToCustomer(input: $input) {\n id\n }\n }\n"], ["\n mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {\n addNoteToCustomer(input: $input) {\n id\n }\n }\n"])));
1324
- var UPDATE_CUSTOMER_NOTE = apolloAngular.gql(templateObject_19$1 || (templateObject_19$1 = __makeTemplateObject(["\n mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {\n updateCustomerNote(input: $input) {\n id\n data\n isPublic\n }\n }\n"], ["\n mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {\n updateCustomerNote(input: $input) {\n id\n data\n isPublic\n }\n }\n"])));
1325
- var DELETE_CUSTOMER_NOTE = apolloAngular.gql(templateObject_20$1 || (templateObject_20$1 = __makeTemplateObject(["\n mutation DeleteCustomerNote($id: ID!) {\n deleteCustomerNote(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomerNote($id: ID!) {\n deleteCustomerNote(id: $id) {\n result\n message\n }\n }\n"])));
1326
- var templateObject_1$4, templateObject_2$4, templateObject_3$4, templateObject_4$4, templateObject_5$4, templateObject_6$4, templateObject_7$4, templateObject_8$3, templateObject_9$3, templateObject_10$2, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16$1, templateObject_17$1, templateObject_18$1, templateObject_19$1, templateObject_20$1;
1332
+ var CUSTOMER_GROUP_FRAGMENT = apolloAngular.gql(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n fragment CustomerGroup on CustomerGroup {\n id\n createdAt\n updatedAt\n name\n }\n"], ["\n fragment CustomerGroup on CustomerGroup {\n id\n createdAt\n updatedAt\n name\n }\n"])));
1333
+ var GET_CUSTOMER_LIST = apolloAngular.gql(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n query GetCustomerList($options: CustomerListOptions) {\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n emailAddress\n user {\n id\n verified\n }\n }\n totalItems\n }\n }\n"], ["\n query GetCustomerList($options: CustomerListOptions) {\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n title\n firstName\n lastName\n emailAddress\n user {\n id\n verified\n }\n }\n totalItems\n }\n }\n"])));
1334
+ var GET_CUSTOMER = apolloAngular.gql(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject(["\n query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {\n customer(id: $id) {\n ...Customer\n groups {\n id\n name\n }\n orders(options: $orderListOptions) {\n items {\n id\n code\n state\n totalWithTax\n currencyCode\n updatedAt\n }\n totalItems\n }\n }\n }\n ", "\n"], ["\n query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {\n customer(id: $id) {\n ...Customer\n groups {\n id\n name\n }\n orders(options: $orderListOptions) {\n items {\n id\n code\n state\n totalWithTax\n currencyCode\n updatedAt\n }\n totalItems\n }\n }\n }\n ", "\n"])), CUSTOMER_FRAGMENT);
1335
+ var CREATE_CUSTOMER = apolloAngular.gql(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {\n createCustomer(input: $input, password: $password) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {\n createCustomer(input: $input, password: $password) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CUSTOMER_FRAGMENT, ERROR_RESULT_FRAGMENT);
1336
+ var UPDATE_CUSTOMER = apolloAngular.gql(templateObject_7$4 || (templateObject_7$4 = __makeTemplateObject(["\n mutation UpdateCustomer($input: UpdateCustomerInput!) {\n updateCustomer(input: $input) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"], ["\n mutation UpdateCustomer($input: UpdateCustomerInput!) {\n updateCustomer(input: $input) {\n ...Customer\n ...ErrorResult\n }\n }\n ", "\n ", "\n"])), CUSTOMER_FRAGMENT, ERROR_RESULT_FRAGMENT);
1337
+ var DELETE_CUSTOMER = apolloAngular.gql(templateObject_8$3 || (templateObject_8$3 = __makeTemplateObject(["\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id) {\n result\n message\n }\n }\n"])));
1338
+ var CREATE_CUSTOMER_ADDRESS = apolloAngular.gql(templateObject_9$3 || (templateObject_9$3 = __makeTemplateObject(["\n mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {\n createCustomerAddress(customerId: $customerId, input: $input) {\n ...Address\n }\n }\n ", "\n"], ["\n mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {\n createCustomerAddress(customerId: $customerId, input: $input) {\n ...Address\n }\n }\n ", "\n"])), ADDRESS_FRAGMENT);
1339
+ var UPDATE_CUSTOMER_ADDRESS = apolloAngular.gql(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject(["\n mutation UpdateCustomerAddress($input: UpdateAddressInput!) {\n updateCustomerAddress(input: $input) {\n ...Address\n }\n }\n ", "\n"], ["\n mutation UpdateCustomerAddress($input: UpdateAddressInput!) {\n updateCustomerAddress(input: $input) {\n ...Address\n }\n }\n ", "\n"])), ADDRESS_FRAGMENT);
1340
+ var CREATE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {\n createCustomerGroup(input: $input) {\n ...CustomerGroup\n }\n }\n ", "\n"], ["\n mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {\n createCustomerGroup(input: $input) {\n ...CustomerGroup\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1341
+ var UPDATE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject(["\n mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {\n updateCustomerGroup(input: $input) {\n ...CustomerGroup\n }\n }\n ", "\n"], ["\n mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {\n updateCustomerGroup(input: $input) {\n ...CustomerGroup\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1342
+ var DELETE_CUSTOMER_GROUP = apolloAngular.gql(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject(["\n mutation DeleteCustomerGroup($id: ID!) {\n deleteCustomerGroup(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomerGroup($id: ID!) {\n deleteCustomerGroup(id: $id) {\n result\n message\n }\n }\n"])));
1343
+ var GET_CUSTOMER_GROUPS = apolloAngular.gql(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\n query GetCustomerGroups($options: CustomerGroupListOptions) {\n customerGroups(options: $options) {\n items {\n ...CustomerGroup\n }\n totalItems\n }\n }\n ", "\n"], ["\n query GetCustomerGroups($options: CustomerGroupListOptions) {\n customerGroups(options: $options) {\n items {\n ...CustomerGroup\n }\n totalItems\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1344
+ var GET_CUSTOMER_GROUP_WITH_CUSTOMERS = apolloAngular.gql(templateObject_15$1 || (templateObject_15$1 = __makeTemplateObject(["\n query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {\n customerGroup(id: $id) {\n ...CustomerGroup\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n emailAddress\n firstName\n lastName\n }\n totalItems\n }\n }\n }\n ", "\n"], ["\n query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {\n customerGroup(id: $id) {\n ...CustomerGroup\n customers(options: $options) {\n items {\n id\n createdAt\n updatedAt\n emailAddress\n firstName\n lastName\n }\n totalItems\n }\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1345
+ var ADD_CUSTOMERS_TO_GROUP = apolloAngular.gql(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {\n addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n ...CustomerGroup\n }\n }\n ", "\n"], ["\n mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {\n addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n ...CustomerGroup\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1346
+ var REMOVE_CUSTOMERS_FROM_GROUP = apolloAngular.gql(templateObject_17$1 || (templateObject_17$1 = __makeTemplateObject(["\n mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {\n removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n ...CustomerGroup\n }\n }\n ", "\n"], ["\n mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {\n removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {\n ...CustomerGroup\n }\n }\n ", "\n"])), CUSTOMER_GROUP_FRAGMENT);
1347
+ var GET_CUSTOMER_HISTORY = apolloAngular.gql(templateObject_18$1 || (templateObject_18$1 = __makeTemplateObject(["\n query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {\n customer(id: $id) {\n id\n history(options: $options) {\n totalItems\n items {\n id\n type\n createdAt\n isPublic\n administrator {\n id\n firstName\n lastName\n }\n data\n }\n }\n }\n }\n"], ["\n query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {\n customer(id: $id) {\n id\n history(options: $options) {\n totalItems\n items {\n id\n type\n createdAt\n isPublic\n administrator {\n id\n firstName\n lastName\n }\n data\n }\n }\n }\n }\n"])));
1348
+ var ADD_NOTE_TO_CUSTOMER = apolloAngular.gql(templateObject_19$1 || (templateObject_19$1 = __makeTemplateObject(["\n mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {\n addNoteToCustomer(input: $input) {\n id\n }\n }\n"], ["\n mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {\n addNoteToCustomer(input: $input) {\n id\n }\n }\n"])));
1349
+ var UPDATE_CUSTOMER_NOTE = apolloAngular.gql(templateObject_20$1 || (templateObject_20$1 = __makeTemplateObject(["\n mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {\n updateCustomerNote(input: $input) {\n id\n data\n isPublic\n }\n }\n"], ["\n mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {\n updateCustomerNote(input: $input) {\n id\n data\n isPublic\n }\n }\n"])));
1350
+ var DELETE_CUSTOMER_NOTE = apolloAngular.gql(templateObject_21$1 || (templateObject_21$1 = __makeTemplateObject(["\n mutation DeleteCustomerNote($id: ID!) {\n deleteCustomerNote(id: $id) {\n result\n message\n }\n }\n"], ["\n mutation DeleteCustomerNote($id: ID!) {\n deleteCustomerNote(id: $id) {\n result\n message\n }\n }\n"])));
1351
+ var templateObject_1$4, templateObject_2$4, templateObject_3$4, templateObject_4$4, templateObject_5$4, templateObject_6$4, templateObject_7$4, templateObject_8$3, templateObject_9$3, templateObject_10$2, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16$1, templateObject_17$1, templateObject_18$1, templateObject_19$1, templateObject_20$1, templateObject_21$1;
1327
1352
 
1328
1353
  var CustomerDataService = /** @class */ (function () {
1329
1354
  function CustomerDataService(baseDataService) {
@@ -2897,12 +2922,12 @@
2897
2922
  };
2898
2923
  SettingsDataService.prototype.createCountry = function (input) {
2899
2924
  return this.baseDataService.mutate(CREATE_COUNTRY, {
2900
- input: pick.pick(input, ['code', 'enabled', 'translations']),
2925
+ input: pick.pick(input, ['code', 'enabled', 'translations', 'customFields']),
2901
2926
  });
2902
2927
  };
2903
2928
  SettingsDataService.prototype.updateCountry = function (input) {
2904
2929
  return this.baseDataService.mutate(UPDATE_COUNTRY, {
2905
- input: pick.pick(input, ['id', 'code', 'enabled', 'translations']),
2930
+ input: pick.pick(input, ['id', 'code', 'enabled', 'translations', 'customFields']),
2906
2931
  });
2907
2932
  };
2908
2933
  SettingsDataService.prototype.deleteCountry = function (id) {
@@ -2976,6 +3001,16 @@
2976
3001
  },
2977
3002
  }, fetchPolicy);
2978
3003
  };
3004
+ SettingsDataService.prototype.getTaxRatesSimple = function (take, skip, fetchPolicy) {
3005
+ if (take === void 0) { take = 10; }
3006
+ if (skip === void 0) { skip = 0; }
3007
+ return this.baseDataService.query(GET_TAX_RATE_LIST_SIMPLE, {
3008
+ options: {
3009
+ take: take,
3010
+ skip: skip,
3011
+ },
3012
+ }, fetchPolicy);
3013
+ };
2979
3014
  SettingsDataService.prototype.getTaxRate = function (id) {
2980
3015
  return this.baseDataService.query(GET_TAX_RATE, {
2981
3016
  id: id,
@@ -3177,7 +3212,19 @@
3177
3212
  return ShippingMethodDataService;
3178
3213
  }());
3179
3214
 
3215
+ /**
3216
+ * @description
3217
+ * Used to interact with the Admin API via GraphQL queries. Internally this service uses the
3218
+ * Apollo Client, which means it maintains a normalized entity cache. For this reason, it is
3219
+ * advisable to always select the `id` field of any entity, which will allow the returned data
3220
+ * to be effectively cached.
3221
+ *
3222
+ * @docsCategory providers
3223
+ * @docsPage DataService
3224
+ * @docsWeight 0
3225
+ */
3180
3226
  var DataService = /** @class */ (function () {
3227
+ /** @internal */
3181
3228
  function DataService(baseDataService) {
3182
3229
  this.baseDataService = baseDataService;
3183
3230
  this.promotion = new PromotionDataService(baseDataService);
@@ -3193,14 +3240,44 @@
3193
3240
  this.shippingMethod = new ShippingMethodDataService(baseDataService);
3194
3241
  }
3195
3242
  /**
3196
- * Perform a GraphQL query.
3243
+ * @description
3244
+ * Perform a GraphQL query. Returns a {@link QueryResult} which allows further control over
3245
+ * they type of result returned, e.g. stream of values, single value etc.
3246
+ *
3247
+ * @example
3248
+ * ```TypeScript
3249
+ * const result$ = this.dataService.query(gql`
3250
+ * query MyQuery($id: ID!) {
3251
+ * product(id: $id) {
3252
+ * id
3253
+ * name
3254
+ * slug
3255
+ * }
3256
+ * },
3257
+ * { id: 123 },
3258
+ * ).mapSingle(data => data.product);
3259
+ * ```
3197
3260
  */
3198
3261
  DataService.prototype.query = function (query, variables, fetchPolicy) {
3199
3262
  if (fetchPolicy === void 0) { fetchPolicy = 'cache-and-network'; }
3200
3263
  return this.baseDataService.query(query, variables, fetchPolicy);
3201
3264
  };
3202
3265
  /**
3266
+ * @description
3203
3267
  * Perform a GraphQL mutation.
3268
+ *
3269
+ * @example
3270
+ * ```TypeScript
3271
+ * const result$ = this.dataService.mutate(gql`
3272
+ * mutation MyMutation($input: UpdateEntityInput!) {
3273
+ * updateEntity(input: $input) {
3274
+ * id
3275
+ * name
3276
+ * }
3277
+ * },
3278
+ * { input: updateEntityInput },
3279
+ * );
3280
+ * ```
3204
3281
  */
3205
3282
  DataService.prototype.mutate = function (mutation, variables, update) {
3206
3283
  return this.baseDataService.mutate(mutation, variables, update);
@@ -3259,6 +3336,25 @@
3259
3336
  }
3260
3337
  },
3261
3338
  });
3339
+ if (i0.isDevMode()) {
3340
+ // tslint:disable-next-line:no-console
3341
+ console.log("%cVendure Admin UI: Press \"ctrl/cmd + u\" to view UI extension points", "color: #17C1FF; font-weight: bold;");
3342
+ }
3343
+ };
3344
+ AppComponent.prototype.handleGlobalHotkeys = function (event) {
3345
+ var _this = this;
3346
+ if (event.ctrlKey === true && event.key === 'u') {
3347
+ event.preventDefault();
3348
+ if (i0.isDevMode()) {
3349
+ this.dataService.client
3350
+ .uiState()
3351
+ .single$.pipe(operators.switchMap(function (_b) {
3352
+ var uiState = _b.uiState;
3353
+ return _this.dataService.client.setDisplayUiExtensionPoints(!uiState.displayUiExtensionPoints);
3354
+ }))
3355
+ .subscribe();
3356
+ }
3357
+ }
3262
3358
  };
3263
3359
  return AppComponent;
3264
3360
  }());
@@ -3274,7 +3370,10 @@
3274
3370
  { type: ServerConfigService },
3275
3371
  { type: LocalStorageService },
3276
3372
  { type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] }
3277
- ]; };
3373
+ ]; };
3374
+ AppComponent.propDecorators = {
3375
+ handleGlobalHotkeys: [{ type: i0.HostListener, args: ['window:keydown', ['$event'],] }]
3376
+ };
3278
3377
 
3279
3378
  var vendureUiConfig;
3280
3379
  function loadAppConfig() {
@@ -3293,6 +3392,14 @@
3293
3392
 
3294
3393
  function getDefaultUiLanguage() {
3295
3394
  return getAppConfig().defaultLanguage;
3395
+ }
3396
+ function getDefaultUiLocale() {
3397
+ var _a;
3398
+ var defaultLocale = getAppConfig().defaultLocale;
3399
+ if (defaultLocale) {
3400
+ return defaultLocale;
3401
+ }
3402
+ return (_a = navigator.language.split('-')[1]) === null || _a === void 0 ? void 0 : _a.toUpperCase();
3296
3403
  }
3297
3404
 
3298
3405
  /**
@@ -3448,7 +3555,7 @@
3448
3555
  ]; };
3449
3556
 
3450
3557
  /**
3451
- * This component should only be instatiated dynamically by the ModalService. It should not be used
3558
+ * This component should only be instantiated dynamically by the ModalService. It should not be used
3452
3559
  * directly in templates. See {@link ModalService.fromComponent} method for more detail.
3453
3560
  */
3454
3561
  var ModalDialogComponent = /** @class */ (function () {
@@ -3573,8 +3680,13 @@
3573
3680
  ];
3574
3681
 
3575
3682
  /**
3683
+ * @description
3576
3684
  * This service is responsible for instantiating a ModalDialog component and
3577
3685
  * embedding the specified component within.
3686
+ *
3687
+ * @docsCategory providers
3688
+ * @docsPage ModalService
3689
+ * @docsWeight 0
3578
3690
  */
3579
3691
  var ModalService = /** @class */ (function () {
3580
3692
  function ModalService(componentFactoryResolver, overlayHostService) {
@@ -3582,12 +3694,13 @@
3582
3694
  this.overlayHostService = overlayHostService;
3583
3695
  }
3584
3696
  /**
3697
+ * @description
3585
3698
  * Create a modal from a component. The component must implement the {@link Dialog} interface.
3586
3699
  * Additionally, the component should include templates for the title and the buttons to be
3587
3700
  * displayed in the modal dialog. See example:
3588
3701
  *
3589
3702
  * @example
3590
- * ```
3703
+ * ```HTML
3591
3704
  * class MyDialog implements Dialog {
3592
3705
  * resolveWith: (result?: any) => void;
3593
3706
  *
@@ -3603,20 +3716,21 @@
3603
3716
  * }
3604
3717
  * ```
3605
3718
  *
3606
- * ```
3719
+ * @example
3720
+ * ```HTML
3607
3721
  * <ng-template vdrDialogTitle>Title of the modal</ng-template>
3608
3722
  *
3609
3723
  * <p>
3610
- * My Content
3724
+ * My Content
3611
3725
  * </p>
3612
3726
  *
3613
3727
  * <ng-template vdrDialogButtons>
3614
- * <button type="button"
3615
- * class="btn"
3616
- * (click)="cancel()">Cancel</button>
3617
- * <button type="button"
3618
- * class="btn btn-primary"
3619
- * (click)="okay()">Okay</button>
3728
+ * <button type="button"
3729
+ * class="btn"
3730
+ * (click)="cancel()">Cancel</button>
3731
+ * <button type="button"
3732
+ * class="btn btn-primary"
3733
+ * (click)="okay()">Okay</button>
3620
3734
  * </ng-template>
3621
3735
  * ```
3622
3736
  */
@@ -3637,6 +3751,7 @@
3637
3751
  }));
3638
3752
  };
3639
3753
  /**
3754
+ * @description
3640
3755
  * Displays a modal dialog with the provided title, body and buttons.
3641
3756
  */
3642
3757
  ModalService.prototype.dialog = function (config) {
@@ -3660,20 +3775,295 @@
3660
3775
  var UiLanguageSwitcherDialogComponent = /** @class */ (function () {
3661
3776
  function UiLanguageSwitcherDialogComponent() {
3662
3777
  this.availableLanguages = [];
3778
+ this.availableLocales = [
3779
+ 'AF',
3780
+ 'AL',
3781
+ 'DZ',
3782
+ 'AS',
3783
+ 'AD',
3784
+ 'AO',
3785
+ 'AI',
3786
+ 'AQ',
3787
+ 'AG',
3788
+ 'AR',
3789
+ 'AM',
3790
+ 'AW',
3791
+ 'AU',
3792
+ 'AT',
3793
+ 'AZ',
3794
+ 'BS',
3795
+ 'BH',
3796
+ 'BD',
3797
+ 'BB',
3798
+ 'BY',
3799
+ 'BE',
3800
+ 'BZ',
3801
+ 'BJ',
3802
+ 'BM',
3803
+ 'BT',
3804
+ 'BO',
3805
+ 'BQ',
3806
+ 'BA',
3807
+ 'BW',
3808
+ 'BV',
3809
+ 'BR',
3810
+ 'IO',
3811
+ 'BN',
3812
+ 'BG',
3813
+ 'BF',
3814
+ 'BI',
3815
+ 'CV',
3816
+ 'KH',
3817
+ 'CM',
3818
+ 'CA',
3819
+ 'KY',
3820
+ 'CF',
3821
+ 'TD',
3822
+ 'CL',
3823
+ 'CN',
3824
+ 'CX',
3825
+ 'CC',
3826
+ 'CO',
3827
+ 'KM',
3828
+ 'CD',
3829
+ 'CG',
3830
+ 'CK',
3831
+ 'CR',
3832
+ 'HR',
3833
+ 'CU',
3834
+ 'CW',
3835
+ 'CY',
3836
+ 'CZ',
3837
+ 'CI',
3838
+ 'DK',
3839
+ 'DJ',
3840
+ 'DM',
3841
+ 'DO',
3842
+ 'EC',
3843
+ 'EG',
3844
+ 'SV',
3845
+ 'GQ',
3846
+ 'ER',
3847
+ 'EE',
3848
+ 'SZ',
3849
+ 'ET',
3850
+ 'FK',
3851
+ 'FO',
3852
+ 'FJ',
3853
+ 'FI',
3854
+ 'FR',
3855
+ 'GF',
3856
+ 'PF',
3857
+ 'TF',
3858
+ 'GA',
3859
+ 'GM',
3860
+ 'GE',
3861
+ 'DE',
3862
+ 'GH',
3863
+ 'GI',
3864
+ 'GR',
3865
+ 'GL',
3866
+ 'GD',
3867
+ 'GP',
3868
+ 'GU',
3869
+ 'GT',
3870
+ 'GG',
3871
+ 'GN',
3872
+ 'GW',
3873
+ 'GY',
3874
+ 'HT',
3875
+ 'HM',
3876
+ 'VA',
3877
+ 'HN',
3878
+ 'HK',
3879
+ 'HU',
3880
+ 'IS',
3881
+ 'IN',
3882
+ 'ID',
3883
+ 'IR',
3884
+ 'IQ',
3885
+ 'IE',
3886
+ 'IM',
3887
+ 'IL',
3888
+ 'IT',
3889
+ 'JM',
3890
+ 'JP',
3891
+ 'JE',
3892
+ 'JO',
3893
+ 'KZ',
3894
+ 'KE',
3895
+ 'KI',
3896
+ 'KP',
3897
+ 'KR',
3898
+ 'KW',
3899
+ 'KG',
3900
+ 'LA',
3901
+ 'LV',
3902
+ 'LB',
3903
+ 'LS',
3904
+ 'LR',
3905
+ 'LY',
3906
+ 'LI',
3907
+ 'LT',
3908
+ 'LU',
3909
+ 'MO',
3910
+ 'MG',
3911
+ 'MW',
3912
+ 'MY',
3913
+ 'MV',
3914
+ 'ML',
3915
+ 'MT',
3916
+ 'MH',
3917
+ 'MQ',
3918
+ 'MR',
3919
+ 'MU',
3920
+ 'YT',
3921
+ 'MX',
3922
+ 'FM',
3923
+ 'MD',
3924
+ 'MC',
3925
+ 'MN',
3926
+ 'ME',
3927
+ 'MS',
3928
+ 'MA',
3929
+ 'MZ',
3930
+ 'MM',
3931
+ 'NA',
3932
+ 'NR',
3933
+ 'NP',
3934
+ 'NL',
3935
+ 'NC',
3936
+ 'NZ',
3937
+ 'NI',
3938
+ 'NE',
3939
+ 'NG',
3940
+ 'NU',
3941
+ 'NF',
3942
+ 'MK',
3943
+ 'MP',
3944
+ 'NO',
3945
+ 'OM',
3946
+ 'PK',
3947
+ 'PW',
3948
+ 'PS',
3949
+ 'PA',
3950
+ 'PG',
3951
+ 'PY',
3952
+ 'PE',
3953
+ 'PH',
3954
+ 'PN',
3955
+ 'PL',
3956
+ 'PT',
3957
+ 'PR',
3958
+ 'QA',
3959
+ 'RO',
3960
+ 'RU',
3961
+ 'RW',
3962
+ 'RE',
3963
+ 'BL',
3964
+ 'SH',
3965
+ 'KN',
3966
+ 'LC',
3967
+ 'MF',
3968
+ 'PM',
3969
+ 'VC',
3970
+ 'WS',
3971
+ 'SM',
3972
+ 'ST',
3973
+ 'SA',
3974
+ 'SN',
3975
+ 'RS',
3976
+ 'SC',
3977
+ 'SL',
3978
+ 'SG',
3979
+ 'SX',
3980
+ 'SK',
3981
+ 'SI',
3982
+ 'SB',
3983
+ 'SO',
3984
+ 'ZA',
3985
+ 'GS',
3986
+ 'SS',
3987
+ 'ES',
3988
+ 'LK',
3989
+ 'SD',
3990
+ 'SR',
3991
+ 'SJ',
3992
+ 'SE',
3993
+ 'CH',
3994
+ 'SY',
3995
+ 'TW',
3996
+ 'TJ',
3997
+ 'TZ',
3998
+ 'TH',
3999
+ 'TL',
4000
+ 'TG',
4001
+ 'TK',
4002
+ 'TO',
4003
+ 'TT',
4004
+ 'TN',
4005
+ 'TR',
4006
+ 'TM',
4007
+ 'TC',
4008
+ 'TV',
4009
+ 'UG',
4010
+ 'UA',
4011
+ 'AE',
4012
+ 'GB',
4013
+ 'UM',
4014
+ 'US',
4015
+ 'UY',
4016
+ 'UZ',
4017
+ 'VU',
4018
+ 'VE',
4019
+ 'VN',
4020
+ 'VG',
4021
+ 'VI',
4022
+ 'WF',
4023
+ 'EH',
4024
+ 'YE',
4025
+ 'ZM',
4026
+ 'ZW',
4027
+ 'AX',
4028
+ ];
4029
+ this.availableCurrencyCodes = Object.values(exports.CurrencyCode);
4030
+ this.selectedCurrencyCode = 'USD';
4031
+ this.now = new Date().toISOString();
4032
+ var browserLanguage = navigator.language.split('-');
4033
+ this.browserDefaultLocale = browserLanguage.length === 1 ? undefined : browserLanguage[1];
3663
4034
  }
3664
- UiLanguageSwitcherDialogComponent.prototype.setLanguage = function (languageCode) {
3665
- this.resolveWith(languageCode);
4035
+ UiLanguageSwitcherDialogComponent.prototype.ngOnInit = function () {
4036
+ this.updatePreviewLocale();
4037
+ };
4038
+ UiLanguageSwitcherDialogComponent.prototype.updatePreviewLocale = function () {
4039
+ if (!this.currentLocale || this.currentLocale.length === 0 || this.currentLocale.length === 2) {
4040
+ this.previewLocale = this.createLocaleString(this.currentLanguage, this.currentLocale);
4041
+ }
4042
+ };
4043
+ UiLanguageSwitcherDialogComponent.prototype.setLanguage = function () {
4044
+ var _a;
4045
+ this.resolveWith([this.currentLanguage, (_a = this.currentLocale) === null || _a === void 0 ? void 0 : _a.toUpperCase()]);
4046
+ };
4047
+ UiLanguageSwitcherDialogComponent.prototype.cancel = function () {
4048
+ this.resolveWith();
4049
+ };
4050
+ UiLanguageSwitcherDialogComponent.prototype.createLocaleString = function (languageCode, region) {
4051
+ if (!region) {
4052
+ return languageCode;
4053
+ }
4054
+ return [languageCode, region.toUpperCase()].join('-');
3666
4055
  };
3667
4056
  return UiLanguageSwitcherDialogComponent;
3668
4057
  }());
3669
4058
  UiLanguageSwitcherDialogComponent.decorators = [
3670
4059
  { type: i0.Component, args: [{
3671
4060
  selector: 'vdr-ui-language-switcher',
3672
- template: "<ng-template vdrDialogTitle>{{ 'common.select-display-language' | translate }}</ng-template>\r\n\r\n<div *ngFor=\"let code of availableLanguages\" >\r\n <button class=\"btn btn-link btn-sm\" (click)=\"setLanguage(code)\">\r\n <clr-icon [attr.shape]=\"code === currentLanguage ? 'dot-circle' : 'circle'\"></clr-icon>\r\n {{ code | uppercase }} ({{ code | localeLanguageName }})\r\n </button>\r\n</div>\r\n",
4061
+ template: "<ng-template vdrDialogTitle>{{ 'common.select-display-language' | translate }}</ng-template>\r\n<div class=\"clr-row\">\r\n <div class=\"clr-col-md-6\">\r\n <clr-select-container>\r\n <label>{{ 'common.language' | translate }}</label>\r\n <select\r\n clrSelect\r\n name=\"options\"\r\n [(ngModel)]=\"currentLanguage\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n >\r\n <option *ngFor=\"let code of availableLanguages | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeLanguageName }})\r\n </option>\r\n </select>\r\n </clr-select-container>\r\n </div>\r\n <div class=\"clr-col-md-6\">\r\n <clr-datalist-container>\r\n <label>{{ 'common.locale' | translate }}</label>\r\n <input\r\n clrDatalistInput\r\n [(ngModel)]=\"currentLocale\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n [placeholder]=\"'common.browser-default' | translate\"\r\n class=\"locale\"\r\n name=\"Locale\"\r\n />\r\n <datalist>\r\n <option *ngFor=\"let locale of availableLocales\" [value]=\"locale\">\r\n {{ locale }} ({{ locale | localeRegionName }})\r\n </option>\r\n </datalist>\r\n </clr-datalist-container>\r\n </div>\r\n</div>\r\n<div class=\"card\">\r\n <div class=\"card-header\">\r\n <span class=\"p2\">{{ 'common.sample-formatting' | translate }}:</span><strong>{{ previewLocale | localeLanguageName:previewLocale }}</strong>\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.medium-date' | translate\">\r\n {{ now | localeDate: 'medium':previewLocale }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.short-date' | translate\">\r\n {{ now | localeDate: 'short':previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <select clrSelect name=\"currency\" class=\"currency\" [(ngModel)]=\"selectedCurrencyCode\">\r\n <option *ngFor=\"let code of availableCurrencyCodes | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeCurrencyName: 'full':previewLocale }})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.price' | translate\">\r\n {{ 12345 | localeCurrency: selectedCurrencyCode:previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"setLanguage()\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.set-language' | translate }}\r\n </button>\r\n</ng-template>\r\n",
3673
4062
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
3674
- styles: [""]
4063
+ styles: ["select.currency{max-width:200px}input.locale{text-transform:uppercase}\n"]
3675
4064
  },] }
3676
- ];
4065
+ ];
4066
+ UiLanguageSwitcherDialogComponent.ctorParameters = function () { return []; };
3677
4067
 
3678
4068
  var AppShellComponent = /** @class */ (function () {
3679
4069
  function AppShellComponent(authService, dataService, router, i18nService, modalService, localStorageService) {
@@ -3689,24 +4079,36 @@
3689
4079
  this.userName$ = this.dataService.client
3690
4080
  .userStatus()
3691
4081
  .single$.pipe(operators.map(function (data) { return data.userStatus.username; }));
3692
- this.uiLanguage$ = this.dataService.client.uiState().stream$.pipe(operators.map(function (data) { return data.uiState.language; }));
4082
+ this.uiLanguageAndLocale$ = this.dataService.client
4083
+ .uiState()
4084
+ .stream$.pipe(operators.map(function (_b) {
4085
+ var uiState = _b.uiState;
4086
+ var _a;
4087
+ return [uiState.language, (_a = uiState.locale) !== null && _a !== void 0 ? _a : undefined];
4088
+ }));
3693
4089
  this.availableLanguages = this.i18nService.availableLanguages;
3694
4090
  };
3695
4091
  AppShellComponent.prototype.selectUiLanguage = function () {
3696
4092
  var _this = this;
3697
- this.uiLanguage$
3698
- .pipe(operators.take(1), operators.switchMap(function (currentLanguage) { return _this.modalService.fromComponent(UiLanguageSwitcherDialogComponent, {
3699
- closable: true,
3700
- size: 'md',
3701
- locals: {
3702
- availableLanguages: _this.availableLanguages,
3703
- currentLanguage: currentLanguage,
3704
- },
3705
- }); }), operators.switchMap(function (value) { return (value ? _this.dataService.client.setUiLanguage(value) : rxjs.EMPTY); }))
4093
+ this.uiLanguageAndLocale$
4094
+ .pipe(operators.take(1), operators.switchMap(function (_b) {
4095
+ var _c = __read(_b, 2), currentLanguage = _c[0], currentLocale = _c[1];
4096
+ return _this.modalService.fromComponent(UiLanguageSwitcherDialogComponent, {
4097
+ closable: true,
4098
+ size: 'lg',
4099
+ locals: {
4100
+ availableLanguages: _this.availableLanguages,
4101
+ currentLanguage: currentLanguage,
4102
+ currentLocale: currentLocale,
4103
+ },
4104
+ });
4105
+ }), operators.switchMap(function (result) { return result ? _this.dataService.client.setUiLanguage(result[0], result[1]) : rxjs.EMPTY; }))
3706
4106
  .subscribe(function (result) {
4107
+ var _a;
3707
4108
  if (result.setUiLanguage) {
3708
4109
  _this.i18nService.setLanguage(result.setUiLanguage);
3709
4110
  _this.localStorageService.set('uiLanguageCode', result.setUiLanguage);
4111
+ _this.localStorageService.set('uiLocale', (_a = result.setUiLocale) !== null && _a !== void 0 ? _a : undefined);
3710
4112
  }
3711
4113
  });
3712
4114
  };
@@ -3727,7 +4129,7 @@
3727
4129
  AppShellComponent.decorators = [
3728
4130
  { type: i0.Component, args: [{
3729
4131
  selector: 'vdr-app-shell',
3730
- template: "<clr-main-container>\r\n <clr-header>\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\"><img src=\"assets/logo-75px.png\" class=\"logo\" /></a>\r\n </div>\r\n <div class=\"header-nav\"></div>\r\n <div class=\"header-actions\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n <vdr-user-menu [userName]=\"userName$ | async\"\r\n [uiLanguage]=\"uiLanguage$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"></vdr-user-menu>\r\n </div>\r\n </clr-header>\r\n <nav class=\"subnav\"><vdr-breadcrumb></vdr-breadcrumb></nav>\r\n\r\n <div class=\"content-container\">\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n</clr-main-container>\r\n",
4132
+ template: "<clr-main-container>\r\n <clr-header>\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\"><img src=\"assets/logo-75px.png\" class=\"logo\" /></a>\r\n </div>\r\n <div class=\"header-nav\"></div>\r\n <div class=\"header-actions\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n <vdr-user-menu [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"></vdr-user-menu>\r\n </div>\r\n </clr-header>\r\n <nav class=\"subnav\"><vdr-breadcrumb></vdr-breadcrumb></nav>\r\n\r\n <div class=\"content-container\">\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n</clr-main-container>\r\n",
3731
4133
  styles: [".branding{min-width:0}.logo{width:60px}@media screen and (min-width: 768px){vdr-breadcrumb{margin-left:10.8rem}}.header-actions{align-items:center}.content-area{position:relative}\n"]
3732
4134
  },] }
3733
4135
  ];
@@ -4069,16 +4471,18 @@
4069
4471
  * imports: [SharedModule],
4070
4472
  * providers: [
4071
4473
  * addNavMenuSection({
4072
- * id: 'reviews',
4073
- * label: 'Product Reviews',
4074
- * routerLink: ['/extensions/reviews'],
4075
- * icon: 'star',
4474
+ * id: 'reports',
4475
+ * label: 'Reports',
4476
+ * items: [{
4477
+ * // ...
4478
+ * }],
4076
4479
  * },
4077
4480
  * 'settings'),
4078
4481
  * ],
4079
4482
  * })
4080
4483
  * export class MyUiExtensionModule {}
4081
4484
  * ```
4485
+ * @docsCategory nav-menu
4082
4486
  */
4083
4487
  function addNavMenuSection(config, before) {
4084
4488
  return {
@@ -4106,17 +4510,18 @@
4106
4510
  * imports: [SharedModule],
4107
4511
  * providers: [
4108
4512
  * addNavMenuItem({
4109
- * id: 'reports',
4110
- * label: 'Reports',
4111
- * items: [{
4112
- * // ...
4113
- * }],
4513
+ * id: 'reviews',
4514
+ * label: 'Product Reviews',
4515
+ * routerLink: ['/extensions/reviews'],
4516
+ * icon: 'star',
4114
4517
  * },
4115
4518
  * 'marketing'),
4116
4519
  * ],
4117
4520
  * })
4118
4521
  * export class MyUiExtensionModule {}
4119
- * ```
4522
+ * ``
4523
+ *
4524
+ * @docsCategory nav-menu
4120
4525
  */
4121
4526
  function addNavMenuItem(config, sectionId, before) {
4122
4527
  return {
@@ -4151,6 +4556,7 @@
4151
4556
  * })
4152
4557
  * export class MyUiExtensionModule {}
4153
4558
  * ```
4559
+ * @docsCategory action-bar
4154
4560
  */
4155
4561
  function addActionBarItem(config) {
4156
4562
  return {
@@ -4619,7 +5025,7 @@
4619
5025
  MainNavComponent.decorators = [
4620
5026
  { type: i0.Component, args: [{
4621
5027
  selector: 'vdr-main-nav',
4622
- template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge *ngIf=\"sectionBadge !== 'none'\" [type]=\"sectionBadge\"></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge *ngIf=\"itemBadge.type !== 'none'\" [type]=\"itemBadge.type\"></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
5028
+ template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
4623
5029
  styles: [":host{order:-1;background-color:var(--clr-nav-background-color)}nav.sidenav{height:100%;width:10.8rem;border-right-color:var(--clr-sidenav-border-color)}.nav-list clr-icon{margin-right:12px}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}.nav-link vdr-status-badge{left:25px;top:3px}\n"]
4624
5030
  },] }
4625
5031
  ];
@@ -4766,202 +5172,268 @@
4766
5172
  UserMenuComponent.decorators = [
4767
5173
  { type: i0.Component, args: [{
4768
5174
  selector: 'vdr-user-menu',
4769
- template: "<vdr-dropdown>\r\n <button class=\"btn btn-link trigger\" vdrDropdownTrigger>\r\n <span class=\"user-name\">{{ userName }}</span>\r\n <clr-icon shape=\"user\" size=\"24\"></clr-icon>\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a [routerLink]=\"['/settings', 'profile']\" vdrDropdownItem>\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon> {{ 'settings.profile' | translate }}\r\n </a>\r\n <ng-container *ngIf=\"1 < availableLanguages.length\">\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectUiLanguage.emit()\"\r\n [title]=\"'common.select-display-language' | translate\"\r\n >\r\n <clr-icon shape=\"language\"></clr-icon> {{ uiLanguage | localeLanguageName }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-item\">\r\n <vdr-theme-switcher></vdr-theme-switcher>\r\n </div>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" vdrDropdownItem (click)=\"logOut.emit()\">\r\n <clr-icon shape=\"logout\"></clr-icon> {{ 'common.log-out' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n",
5175
+ template: "<vdr-dropdown>\r\n <button class=\"btn btn-link trigger\" vdrDropdownTrigger>\r\n <span class=\"user-name\">{{ userName }}</span>\r\n <clr-icon shape=\"user\" size=\"24\"></clr-icon>\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a [routerLink]=\"['/settings', 'profile']\" vdrDropdownItem>\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon> {{ 'settings.profile' | translate }}\r\n </a>\r\n <ng-container *ngIf=\"1 < availableLanguages.length\">\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectUiLanguage.emit()\"\r\n [title]=\"'common.select-display-language' | translate\"\r\n >\r\n <clr-icon shape=\"language\"></clr-icon> {{ uiLanguageAndLocale?.[0] | localeLanguageName }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-item\">\r\n <vdr-theme-switcher></vdr-theme-switcher>\r\n </div>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" vdrDropdownItem (click)=\"logOut.emit()\">\r\n <clr-icon shape=\"logout\"></clr-icon> {{ 'common.log-out' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n",
4770
5176
  styles: [":host{display:flex;align-items:center;margin:0 .5rem;height:2.5rem}.user-name{color:var(--color-grey-200);margin-right:12px}@media screen and (max-width: 768px){.user-name{display:none}}.trigger clr-icon{color:#fff}\n"]
4771
5177
  },] }
4772
5178
  ];
4773
5179
  UserMenuComponent.propDecorators = {
4774
5180
  userName: [{ type: i0.Input }],
4775
5181
  availableLanguages: [{ type: i0.Input }],
4776
- uiLanguage: [{ type: i0.Input }],
5182
+ uiLanguageAndLocale: [{ type: i0.Input }],
4777
5183
  logOut: [{ type: i0.Output }],
4778
5184
  selectUiLanguage: [{ type: i0.Output }]
4779
5185
  };
4780
5186
 
4781
5187
  // tslint:disable
4782
5188
  var result = {
4783
- possibleTypes: {
4784
- AddFulfillmentToOrderResult: [
4785
- 'Fulfillment',
4786
- 'EmptyOrderLineSelectionError',
4787
- 'ItemsAlreadyFulfilledError',
4788
- 'InsufficientStockOnHandError',
4789
- 'InvalidFulfillmentHandlerError',
4790
- 'FulfillmentStateTransitionError',
4791
- 'CreateFulfillmentError',
5189
+ "possibleTypes": {
5190
+ "AddFulfillmentToOrderResult": [
5191
+ "Fulfillment",
5192
+ "EmptyOrderLineSelectionError",
5193
+ "ItemsAlreadyFulfilledError",
5194
+ "InsufficientStockOnHandError",
5195
+ "InvalidFulfillmentHandlerError",
5196
+ "FulfillmentStateTransitionError",
5197
+ "CreateFulfillmentError"
4792
5198
  ],
4793
- AddManualPaymentToOrderResult: ['Order', 'ManualPaymentStateError'],
4794
- AuthenticationResult: ['CurrentUser', 'InvalidCredentialsError'],
4795
- CancelOrderResult: [
4796
- 'Order',
4797
- 'EmptyOrderLineSelectionError',
4798
- 'QuantityTooGreatError',
4799
- 'MultipleOrderError',
4800
- 'CancelActiveOrderError',
4801
- 'OrderStateTransitionError',
5199
+ "AddManualPaymentToOrderResult": [
5200
+ "Order",
5201
+ "ManualPaymentStateError"
4802
5202
  ],
4803
- CreateAssetResult: ['Asset', 'MimeTypeError'],
4804
- CreateChannelResult: ['Channel', 'LanguageNotAvailableError'],
4805
- CreateCustomerResult: ['Customer', 'EmailAddressConflictError'],
4806
- CreatePromotionResult: ['Promotion', 'MissingConditionsError'],
4807
- CustomField: [
4808
- 'BooleanCustomFieldConfig',
4809
- 'DateTimeCustomFieldConfig',
4810
- 'FloatCustomFieldConfig',
4811
- 'IntCustomFieldConfig',
4812
- 'LocaleStringCustomFieldConfig',
4813
- 'RelationCustomFieldConfig',
4814
- 'StringCustomFieldConfig',
4815
- 'TextCustomFieldConfig',
5203
+ "AuthenticationResult": [
5204
+ "CurrentUser",
5205
+ "InvalidCredentialsError"
4816
5206
  ],
4817
- CustomFieldConfig: [
4818
- 'StringCustomFieldConfig',
4819
- 'LocaleStringCustomFieldConfig',
4820
- 'IntCustomFieldConfig',
4821
- 'FloatCustomFieldConfig',
4822
- 'BooleanCustomFieldConfig',
4823
- 'DateTimeCustomFieldConfig',
4824
- 'RelationCustomFieldConfig',
4825
- 'TextCustomFieldConfig',
5207
+ "CancelOrderResult": [
5208
+ "Order",
5209
+ "EmptyOrderLineSelectionError",
5210
+ "QuantityTooGreatError",
5211
+ "MultipleOrderError",
5212
+ "CancelActiveOrderError",
5213
+ "OrderStateTransitionError"
4826
5214
  ],
4827
- ErrorResult: [
4828
- 'AlreadyRefundedError',
4829
- 'CancelActiveOrderError',
4830
- 'ChannelDefaultLanguageError',
4831
- 'CreateFulfillmentError',
4832
- 'EmailAddressConflictError',
4833
- 'EmptyOrderLineSelectionError',
4834
- 'FulfillmentStateTransitionError',
4835
- 'InsufficientStockError',
4836
- 'InsufficientStockOnHandError',
4837
- 'InvalidCredentialsError',
4838
- 'InvalidFulfillmentHandlerError',
4839
- 'ItemsAlreadyFulfilledError',
4840
- 'LanguageNotAvailableError',
4841
- 'ManualPaymentStateError',
4842
- 'MimeTypeError',
4843
- 'MissingConditionsError',
4844
- 'MultipleOrderError',
4845
- 'NativeAuthStrategyError',
4846
- 'NegativeQuantityError',
4847
- 'NoChangesSpecifiedError',
4848
- 'NothingToRefundError',
4849
- 'OrderLimitError',
4850
- 'OrderModificationStateError',
4851
- 'OrderStateTransitionError',
4852
- 'PaymentMethodMissingError',
4853
- 'PaymentOrderMismatchError',
4854
- 'PaymentStateTransitionError',
4855
- 'ProductOptionInUseError',
4856
- 'QuantityTooGreatError',
4857
- 'RefundOrderStateError',
4858
- 'RefundPaymentIdMissingError',
4859
- 'RefundStateTransitionError',
4860
- 'SettlePaymentError',
5215
+ "CreateAssetResult": [
5216
+ "Asset",
5217
+ "MimeTypeError"
4861
5218
  ],
4862
- ModifyOrderResult: [
4863
- 'Order',
4864
- 'NoChangesSpecifiedError',
4865
- 'OrderModificationStateError',
4866
- 'PaymentMethodMissingError',
4867
- 'RefundPaymentIdMissingError',
4868
- 'OrderLimitError',
4869
- 'NegativeQuantityError',
4870
- 'InsufficientStockError',
5219
+ "CreateChannelResult": [
5220
+ "Channel",
5221
+ "LanguageNotAvailableError"
4871
5222
  ],
4872
- NativeAuthenticationResult: ['CurrentUser', 'InvalidCredentialsError', 'NativeAuthStrategyError'],
4873
- Node: [
4874
- 'Address',
4875
- 'Administrator',
4876
- 'Allocation',
4877
- 'Asset',
4878
- 'AuthenticationMethod',
4879
- 'Cancellation',
4880
- 'Channel',
4881
- 'Collection',
4882
- 'Country',
4883
- 'Customer',
4884
- 'CustomerGroup',
4885
- 'Facet',
4886
- 'FacetValue',
4887
- 'Fulfillment',
4888
- 'HistoryEntry',
4889
- 'Job',
4890
- 'Order',
4891
- 'OrderItem',
4892
- 'OrderLine',
4893
- 'OrderModification',
4894
- 'Payment',
4895
- 'PaymentMethod',
4896
- 'Product',
4897
- 'ProductOption',
4898
- 'ProductOptionGroup',
4899
- 'ProductVariant',
4900
- 'Promotion',
4901
- 'Refund',
4902
- 'Release',
4903
- 'Return',
4904
- 'Role',
4905
- 'Sale',
4906
- 'ShippingMethod',
4907
- 'StockAdjustment',
4908
- 'Surcharge',
4909
- 'Tag',
4910
- 'TaxCategory',
4911
- 'TaxRate',
4912
- 'User',
4913
- 'Zone',
5223
+ "CreateCustomerResult": [
5224
+ "Customer",
5225
+ "EmailAddressConflictError"
4914
5226
  ],
4915
- PaginatedList: [
4916
- 'AdministratorList',
4917
- 'AssetList',
4918
- 'CollectionList',
4919
- 'CountryList',
4920
- 'CustomerGroupList',
4921
- 'CustomerList',
4922
- 'FacetList',
4923
- 'HistoryEntryList',
4924
- 'JobList',
4925
- 'OrderList',
4926
- 'PaymentMethodList',
4927
- 'ProductList',
4928
- 'ProductVariantList',
4929
- 'PromotionList',
4930
- 'RoleList',
4931
- 'ShippingMethodList',
4932
- 'TagList',
4933
- 'TaxRateList',
5227
+ "CreatePromotionResult": [
5228
+ "Promotion",
5229
+ "MissingConditionsError"
4934
5230
  ],
4935
- RefundOrderResult: [
4936
- 'Refund',
4937
- 'QuantityTooGreatError',
4938
- 'NothingToRefundError',
4939
- 'OrderStateTransitionError',
4940
- 'MultipleOrderError',
4941
- 'PaymentOrderMismatchError',
4942
- 'RefundOrderStateError',
4943
- 'AlreadyRefundedError',
4944
- 'RefundStateTransitionError',
5231
+ "CustomField": [
5232
+ "BooleanCustomFieldConfig",
5233
+ "DateTimeCustomFieldConfig",
5234
+ "FloatCustomFieldConfig",
5235
+ "IntCustomFieldConfig",
5236
+ "LocaleStringCustomFieldConfig",
5237
+ "RelationCustomFieldConfig",
5238
+ "StringCustomFieldConfig",
5239
+ "TextCustomFieldConfig"
4945
5240
  ],
4946
- RemoveOptionGroupFromProductResult: ['Product', 'ProductOptionInUseError'],
4947
- SearchResultPrice: ['PriceRange', 'SinglePrice'],
4948
- SettlePaymentResult: [
4949
- 'Payment',
4950
- 'SettlePaymentError',
4951
- 'PaymentStateTransitionError',
4952
- 'OrderStateTransitionError',
5241
+ "CustomFieldConfig": [
5242
+ "StringCustomFieldConfig",
5243
+ "LocaleStringCustomFieldConfig",
5244
+ "IntCustomFieldConfig",
5245
+ "FloatCustomFieldConfig",
5246
+ "BooleanCustomFieldConfig",
5247
+ "DateTimeCustomFieldConfig",
5248
+ "RelationCustomFieldConfig",
5249
+ "TextCustomFieldConfig"
4953
5250
  ],
4954
- SettleRefundResult: ['Refund', 'RefundStateTransitionError'],
4955
- StockMovement: ['Allocation', 'Cancellation', 'Release', 'Return', 'Sale', 'StockAdjustment'],
4956
- StockMovementItem: ['StockAdjustment', 'Allocation', 'Sale', 'Cancellation', 'Return', 'Release'],
4957
- TransitionFulfillmentToStateResult: ['Fulfillment', 'FulfillmentStateTransitionError'],
4958
- TransitionOrderToStateResult: ['Order', 'OrderStateTransitionError'],
4959
- TransitionPaymentToStateResult: ['Payment', 'PaymentStateTransitionError'],
4960
- UpdateChannelResult: ['Channel', 'LanguageNotAvailableError'],
4961
- UpdateCustomerResult: ['Customer', 'EmailAddressConflictError'],
4962
- UpdateGlobalSettingsResult: ['GlobalSettings', 'ChannelDefaultLanguageError'],
4963
- UpdatePromotionResult: ['Promotion', 'MissingConditionsError'],
4964
- },
5251
+ "ErrorResult": [
5252
+ "AlreadyRefundedError",
5253
+ "CancelActiveOrderError",
5254
+ "ChannelDefaultLanguageError",
5255
+ "CreateFulfillmentError",
5256
+ "EmailAddressConflictError",
5257
+ "EmptyOrderLineSelectionError",
5258
+ "FulfillmentStateTransitionError",
5259
+ "InsufficientStockError",
5260
+ "InsufficientStockOnHandError",
5261
+ "InvalidCredentialsError",
5262
+ "InvalidFulfillmentHandlerError",
5263
+ "ItemsAlreadyFulfilledError",
5264
+ "LanguageNotAvailableError",
5265
+ "ManualPaymentStateError",
5266
+ "MimeTypeError",
5267
+ "MissingConditionsError",
5268
+ "MultipleOrderError",
5269
+ "NativeAuthStrategyError",
5270
+ "NegativeQuantityError",
5271
+ "NoChangesSpecifiedError",
5272
+ "NothingToRefundError",
5273
+ "OrderLimitError",
5274
+ "OrderModificationStateError",
5275
+ "OrderStateTransitionError",
5276
+ "PaymentMethodMissingError",
5277
+ "PaymentOrderMismatchError",
5278
+ "PaymentStateTransitionError",
5279
+ "ProductOptionInUseError",
5280
+ "QuantityTooGreatError",
5281
+ "RefundOrderStateError",
5282
+ "RefundPaymentIdMissingError",
5283
+ "RefundStateTransitionError",
5284
+ "SettlePaymentError"
5285
+ ],
5286
+ "ModifyOrderResult": [
5287
+ "Order",
5288
+ "NoChangesSpecifiedError",
5289
+ "OrderModificationStateError",
5290
+ "PaymentMethodMissingError",
5291
+ "RefundPaymentIdMissingError",
5292
+ "OrderLimitError",
5293
+ "NegativeQuantityError",
5294
+ "InsufficientStockError"
5295
+ ],
5296
+ "NativeAuthenticationResult": [
5297
+ "CurrentUser",
5298
+ "InvalidCredentialsError",
5299
+ "NativeAuthStrategyError"
5300
+ ],
5301
+ "Node": [
5302
+ "Address",
5303
+ "Administrator",
5304
+ "Allocation",
5305
+ "Asset",
5306
+ "AuthenticationMethod",
5307
+ "Cancellation",
5308
+ "Channel",
5309
+ "Collection",
5310
+ "Country",
5311
+ "Customer",
5312
+ "CustomerGroup",
5313
+ "Facet",
5314
+ "FacetValue",
5315
+ "Fulfillment",
5316
+ "HistoryEntry",
5317
+ "Job",
5318
+ "Order",
5319
+ "OrderItem",
5320
+ "OrderLine",
5321
+ "OrderModification",
5322
+ "Payment",
5323
+ "PaymentMethod",
5324
+ "Product",
5325
+ "ProductOption",
5326
+ "ProductOptionGroup",
5327
+ "ProductVariant",
5328
+ "Promotion",
5329
+ "Refund",
5330
+ "Release",
5331
+ "Return",
5332
+ "Role",
5333
+ "Sale",
5334
+ "ShippingMethod",
5335
+ "StockAdjustment",
5336
+ "Surcharge",
5337
+ "Tag",
5338
+ "TaxCategory",
5339
+ "TaxRate",
5340
+ "User",
5341
+ "Zone"
5342
+ ],
5343
+ "PaginatedList": [
5344
+ "AdministratorList",
5345
+ "AssetList",
5346
+ "CollectionList",
5347
+ "CountryList",
5348
+ "CustomerGroupList",
5349
+ "CustomerList",
5350
+ "FacetList",
5351
+ "HistoryEntryList",
5352
+ "JobList",
5353
+ "OrderList",
5354
+ "PaymentMethodList",
5355
+ "ProductList",
5356
+ "ProductVariantList",
5357
+ "PromotionList",
5358
+ "RoleList",
5359
+ "ShippingMethodList",
5360
+ "TagList",
5361
+ "TaxRateList"
5362
+ ],
5363
+ "RefundOrderResult": [
5364
+ "Refund",
5365
+ "QuantityTooGreatError",
5366
+ "NothingToRefundError",
5367
+ "OrderStateTransitionError",
5368
+ "MultipleOrderError",
5369
+ "PaymentOrderMismatchError",
5370
+ "RefundOrderStateError",
5371
+ "AlreadyRefundedError",
5372
+ "RefundStateTransitionError"
5373
+ ],
5374
+ "RemoveOptionGroupFromProductResult": [
5375
+ "Product",
5376
+ "ProductOptionInUseError"
5377
+ ],
5378
+ "SearchResultPrice": [
5379
+ "PriceRange",
5380
+ "SinglePrice"
5381
+ ],
5382
+ "SettlePaymentResult": [
5383
+ "Payment",
5384
+ "SettlePaymentError",
5385
+ "PaymentStateTransitionError",
5386
+ "OrderStateTransitionError"
5387
+ ],
5388
+ "SettleRefundResult": [
5389
+ "Refund",
5390
+ "RefundStateTransitionError"
5391
+ ],
5392
+ "StockMovement": [
5393
+ "Allocation",
5394
+ "Cancellation",
5395
+ "Release",
5396
+ "Return",
5397
+ "Sale",
5398
+ "StockAdjustment"
5399
+ ],
5400
+ "StockMovementItem": [
5401
+ "StockAdjustment",
5402
+ "Allocation",
5403
+ "Sale",
5404
+ "Cancellation",
5405
+ "Return",
5406
+ "Release"
5407
+ ],
5408
+ "TransitionFulfillmentToStateResult": [
5409
+ "Fulfillment",
5410
+ "FulfillmentStateTransitionError"
5411
+ ],
5412
+ "TransitionOrderToStateResult": [
5413
+ "Order",
5414
+ "OrderStateTransitionError"
5415
+ ],
5416
+ "TransitionPaymentToStateResult": [
5417
+ "Payment",
5418
+ "PaymentStateTransitionError"
5419
+ ],
5420
+ "UpdateChannelResult": [
5421
+ "Channel",
5422
+ "LanguageNotAvailableError"
5423
+ ],
5424
+ "UpdateCustomerResult": [
5425
+ "Customer",
5426
+ "EmailAddressConflictError"
5427
+ ],
5428
+ "UpdateGlobalSettingsResult": [
5429
+ "GlobalSettings",
5430
+ "ChannelDefaultLanguageError"
5431
+ ],
5432
+ "UpdatePromotionResult": [
5433
+ "Promotion",
5434
+ "MissingConditionsError"
5435
+ ]
5436
+ }
4965
5437
  };
4966
5438
 
4967
5439
  // Allows the introspectionResult to be imported as a named symbol
@@ -5005,6 +5477,7 @@
5005
5477
 
5006
5478
  function getClientDefaults(localStorageService) {
5007
5479
  var currentLanguage = localStorageService.get('uiLanguageCode') || getDefaultUiLanguage();
5480
+ var currentLocale = localStorageService.get('uiLocale') || getDefaultUiLocale();
5008
5481
  var currentContentLanguage = localStorageService.get('contentLanguageCode') || getDefaultUiLanguage();
5009
5482
  var activeTheme = localStorageService.get('activeTheme') || 'default';
5010
5483
  return {
@@ -5023,22 +5496,24 @@
5023
5496
  },
5024
5497
  uiState: {
5025
5498
  language: currentLanguage,
5499
+ locale: currentLocale || '',
5026
5500
  contentLanguage: currentContentLanguage,
5027
5501
  theme: activeTheme,
5502
+ displayUiExtensionPoints: false,
5028
5503
  __typename: 'UiState',
5029
5504
  },
5030
5505
  };
5031
5506
  }
5032
5507
 
5033
- var ɵ0$2 = function (_, args, _a) {
5034
- var cache = _a.cache;
5508
+ var ɵ0$2 = function (_, args, _b) {
5509
+ var cache = _b.cache;
5035
5510
  return updateRequestsInFlight(cache, 1);
5036
- }, ɵ1 = function (_, args, _a) {
5037
- var cache = _a.cache;
5511
+ }, ɵ1 = function (_, args, _b) {
5512
+ var cache = _b.cache;
5038
5513
  return updateRequestsInFlight(cache, -1);
5039
- }, ɵ2 = function (_, args, _a) {
5040
- var cache = _a.cache;
5041
- var _b = args.input, username = _b.username, loginTime = _b.loginTime, channels = _b.channels, activeChannelId = _b.activeChannelId;
5514
+ }, ɵ2 = function (_, args, _b) {
5515
+ var cache = _b.cache;
5516
+ var _c = args.input, username = _c.username, loginTime = _c.loginTime, channels = _c.channels, activeChannelId = _c.activeChannelId;
5042
5517
  // tslint:disable-next-line:no-non-null-assertion
5043
5518
  var permissions = channels.find(function (c) { return c.id === activeChannelId; }).permissions;
5044
5519
  var data = {
@@ -5054,8 +5529,8 @@
5054
5529
  };
5055
5530
  cache.writeQuery({ query: GET_USER_STATUS, data: data });
5056
5531
  return data.userStatus;
5057
- }, ɵ3 = function (_, args, _a) {
5058
- var cache = _a.cache;
5532
+ }, ɵ3 = function (_, args, _b) {
5533
+ var cache = _b.cache;
5059
5534
  var data = {
5060
5535
  userStatus: {
5061
5536
  __typename: 'UserStatus',
@@ -5069,50 +5544,44 @@
5069
5544
  };
5070
5545
  cache.writeQuery({ query: GET_USER_STATUS, data: data });
5071
5546
  return data.userStatus;
5072
- }, ɵ4 = function (_, args, _a) {
5073
- var cache = _a.cache;
5547
+ }, ɵ4 = function (_, args, _b) {
5548
+ var cache = _b.cache;
5074
5549
  // tslint:disable-next-line:no-non-null-assertion
5075
5550
  var previous = cache.readQuery({ query: GET_UI_STATE });
5076
- var data = {
5077
- uiState: {
5078
- __typename: 'UiState',
5079
- language: args.languageCode,
5080
- contentLanguage: previous.uiState.contentLanguage,
5081
- theme: previous.uiState.theme,
5082
- },
5083
- };
5551
+ var data = updateUiState(previous, 'language', args.languageCode);
5084
5552
  cache.writeQuery({ query: GET_UI_STATE, data: data });
5085
5553
  return args.languageCode;
5086
- }, ɵ5 = function (_, args, _a) {
5087
- var cache = _a.cache;
5554
+ }, ɵ5 = function (_, args, _b) {
5555
+ var cache = _b.cache;
5556
+ var _a;
5088
5557
  // tslint:disable-next-line:no-non-null-assertion
5089
5558
  var previous = cache.readQuery({ query: GET_UI_STATE });
5090
- var data = {
5091
- uiState: {
5092
- __typename: 'UiState',
5093
- language: previous.uiState.language,
5094
- contentLanguage: args.languageCode,
5095
- theme: previous.uiState.theme,
5096
- },
5097
- };
5559
+ var data = updateUiState(previous, 'locale', args.locale);
5560
+ cache.writeQuery({ query: GET_UI_STATE, data: data });
5561
+ return (_a = args.locale) !== null && _a !== void 0 ? _a : undefined;
5562
+ }, ɵ6 = function (_, args, _b) {
5563
+ var cache = _b.cache;
5564
+ // tslint:disable-next-line:no-non-null-assertion
5565
+ var previous = cache.readQuery({ query: GET_UI_STATE });
5566
+ var data = updateUiState(previous, 'contentLanguage', args.languageCode);
5098
5567
  cache.writeQuery({ query: GET_UI_STATE, data: data });
5099
5568
  return args.languageCode;
5100
- }, ɵ6 = function (_, args, _a) {
5101
- var cache = _a.cache;
5569
+ }, ɵ7 = function (_, args, _b) {
5570
+ var cache = _b.cache;
5102
5571
  // tslint:disable-next-line:no-non-null-assertion
5103
5572
  var previous = cache.readQuery({ query: GET_UI_STATE });
5104
- var data = {
5105
- uiState: {
5106
- __typename: 'UiState',
5107
- language: previous.uiState.language,
5108
- contentLanguage: previous.uiState.contentLanguage,
5109
- theme: args.theme,
5110
- },
5111
- };
5573
+ var data = updateUiState(previous, 'theme', args.theme);
5112
5574
  cache.writeQuery({ query: GET_UI_STATE, data: data });
5113
5575
  return args.theme;
5114
- }, ɵ7 = function (_, args, _a) {
5115
- var cache = _a.cache;
5576
+ }, ɵ8 = function (_, args, _b) {
5577
+ var cache = _b.cache;
5578
+ // tslint:disable-next-line:no-non-null-assertion
5579
+ var previous = cache.readQuery({ query: GET_UI_STATE });
5580
+ var data = updateUiState(previous, 'displayUiExtensionPoints', args.display);
5581
+ cache.writeQuery({ query: GET_UI_STATE, data: data });
5582
+ return args.display;
5583
+ }, ɵ9 = function (_, args, _b) {
5584
+ var cache = _b.cache;
5116
5585
  // tslint:disable-next-line:no-non-null-assertion
5117
5586
  var previous = cache.readQuery({ query: GET_USER_STATUS });
5118
5587
  var activeChannel = previous.userStatus.channels.find(function (c) { return c.id === args.channelId; });
@@ -5125,8 +5594,8 @@
5125
5594
  };
5126
5595
  cache.writeQuery({ query: GET_USER_STATUS, data: data });
5127
5596
  return data.userStatus;
5128
- }, ɵ8 = function (_, args, _a) {
5129
- var cache = _a.cache;
5597
+ }, ɵ10 = function (_, args, _b) {
5598
+ var cache = _b.cache;
5130
5599
  // tslint:disable-next-line:no-non-null-assertion
5131
5600
  var previous = cache.readQuery({ query: GET_USER_STATUS });
5132
5601
  var data = {
@@ -5142,12 +5611,20 @@
5142
5611
  setAsLoggedIn: ɵ2,
5143
5612
  setAsLoggedOut: ɵ3,
5144
5613
  setUiLanguage: ɵ4,
5145
- setContentLanguage: ɵ5,
5146
- setUiTheme: ɵ6,
5147
- setActiveChannel: ɵ7,
5148
- updateUserChannels: ɵ8,
5614
+ setUiLocale: ɵ5,
5615
+ setContentLanguage: ɵ6,
5616
+ setUiTheme: ɵ7,
5617
+ setDisplayUiExtensionPoints: ɵ8,
5618
+ setActiveChannel: ɵ9,
5619
+ updateUserChannels: ɵ10,
5149
5620
  },
5150
5621
  };
5622
+ function updateUiState(previous, key, value) {
5623
+ var _b;
5624
+ return {
5625
+ uiState: Object.assign(Object.assign({}, previous.uiState), (_b = {}, _b[key] = value, _b.__typename = 'UiState', _b)),
5626
+ };
5627
+ }
5151
5628
  function updateRequestsInFlight(cache, increment) {
5152
5629
  var previous = cache.readQuery({ query: GET_NEWTORK_STATUS });
5153
5630
  var inFlightRequests = previous ? previous.networkStatus.inFlightRequests + increment : increment;
@@ -5222,7 +5699,25 @@
5222
5699
  // How many ms before the toast is dismissed.
5223
5700
  var TOAST_DURATION = 3000;
5224
5701
  /**
5702
+ * @description
5225
5703
  * Provides toast notification functionality.
5704
+ *
5705
+ * @example
5706
+ * ```TypeScript
5707
+ * class MyComponent {
5708
+ * constructor(private notificationService: NotificationService) {}
5709
+ *
5710
+ * save() {
5711
+ * this.notificationService
5712
+ * .success(_('asset.notify-create-assets-success'), {
5713
+ * count: successCount,
5714
+ * });
5715
+ * }
5716
+ * }
5717
+ *
5718
+ * @docsCategory providers
5719
+ * @docsPage NotificationService
5720
+ * @docsWeight 0
5226
5721
  */
5227
5722
  var NotificationService = /** @class */ (function () {
5228
5723
  function NotificationService(i18nService, resolver, overlayHostService) {
@@ -5239,6 +5734,7 @@
5239
5734
  configurable: true
5240
5735
  });
5241
5736
  /**
5737
+ * @description
5242
5738
  * Display a success toast notification
5243
5739
  */
5244
5740
  NotificationService.prototype.success = function (message, translationVars) {
@@ -5249,6 +5745,7 @@
5249
5745
  });
5250
5746
  };
5251
5747
  /**
5748
+ * @description
5252
5749
  * Display an info toast notification
5253
5750
  */
5254
5751
  NotificationService.prototype.info = function (message, translationVars) {
@@ -5259,6 +5756,7 @@
5259
5756
  });
5260
5757
  };
5261
5758
  /**
5759
+ * @description
5262
5760
  * Display a warning toast notification
5263
5761
  */
5264
5762
  NotificationService.prototype.warning = function (message, translationVars) {
@@ -5269,6 +5767,7 @@
5269
5767
  });
5270
5768
  };
5271
5769
  /**
5770
+ * @description
5272
5771
  * Display an error toast notification
5273
5772
  */
5274
5773
  NotificationService.prototype.error = function (message, translationVars) {
@@ -5280,6 +5779,7 @@
5280
5779
  });
5281
5780
  };
5282
5781
  /**
5782
+ * @description
5283
5783
  * Display a toast notification.
5284
5784
  */
5285
5785
  NotificationService.prototype.notify = function (config) {
@@ -5698,10 +6198,11 @@
5698
6198
 
5699
6199
  /**
5700
6200
  * This service allows the registration of custom controls for customFields.
6201
+ *
6202
+ * @deprecated The ComponentRegistryService now handles custom field components directly.
5701
6203
  */
5702
6204
  var CustomFieldComponentService = /** @class */ (function () {
5703
- function CustomFieldComponentService(componentFactoryResolver, componentRegistryService) {
5704
- this.componentFactoryResolver = componentFactoryResolver;
6205
+ function CustomFieldComponentService(componentRegistryService) {
5705
6206
  this.componentRegistryService = componentRegistryService;
5706
6207
  }
5707
6208
  /**
@@ -5729,17 +6230,23 @@
5729
6230
  };
5730
6231
  return CustomFieldComponentService;
5731
6232
  }());
5732
- CustomFieldComponentService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CustomFieldComponentService_Factory() { return new CustomFieldComponentService(i0__namespace.ɵɵinject(i0__namespace.ComponentFactoryResolver), i0__namespace.ɵɵinject(ComponentRegistryService)); }, token: CustomFieldComponentService, providedIn: "root" });
6233
+ CustomFieldComponentService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CustomFieldComponentService_Factory() { return new CustomFieldComponentService(i0__namespace.ɵɵinject(ComponentRegistryService)); }, token: CustomFieldComponentService, providedIn: "root" });
5733
6234
  CustomFieldComponentService.decorators = [
5734
6235
  { type: i0.Injectable, args: [{
5735
6236
  providedIn: 'root',
5736
6237
  },] }
5737
6238
  ];
5738
6239
  CustomFieldComponentService.ctorParameters = function () { return [
5739
- { type: i0.ComponentFactoryResolver },
5740
6240
  { type: ComponentRegistryService }
5741
6241
  ]; };
5742
6242
 
6243
+ /**
6244
+ * @description
6245
+ * A checkbox input. The default input component for `boolean` fields.
6246
+ *
6247
+ * @docsCategory custom-input-components
6248
+ * @docsPage default-inputs
6249
+ */
5743
6250
  var BooleanFormInputComponent = /** @class */ (function () {
5744
6251
  function BooleanFormInputComponent() {
5745
6252
  }
@@ -5755,6 +6262,146 @@
5755
6262
  },] }
5756
6263
  ];
5757
6264
 
6265
+ function jsonValidator() {
6266
+ return function (control) {
6267
+ var error = { jsonInvalid: true };
6268
+ try {
6269
+ JSON.parse(control.value);
6270
+ }
6271
+ catch (e) {
6272
+ control.setErrors(error);
6273
+ return error;
6274
+ }
6275
+ control.setErrors(null);
6276
+ return null;
6277
+ };
6278
+ }
6279
+ /**
6280
+ * @description
6281
+ * A JSON editor input with syntax highlighting and error detection. Works well
6282
+ * with `text` type fields.
6283
+ *
6284
+ * @docsCategory custom-input-components
6285
+ * @docsPage default-inputs
6286
+ */
6287
+ var JsonEditorFormInputComponent = /** @class */ (function () {
6288
+ function JsonEditorFormInputComponent(changeDetector) {
6289
+ this.changeDetector = changeDetector;
6290
+ this.isValid = true;
6291
+ }
6292
+ Object.defineProperty(JsonEditorFormInputComponent.prototype, "height", {
6293
+ get: function () {
6294
+ var _a;
6295
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.height) || this.config.height;
6296
+ },
6297
+ enumerable: false,
6298
+ configurable: true
6299
+ });
6300
+ JsonEditorFormInputComponent.prototype.ngOnInit = function () {
6301
+ this.formControl.addValidators(jsonValidator());
6302
+ };
6303
+ JsonEditorFormInputComponent.prototype.ngAfterViewInit = function () {
6304
+ var _this = this;
6305
+ var lastVal = '';
6306
+ var highlight = function (editor) {
6307
+ var _a;
6308
+ var code = (_a = editor.textContent) !== null && _a !== void 0 ? _a : '';
6309
+ if (code === lastVal) {
6310
+ return;
6311
+ }
6312
+ lastVal = code;
6313
+ _this.errorMessage = _this.getJsonError(code);
6314
+ _this.changeDetector.markForCheck();
6315
+ editor.innerHTML = _this.syntaxHighlight(code, _this.getErrorPos(_this.errorMessage));
6316
+ };
6317
+ this.jar = codejar.CodeJar(this.editorElementRef.nativeElement, highlight);
6318
+ this.jar.onUpdate(function (value) {
6319
+ _this.formControl.setValue(value);
6320
+ _this.formControl.markAsDirty();
6321
+ _this.isValid = _this.formControl.valid;
6322
+ });
6323
+ this.jar.updateCode(this.formControl.value);
6324
+ if (this.readonly) {
6325
+ this.editorElementRef.nativeElement.contentEditable = 'false';
6326
+ }
6327
+ };
6328
+ JsonEditorFormInputComponent.prototype.getJsonError = function (json) {
6329
+ try {
6330
+ JSON.parse(json);
6331
+ }
6332
+ catch (e) {
6333
+ return e.message;
6334
+ }
6335
+ return;
6336
+ };
6337
+ JsonEditorFormInputComponent.prototype.getErrorPos = function (errorMessage) {
6338
+ if (!errorMessage) {
6339
+ return;
6340
+ }
6341
+ var matches = errorMessage.match(/at position (\d+)/);
6342
+ var pos = matches === null || matches === void 0 ? void 0 : matches[1];
6343
+ return pos != null ? +pos : undefined;
6344
+ };
6345
+ JsonEditorFormInputComponent.prototype.syntaxHighlight = function (json, errorPos) {
6346
+ json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
6347
+ var hasMarkedError = false;
6348
+ return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
6349
+ var args = [];
6350
+ for (var _i = 1; _i < arguments.length; _i++) {
6351
+ args[_i - 1] = arguments[_i];
6352
+ }
6353
+ var cls = 'number';
6354
+ if (/^"/.test(match)) {
6355
+ if (/:$/.test(match)) {
6356
+ cls = 'key';
6357
+ }
6358
+ else {
6359
+ cls = 'string';
6360
+ }
6361
+ }
6362
+ else if (/true|false/.test(match)) {
6363
+ cls = 'boolean';
6364
+ }
6365
+ else if (/null/.test(match)) {
6366
+ cls = 'null';
6367
+ }
6368
+ var errorClass = '';
6369
+ if (errorPos && !hasMarkedError) {
6370
+ var length = args[0].length;
6371
+ var offset = args[4];
6372
+ if (errorPos <= length + offset) {
6373
+ errorClass = 'je-error';
6374
+ hasMarkedError = true;
6375
+ }
6376
+ }
6377
+ return '<span class="je-' + cls + ' ' + errorClass + '">' + match + '</span>';
6378
+ });
6379
+ };
6380
+ return JsonEditorFormInputComponent;
6381
+ }());
6382
+ JsonEditorFormInputComponent.id = 'json-editor-form-input';
6383
+ JsonEditorFormInputComponent.decorators = [
6384
+ { type: i0.Component, args: [{
6385
+ selector: 'vdr-json-editor-form-input',
6386
+ template: "<div #editor class=\"json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n",
6387
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
6388
+ styles: [".json-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;-moz-tab-size:4;tab-size:4;font-family:\"Source Code Pro\",\"Lucida Console\",Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.json-editor:focus{border-color:var(--color-primary-500)}.json-editor.invalid{border-color:var(--clr-forms-invalid-color)}.json-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.json-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.json-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.json-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.json-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.json-editor ::ng-deep .je-error{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;-webkit-text-decoration-color:var(--color-json-editor-error);text-decoration-color:var(--color-json-editor-error)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}\n"]
6389
+ },] }
6390
+ ];
6391
+ JsonEditorFormInputComponent.ctorParameters = function () { return [
6392
+ { type: i0.ChangeDetectorRef }
6393
+ ]; };
6394
+ JsonEditorFormInputComponent.propDecorators = {
6395
+ editorElementRef: [{ type: i0.ViewChild, args: ['editor',] }]
6396
+ };
6397
+
6398
+ /**
6399
+ * @description
6400
+ * An input for monetary values. Should be used with `int` type fields.
6401
+ *
6402
+ * @docsCategory custom-input-components
6403
+ * @docsPage default-inputs
6404
+ */
5758
6405
  var CurrencyFormInputComponent = /** @class */ (function () {
5759
6406
  function CurrencyFormInputComponent(dataService) {
5760
6407
  this.dataService = dataService;
@@ -5780,6 +6427,14 @@
5780
6427
  readonly: [{ type: i0.Input }]
5781
6428
  };
5782
6429
 
6430
+ /**
6431
+ * @description
6432
+ * Allows the selection of a Customer via an autocomplete select input.
6433
+ * Should be used with `ID` type fields which represent Customer IDs.
6434
+ *
6435
+ * @docsCategory custom-input-components
6436
+ * @docsPage default-inputs
6437
+ */
5783
6438
  var CustomerGroupFormInputComponent = /** @class */ (function () {
5784
6439
  function CustomerGroupFormInputComponent(dataService) {
5785
6440
  this.dataService = dataService;
@@ -5813,16 +6468,47 @@
5813
6468
  readonly: [{ type: i0.Input }]
5814
6469
  };
5815
6470
 
6471
+ /**
6472
+ * @description
6473
+ * Allows selection of a datetime. Default input for `datetime` type fields.
6474
+ *
6475
+ * @docsCategory custom-input-components
6476
+ * @docsPage default-inputs
6477
+ */
5816
6478
  var DateFormInputComponent = /** @class */ (function () {
5817
6479
  function DateFormInputComponent() {
5818
6480
  }
6481
+ Object.defineProperty(DateFormInputComponent.prototype, "min", {
6482
+ get: function () {
6483
+ var _a;
6484
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.min) || this.config.min;
6485
+ },
6486
+ enumerable: false,
6487
+ configurable: true
6488
+ });
6489
+ Object.defineProperty(DateFormInputComponent.prototype, "max", {
6490
+ get: function () {
6491
+ var _a;
6492
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.max) || this.config.max;
6493
+ },
6494
+ enumerable: false,
6495
+ configurable: true
6496
+ });
6497
+ Object.defineProperty(DateFormInputComponent.prototype, "yearRange", {
6498
+ get: function () {
6499
+ var _a;
6500
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.yearRange) || this.config.yearRange;
6501
+ },
6502
+ enumerable: false,
6503
+ configurable: true
6504
+ });
5819
6505
  return DateFormInputComponent;
5820
6506
  }());
5821
6507
  DateFormInputComponent.id = 'date-form-input';
5822
6508
  DateFormInputComponent.decorators = [
5823
6509
  { type: i0.Component, args: [{
5824
6510
  selector: 'vdr-date-form-input',
5825
- template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"config?.min\"\r\n [max]=\"config?.max\"\r\n [yearRange]=\"config?.yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n",
6511
+ template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n",
5826
6512
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5827
6513
  styles: [""]
5828
6514
  },] }
@@ -5831,6 +6517,14 @@
5831
6517
  readonly: [{ type: i0.Input }]
5832
6518
  };
5833
6519
 
6520
+ /**
6521
+ * @description
6522
+ * Allows the selection of multiple FacetValues via an autocomplete select input.
6523
+ * Should be used with `ID` type **list** fields which represent FacetValue IDs.
6524
+ *
6525
+ * @docsCategory custom-input-components
6526
+ * @docsPage default-inputs
6527
+ */
5834
6528
  var FacetValueFormInputComponent = /** @class */ (function () {
5835
6529
  function FacetValueFormInputComponent(dataService) {
5836
6530
  this.dataService = dataService;
@@ -5857,26 +6551,80 @@
5857
6551
  { type: DataService }
5858
6552
  ]; };
5859
6553
 
6554
+ /**
6555
+ * @description
6556
+ * Displays a number input. Default input for `int` and `float` type fields.
6557
+ *
6558
+ * @docsCategory custom-input-components
6559
+ * @docsPage default-inputs
6560
+ */
5860
6561
  var NumberFormInputComponent = /** @class */ (function () {
5861
6562
  function NumberFormInputComponent() {
5862
6563
  }
5863
- return NumberFormInputComponent;
5864
- }());
5865
- NumberFormInputComponent.id = 'number-form-input';
5866
- NumberFormInputComponent.decorators = [
5867
- { type: i0.Component, args: [{
5868
- selector: 'vdr-number-form-input',
5869
- template: "<vdr-affixed-input [suffix]=\"config?.suffix\" [prefix]=\"config?.prefix\">\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"config?.min\"\r\n [max]=\"config?.max\"\r\n [step]=\"config?.step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n",
5870
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
5871
- styles: [""]
5872
- },] }
5873
- ];
5874
- NumberFormInputComponent.propDecorators = {
5875
- readonly: [{ type: i0.Input }]
5876
- };
5877
-
5878
- var PasswordFormInputComponent = /** @class */ (function () {
5879
- function PasswordFormInputComponent() {
6564
+ Object.defineProperty(NumberFormInputComponent.prototype, "prefix", {
6565
+ get: function () {
6566
+ var _a;
6567
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.prefix) || this.config.prefix;
6568
+ },
6569
+ enumerable: false,
6570
+ configurable: true
6571
+ });
6572
+ Object.defineProperty(NumberFormInputComponent.prototype, "suffix", {
6573
+ get: function () {
6574
+ var _a;
6575
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.suffix) || this.config.suffix;
6576
+ },
6577
+ enumerable: false,
6578
+ configurable: true
6579
+ });
6580
+ Object.defineProperty(NumberFormInputComponent.prototype, "min", {
6581
+ get: function () {
6582
+ var _a;
6583
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.min) || this.config.min;
6584
+ },
6585
+ enumerable: false,
6586
+ configurable: true
6587
+ });
6588
+ Object.defineProperty(NumberFormInputComponent.prototype, "max", {
6589
+ get: function () {
6590
+ var _a;
6591
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.max) || this.config.max;
6592
+ },
6593
+ enumerable: false,
6594
+ configurable: true
6595
+ });
6596
+ Object.defineProperty(NumberFormInputComponent.prototype, "step", {
6597
+ get: function () {
6598
+ var _a;
6599
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.step) || this.config.step;
6600
+ },
6601
+ enumerable: false,
6602
+ configurable: true
6603
+ });
6604
+ return NumberFormInputComponent;
6605
+ }());
6606
+ NumberFormInputComponent.id = 'number-form-input';
6607
+ NumberFormInputComponent.decorators = [
6608
+ { type: i0.Component, args: [{
6609
+ selector: 'vdr-number-form-input',
6610
+ template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n",
6611
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
6612
+ styles: [""]
6613
+ },] }
6614
+ ];
6615
+ NumberFormInputComponent.propDecorators = {
6616
+ readonly: [{ type: i0.Input }]
6617
+ };
6618
+
6619
+ /**
6620
+ * @description
6621
+ * Displays a password text input. Should be used with `string` type fields.
6622
+ *
6623
+ * @docsCategory custom-input-components
6624
+ * @docsPage default-inputs
6625
+ */
6626
+ var PasswordFormInputComponent = /** @class */ (function () {
6627
+ function PasswordFormInputComponent() {
5880
6628
  }
5881
6629
  return PasswordFormInputComponent;
5882
6630
  }());
@@ -5890,6 +6638,14 @@
5890
6638
  },] }
5891
6639
  ];
5892
6640
 
6641
+ /**
6642
+ * @description
6643
+ * Allows the selection of multiple ProductVariants via an autocomplete select input.
6644
+ * Should be used with `ID` type **list** fields which represent ProductVariant IDs.
6645
+ *
6646
+ * @docsCategory custom-input-components
6647
+ * @docsPage default-inputs
6648
+ */
5893
6649
  var ProductSelectorFormInputComponent = /** @class */ (function () {
5894
6650
  function ProductSelectorFormInputComponent(dataService) {
5895
6651
  this.dataService = dataService;
@@ -5939,6 +6695,15 @@
5939
6695
  { type: DataService }
5940
6696
  ]; };
5941
6697
 
6698
+ /**
6699
+ * @description
6700
+ * The default input component for `relation` type custom fields. Allows the selection
6701
+ * of a ProductVariant, Product, Customer or Asset. For other entity types, a custom
6702
+ * implementation will need to be defined. See {@link registerFormInputComponent}.
6703
+ *
6704
+ * @docsCategory custom-input-components
6705
+ * @docsPage default-inputs
6706
+ */
5942
6707
  var RelationFormInputComponent = /** @class */ (function () {
5943
6708
  function RelationFormInputComponent() {
5944
6709
  }
@@ -5957,16 +6722,54 @@
5957
6722
  readonly: [{ type: i0.Input }]
5958
6723
  };
5959
6724
 
6725
+ /**
6726
+ * @description
6727
+ * Uses the {@link RichTextEditorComponent} as in input for `text` type fields.
6728
+ *
6729
+ * @docsCategory custom-input-components
6730
+ * @docsPage default-inputs
6731
+ */
6732
+ var RichTextFormInputComponent = /** @class */ (function () {
6733
+ function RichTextFormInputComponent() {
6734
+ }
6735
+ return RichTextFormInputComponent;
6736
+ }());
6737
+ RichTextFormInputComponent.id = 'rich-text-form-input';
6738
+ RichTextFormInputComponent.decorators = [
6739
+ { type: i0.Component, args: [{
6740
+ selector: 'vdr-rich-text-form-input',
6741
+ template: "<vdr-rich-text-editor\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></vdr-rich-text-editor>\r\n",
6742
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
6743
+ styles: [":host textarea{resize:both;height:6rem;width:100%}\n"]
6744
+ },] }
6745
+ ];
6746
+
6747
+ /**
6748
+ * @description
6749
+ * Uses a select input to allow the selection of a string value. Should be used with
6750
+ * `string` type fields with options.
6751
+ *
6752
+ * @docsCategory custom-input-components
6753
+ * @docsPage default-inputs
6754
+ */
5960
6755
  var SelectFormInputComponent = /** @class */ (function () {
5961
6756
  function SelectFormInputComponent() {
5962
6757
  }
6758
+ Object.defineProperty(SelectFormInputComponent.prototype, "options", {
6759
+ get: function () {
6760
+ var _a;
6761
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.options) || this.config.options;
6762
+ },
6763
+ enumerable: false,
6764
+ configurable: true
6765
+ });
5963
6766
  return SelectFormInputComponent;
5964
6767
  }());
5965
6768
  SelectFormInputComponent.id = 'select-form-input';
5966
6769
  SelectFormInputComponent.decorators = [
5967
6770
  { type: i0.Component, args: [{
5968
6771
  selector: 'vdr-select-form-input',
5969
- template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of config.options\" [value]=\"option.value\">\r\n {{ (option | customFieldLabel) || option.label || option.value }}\r\n </option>\r\n</select>\r\n",
6772
+ template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options\" [value]=\"option.value\">\r\n {{ (option | customFieldLabel) || option.label || option.value }}\r\n </option>\r\n</select>\r\n",
5970
6773
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5971
6774
  styles: ["select{width:100%}\n"]
5972
6775
  },] }
@@ -5975,21 +6778,51 @@
5975
6778
  readonly: [{ type: i0.Input }]
5976
6779
  };
5977
6780
 
6781
+ /**
6782
+ * @description
6783
+ * Uses a regular text form input. This is the default input for `string` and `localeString` type fields.
6784
+ *
6785
+ * @docsCategory custom-input-components
6786
+ * @docsPage default-inputs
6787
+ */
5978
6788
  var TextFormInputComponent = /** @class */ (function () {
5979
6789
  function TextFormInputComponent() {
5980
6790
  }
6791
+ Object.defineProperty(TextFormInputComponent.prototype, "prefix", {
6792
+ get: function () {
6793
+ var _a;
6794
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.prefix) || this.config.prefix;
6795
+ },
6796
+ enumerable: false,
6797
+ configurable: true
6798
+ });
6799
+ Object.defineProperty(TextFormInputComponent.prototype, "suffix", {
6800
+ get: function () {
6801
+ var _a;
6802
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.suffix) || this.config.suffix;
6803
+ },
6804
+ enumerable: false,
6805
+ configurable: true
6806
+ });
5981
6807
  return TextFormInputComponent;
5982
6808
  }());
5983
6809
  TextFormInputComponent.id = 'text-form-input';
5984
6810
  TextFormInputComponent.decorators = [
5985
6811
  { type: i0.Component, args: [{
5986
6812
  selector: 'vdr-text-form-input',
5987
- template: "<input\r\n type=\"text\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n",
6813
+ template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n",
5988
6814
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5989
6815
  styles: ["input{width:100%}\n"]
5990
6816
  },] }
5991
6817
  ];
5992
6818
 
6819
+ /**
6820
+ * @description
6821
+ * Uses textarea form input. This is the default input for `text` type fields.
6822
+ *
6823
+ * @docsCategory custom-input-components
6824
+ * @docsPage default-inputs
6825
+ */
5993
6826
  var TextareaFormInputComponent = /** @class */ (function () {
5994
6827
  function TextareaFormInputComponent() {
5995
6828
  }
@@ -6025,11 +6858,14 @@
6025
6858
  PasswordFormInputComponent,
6026
6859
  RelationFormInputComponent,
6027
6860
  TextareaFormInputComponent,
6861
+ RichTextFormInputComponent,
6862
+ JsonEditorFormInputComponent,
6028
6863
  ];
6029
6864
  /**
6030
6865
  * @description
6031
6866
  * Registers a custom FormInputComponent which can be used to control the argument inputs
6032
- * of a {@link ConfigurableOperationDef} (e.g. CollectionFilter, ShippingMethod etc)
6867
+ * of a {@link ConfigurableOperationDef} (e.g. CollectionFilter, ShippingMethod etc) or for
6868
+ * a custom field.
6033
6869
  *
6034
6870
  * @example
6035
6871
  * ```TypeScript
@@ -6042,6 +6878,35 @@
6042
6878
  * })
6043
6879
  * export class MyUiExtensionModule {}
6044
6880
  * ```
6881
+ *
6882
+ * This input component can then be used in a custom field:
6883
+ *
6884
+ * @example
6885
+ * ```TypeScript
6886
+ * const config = {
6887
+ * // ...
6888
+ * customFields: {
6889
+ * ProductVariant: [
6890
+ * {
6891
+ * name: 'rrp',
6892
+ * type: 'int',
6893
+ * ui: { component: 'my-custom-input' },
6894
+ * },
6895
+ * ]
6896
+ * }
6897
+ * }
6898
+ * ```
6899
+ *
6900
+ * or with an argument of a {@link ConfigurableOperationDef}:
6901
+ *
6902
+ * @example
6903
+ * ```TypeScript
6904
+ * args: {
6905
+ * rrp: { type: 'int', ui: { component: 'my-custom-input' } },
6906
+ * }
6907
+ * ```
6908
+ *
6909
+ * @docsCategory custom-input-components
6045
6910
  */
6046
6911
  function registerFormInputComponent(id, component) {
6047
6912
  return {
@@ -6055,6 +6920,8 @@
6055
6920
  }
6056
6921
  /**
6057
6922
  * @description
6923
+ * **Deprecated** use `registerFormInputComponent()` in combination with the customField `ui` config instead.
6924
+ *
6058
6925
  * Registers a custom component to act as the form input control for the given custom field.
6059
6926
  * This should be used in the NgModule `providers` array of your ui extension module.
6060
6927
  *
@@ -6069,6 +6936,10 @@
6069
6936
  * })
6070
6937
  * export class MyUiExtensionModule {}
6071
6938
  * ```
6939
+ *
6940
+ * @deprecated use `registerFormInputComponent()` in combination with the customField `ui` config instead.
6941
+ *
6942
+ * @docsCategory custom-input-components
6072
6943
  */
6073
6944
  function registerCustomFieldComponent(entity, fieldName, component) {
6074
6945
  return {
@@ -6146,9 +7017,9 @@
6146
7017
  ActionBarItemsComponent.decorators = [
6147
7018
  { type: i0.Component, args: [{
6148
7019
  selector: 'vdr-action-bar-items',
6149
- template: "<ng-container *ngFor=\"let item of items$ | async\">\r\n <button *vdrIfPermissions=\"item.requiresPermission\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n [disabled]=\"item.disabled ? (item.disabled | async) : false\"\r\n (click)=\"handleClick($event, item)\"\r\n [ngClass]=\"getButtonStyles(item)\">\r\n <clr-icon *ngIf=\"item.icon\" [attr.shape]=\"item.icon\"></clr-icon>\r\n {{ item.label | translate }}\r\n </button>\r\n</ng-container>\r\n",
7020
+ template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"actionBar\" [leftPx]=\"-24\" [topPx]=\"-6\">\r\n <ng-container *ngFor=\"let item of items$ | async\">\r\n <button\r\n *vdrIfPermissions=\"item.requiresPermission\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n [disabled]=\"item.disabled ? (item.disabled | async) : false\"\r\n (click)=\"handleClick($event, item)\"\r\n [ngClass]=\"getButtonStyles(item)\"\r\n >\r\n <clr-icon *ngIf=\"item.icon\" [attr.shape]=\"item.icon\"></clr-icon>\r\n {{ item.label | translate }}\r\n </button>\r\n </ng-container>\r\n</vdr-ui-extension-point>\r\n",
6150
7021
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6151
- styles: [""]
7022
+ styles: [":host{display:inline-block;min-height:36px}\n"]
6152
7023
  },] }
6153
7024
  ];
6154
7025
  ActionBarItemsComponent.ctorParameters = function () { return [
@@ -6200,7 +7071,7 @@
6200
7071
  { type: i0.Component, args: [{
6201
7072
  selector: 'vdr-action-bar',
6202
7073
  template: "<div class=\"left-content\" [class.grow]=\"left?.grow\"><ng-content select=\"vdr-ab-left\"></ng-content></div>\r\n<div class=\"right-content\" [class.grow]=\"right?.grow\"><ng-content select=\"vdr-ab-right\"></ng-content></div>\r\n",
6203
- styles: [":host{display:flex;justify-content:space-between;align-items:flex-start;background-color:var(--color-component-bg-100);position:sticky;top:-24px;z-index:25;border-bottom:1px solid var(--color-component-border-200)}:host>.grow{flex:1}\n"]
7074
+ styles: [":host{display:flex;justify-content:space-between;align-items:baseline;background-color:var(--color-component-bg-100);position:sticky;top:-24px;z-index:25;border-bottom:1px solid var(--color-component-border-200)}:host>.grow{flex:1}\n"]
6204
7075
  },] }
6205
7076
  ];
6206
7077
  ActionBarComponent.propDecorators = {
@@ -6216,7 +7087,7 @@
6216
7087
  AddressFormComponent.decorators = [
6217
7088
  { type: i0.Component, args: [{
6218
7089
  selector: 'vdr-address-form',
6219
- template: "<form [formGroup]=\"formGroup\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <ng-container *ngFor=\"let customField of customFields\">\r\n <vdr-custom-field-control\r\n entityName=\"Address\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </section>\r\n</form>\r\n",
7090
+ template: "<form [formGroup]=\"formGroup\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n",
6220
7091
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6221
7092
  styles: [""]
6222
7093
  },] }
@@ -6542,7 +7413,25 @@
6542
7413
  };
6543
7414
 
6544
7415
  /**
7416
+ * @description
6545
7417
  * A dialog which allows the creation and selection of assets.
7418
+ *
7419
+ * @example
7420
+ * ```TypeScript
7421
+ * selectAssets() {
7422
+ * this.modalService
7423
+ * .fromComponent(AssetPickerDialogComponent, {
7424
+ * size: 'xl',
7425
+ * })
7426
+ * .subscribe(result => {
7427
+ * if (result && result.length) {
7428
+ * // ...
7429
+ * }
7430
+ * });
7431
+ * }
7432
+ * ```
7433
+ *
7434
+ * @docsCategory components
6546
7435
  */
6547
7436
  var AssetPickerDialogComponent = /** @class */ (function () {
6548
7437
  function AssetPickerDialogComponent(dataService, notificationService) {
@@ -6794,10 +7683,6 @@
6794
7683
  this.subscription.unsubscribe();
6795
7684
  }
6796
7685
  };
6797
- AssetPreviewComponent.prototype.customFieldIsSet = function (name) {
6798
- var _a;
6799
- return !!((_a = this.customFieldsForm) === null || _a === void 0 ? void 0 : _a.get([name]));
6800
- };
6801
7686
  AssetPreviewComponent.prototype.getSourceFileName = function () {
6802
7687
  var parts = this.asset.source.split('/');
6803
7688
  return parts[parts.length - 1];
@@ -6897,7 +7782,7 @@
6897
7782
  AssetPreviewComponent.decorators = [
6898
7783
  { type: i0.Component, args: [{
6899
7784
  selector: 'vdr-asset-preview',
6900
- template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <ng-container *ngFor=\"let customField of customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <a\r\n *ngIf=\"!editable\"\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n</div>\r\n",
7785
+ template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <a\r\n *ngIf=\"!editable\"\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n</div>\r\n",
6901
7786
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
6902
7787
  styles: [":host{display:flex;height:100%}.preview-image{width:100%;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-left:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center;margin-bottom:12px}.controls .preview-select clr-select-container{margin-right:12px}\n"]
6903
7788
  },] }
@@ -7092,7 +7977,15 @@
7092
7977
  this.channels$ = this.dataService.client.userStatus().single$.pipe(operators.map(function (_b) {
7093
7978
  var userStatus = _b.userStatus;
7094
7979
  return userStatus.channels.filter(function (c) { return _this.includeDefaultChannel ? true : c.code !== sharedConstants.DEFAULT_CHANNEL_CODE; });
7095
- }), operators.tap(function (channels) { return (_this.channels = channels); }));
7980
+ }), operators.tap(function (channels) {
7981
+ if (!_this.channels) {
7982
+ _this.channels = channels;
7983
+ _this.mapIncomingValueToChannels(_this.lastIncomingValue);
7984
+ }
7985
+ else {
7986
+ _this.channels = channels;
7987
+ }
7988
+ }));
7096
7989
  };
7097
7990
  ChannelAssignmentControlComponent.prototype.registerOnChange = function (fn) {
7098
7991
  this.onChange = fn;
@@ -7104,27 +7997,8 @@
7104
7997
  this.disabled = isDisabled;
7105
7998
  };
7106
7999
  ChannelAssignmentControlComponent.prototype.writeValue = function (obj) {
7107
- var _this = this;
7108
- var _a;
7109
- if (Array.isArray(obj)) {
7110
- if (typeof obj[0] === 'string') {
7111
- this.value = obj.map(function (id) { var _a; return (_a = _this.channels) === null || _a === void 0 ? void 0 : _a.find(function (c) { return c.id === id; }); }).filter(sharedUtils.notNullOrUndefined);
7112
- }
7113
- else {
7114
- this.value = obj;
7115
- }
7116
- }
7117
- else {
7118
- if (typeof obj === 'string') {
7119
- var channel = (_a = this.channels) === null || _a === void 0 ? void 0 : _a.find(function (c) { return c.id === obj; });
7120
- if (channel) {
7121
- this.value = [channel];
7122
- }
7123
- }
7124
- else if (obj && obj.id) {
7125
- this.value = [obj];
7126
- }
7127
- }
8000
+ this.lastIncomingValue = obj;
8001
+ this.mapIncomingValueToChannels(obj);
7128
8002
  };
7129
8003
  ChannelAssignmentControlComponent.prototype.focussed = function () {
7130
8004
  if (this.onTouched) {
@@ -7147,6 +8021,31 @@
7147
8021
  var c2id = typeof c2 === 'string' ? c2 : c2.id;
7148
8022
  return c1id === c2id;
7149
8023
  };
8024
+ ChannelAssignmentControlComponent.prototype.mapIncomingValueToChannels = function (value) {
8025
+ var _this = this;
8026
+ var _a;
8027
+ if (Array.isArray(value)) {
8028
+ if (typeof value[0] === 'string') {
8029
+ this.value = value
8030
+ .map(function (id) { var _a; return (_a = _this.channels) === null || _a === void 0 ? void 0 : _a.find(function (c) { return c.id === id; }); })
8031
+ .filter(sharedUtils.notNullOrUndefined);
8032
+ }
8033
+ else {
8034
+ this.value = value;
8035
+ }
8036
+ }
8037
+ else {
8038
+ if (typeof value === 'string') {
8039
+ var channel = (_a = this.channels) === null || _a === void 0 ? void 0 : _a.find(function (c) { return c.id === value; });
8040
+ if (channel) {
8041
+ this.value = [channel];
8042
+ }
8043
+ }
8044
+ else if (value && value.id) {
8045
+ this.value = [value];
8046
+ }
8047
+ }
8048
+ };
7150
8049
  return ChannelAssignmentControlComponent;
7151
8050
  }());
7152
8051
  ChannelAssignmentControlComponent.decorators = [
@@ -7198,12 +8097,23 @@
7198
8097
  };
7199
8098
 
7200
8099
  /**
8100
+ * @description
7201
8101
  * A chip component for displaying a label with an optional action icon.
8102
+ *
8103
+ * @example
8104
+ * ```HTML
8105
+ * <vdr-chip [colorFrom]="item.value"
8106
+ * icon="close"
8107
+ * (iconClick)="clear(item)">
8108
+ * {{ item.value }}</vdr-chip>
8109
+ * ```
8110
+ * @docsCategory components
7202
8111
  */
7203
8112
  var ChipComponent = /** @class */ (function () {
7204
8113
  function ChipComponent() {
7205
8114
  this.invert = false;
7206
8115
  /**
8116
+ * @description
7207
8117
  * If set, the chip will have an auto-generated background
7208
8118
  * color based on the string value passed in.
7209
8119
  */
@@ -7486,8 +8396,19 @@
7486
8396
  };
7487
8397
 
7488
8398
  /**
8399
+ * @description
7489
8400
  * A form input control which displays currency in decimal format, whilst working
7490
8401
  * with the integer cent value in the background.
8402
+ *
8403
+ * @example
8404
+ * ```HTML
8405
+ * <vdr-currency-input
8406
+ * [(ngModel)]="entityPrice"
8407
+ * [currencyCode]="currencyCode"
8408
+ * ></vdr-currency-input>
8409
+ * ```
8410
+ *
8411
+ * @docsCategory components
7491
8412
  */
7492
8413
  var CurrencyInputComponent = /** @class */ (function () {
7493
8414
  function CurrencyInputComponent(dataService, changeDetectorRef) {
@@ -7618,6 +8539,114 @@
7618
8539
  valueChange: [{ type: i0.Output }]
7619
8540
  };
7620
8541
 
8542
+ /**
8543
+ * @description
8544
+ * Registers a {@link CustomDetailComponent} to be placed in a given location. This allows you
8545
+ * to embed any type of custom Angular component in the entity detail pages of the Admin UI.
8546
+ *
8547
+ * @docsCategory custom-detail-components
8548
+ */
8549
+ function registerCustomDetailComponent(config) {
8550
+ return {
8551
+ provide: i0.APP_INITIALIZER,
8552
+ multi: true,
8553
+ useFactory: function (customDetailComponentService) { return function () {
8554
+ customDetailComponentService.registerCustomDetailComponent(config);
8555
+ }; },
8556
+ deps: [CustomDetailComponentService],
8557
+ };
8558
+ }
8559
+ var CustomDetailComponentService = /** @class */ (function () {
8560
+ function CustomDetailComponentService() {
8561
+ this.customDetailComponents = new Map();
8562
+ }
8563
+ CustomDetailComponentService.prototype.registerCustomDetailComponent = function (config) {
8564
+ var _a;
8565
+ if (this.customDetailComponents.has(config.locationId)) {
8566
+ (_a = this.customDetailComponents.get(config.locationId)) === null || _a === void 0 ? void 0 : _a.push(config);
8567
+ }
8568
+ else {
8569
+ this.customDetailComponents.set(config.locationId, [config]);
8570
+ }
8571
+ };
8572
+ CustomDetailComponentService.prototype.getCustomDetailComponentsFor = function (locationId) {
8573
+ var _a;
8574
+ return (_a = this.customDetailComponents.get(locationId)) !== null && _a !== void 0 ? _a : [];
8575
+ };
8576
+ return CustomDetailComponentService;
8577
+ }());
8578
+ CustomDetailComponentService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CustomDetailComponentService_Factory() { return new CustomDetailComponentService(); }, token: CustomDetailComponentService, providedIn: "root" });
8579
+ CustomDetailComponentService.decorators = [
8580
+ { type: i0.Injectable, args: [{
8581
+ providedIn: 'root',
8582
+ },] }
8583
+ ];
8584
+
8585
+ var CustomDetailComponentHostComponent = /** @class */ (function () {
8586
+ function CustomDetailComponentHostComponent(viewContainerRef, componentFactoryResolver, customDetailComponentService) {
8587
+ this.viewContainerRef = viewContainerRef;
8588
+ this.componentFactoryResolver = componentFactoryResolver;
8589
+ this.customDetailComponentService = customDetailComponentService;
8590
+ this.componentRefs = [];
8591
+ }
8592
+ CustomDetailComponentHostComponent.prototype.ngOnInit = function () {
8593
+ var e_1, _a;
8594
+ var customComponents = this.customDetailComponentService.getCustomDetailComponentsFor(this.locationId);
8595
+ try {
8596
+ for (var customComponents_1 = __values(customComponents), customComponents_1_1 = customComponents_1.next(); !customComponents_1_1.done; customComponents_1_1 = customComponents_1.next()) {
8597
+ var config = customComponents_1_1.value;
8598
+ var factory = this.componentFactoryResolver.resolveComponentFactory(config.component);
8599
+ var componentRef = this.viewContainerRef.createComponent(factory);
8600
+ componentRef.instance.entity$ = this.entity$;
8601
+ componentRef.instance.detailForm = this.detailForm;
8602
+ this.componentRefs.push(componentRef);
8603
+ }
8604
+ }
8605
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
8606
+ finally {
8607
+ try {
8608
+ if (customComponents_1_1 && !customComponents_1_1.done && (_a = customComponents_1.return)) _a.call(customComponents_1);
8609
+ }
8610
+ finally { if (e_1) throw e_1.error; }
8611
+ }
8612
+ };
8613
+ CustomDetailComponentHostComponent.prototype.ngOnDestroy = function () {
8614
+ var e_2, _a;
8615
+ try {
8616
+ for (var _b = __values(this.componentRefs), _c = _b.next(); !_c.done; _c = _b.next()) {
8617
+ var ref = _c.value;
8618
+ ref.destroy();
8619
+ }
8620
+ }
8621
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
8622
+ finally {
8623
+ try {
8624
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
8625
+ }
8626
+ finally { if (e_2) throw e_2.error; }
8627
+ }
8628
+ };
8629
+ return CustomDetailComponentHostComponent;
8630
+ }());
8631
+ CustomDetailComponentHostComponent.decorators = [
8632
+ { type: i0.Component, args: [{
8633
+ selector: 'vdr-custom-detail-component-host',
8634
+ template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"detailComponent\"></vdr-ui-extension-point>\r\n",
8635
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
8636
+ styles: [""]
8637
+ },] }
8638
+ ];
8639
+ CustomDetailComponentHostComponent.ctorParameters = function () { return [
8640
+ { type: i0.ViewContainerRef },
8641
+ { type: i0.ComponentFactoryResolver },
8642
+ { type: CustomDetailComponentService }
8643
+ ]; };
8644
+ CustomDetailComponentHostComponent.propDecorators = {
8645
+ locationId: [{ type: i0.Input }],
8646
+ entity$: [{ type: i0.Input }],
8647
+ detailForm: [{ type: i0.Input }]
8648
+ };
8649
+
7621
8650
  /**
7622
8651
  * This component renders the appropriate type of form input control based
7623
8652
  * on the "type" property of the provided CustomFieldConfig.
@@ -7708,6 +8737,65 @@
7708
8737
  template: [{ type: i0.ViewChild, args: [i0.TemplateRef, { static: true },] }]
7709
8738
  };
7710
8739
 
8740
+ /**
8741
+ * @description
8742
+ * A table for displaying PaginatedList results. It is designed to be used inside components which
8743
+ * extend the {@link BaseListComponent} class.
8744
+ *
8745
+ * @example
8746
+ * ```HTML
8747
+ * <vdr-data-table
8748
+ * [items]="items$ | async"
8749
+ * [itemsPerPage]="itemsPerPage$ | async"
8750
+ * [totalItems]="totalItems$ | async"
8751
+ * [currentPage]="currentPage$ | async"
8752
+ * (pageChange)="setPageNumber($event)"
8753
+ * (itemsPerPageChange)="setItemsPerPage($event)"
8754
+ * >
8755
+ * <!-- The header columns are defined first -->
8756
+ * <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
8757
+ * <vdr-dt-column></vdr-dt-column>
8758
+ * <vdr-dt-column></vdr-dt-column>
8759
+ *
8760
+ * <!-- Then we define how a row is rendered -->
8761
+ * <ng-template let-taxRate="item">
8762
+ * <td class="left align-middle">{{ taxRate.name }}</td>
8763
+ * <td class="left align-middle">{{ taxRate.category.name }}</td>
8764
+ * <td class="left align-middle">{{ taxRate.zone.name }}</td>
8765
+ * <td class="left align-middle">{{ taxRate.value }}%</td>
8766
+ * <td class="right align-middle">
8767
+ * <vdr-table-row-action
8768
+ * iconShape="edit"
8769
+ * [label]="'common.edit' | translate"
8770
+ * [linkTo]="['./', taxRate.id]"
8771
+ * ></vdr-table-row-action>
8772
+ * </td>
8773
+ * <td class="right align-middle">
8774
+ * <vdr-dropdown>
8775
+ * <button type="button" class="btn btn-link btn-sm" vdrDropdownTrigger>
8776
+ * {{ 'common.actions' | translate }}
8777
+ * <clr-icon shape="caret down"></clr-icon>
8778
+ * </button>
8779
+ * <vdr-dropdown-menu vdrPosition="bottom-right">
8780
+ * <button
8781
+ * type="button"
8782
+ * class="delete-button"
8783
+ * (click)="deleteTaxRate(taxRate)"
8784
+ * [disabled]="!(['DeleteSettings', 'DeleteTaxRate'] | hasPermission)"
8785
+ * vdrDropdownItem
8786
+ * >
8787
+ * <clr-icon shape="trash" class="is-danger"></clr-icon>
8788
+ * {{ 'common.delete' | translate }}
8789
+ * </button>
8790
+ * </vdr-dropdown-menu>
8791
+ * </vdr-dropdown>
8792
+ * </td>
8793
+ * </ng-template>
8794
+ * </vdr-data-table>
8795
+ * ```
8796
+ *
8797
+ * @docsCategory components
8798
+ */
7711
8799
  var DataTableComponent = /** @class */ (function () {
7712
8800
  function DataTableComponent() {
7713
8801
  this.allSelectChange = new i0.EventEmitter();
@@ -7984,27 +9072,43 @@
7984
9072
  ];
7985
9073
  DatetimePickerService.ctorParameters = function () { return []; };
7986
9074
 
9075
+ /**
9076
+ * @description
9077
+ * A form input for selecting datetime values.
9078
+ *
9079
+ * @example
9080
+ * ```HTML
9081
+ * <vdr-datetime-picker [(ngModel)]="startDate"></vdr-datetime-picker>
9082
+ * ```
9083
+ *
9084
+ * @docsCategory components
9085
+ */
7987
9086
  var DatetimePickerComponent = /** @class */ (function () {
7988
9087
  function DatetimePickerComponent(changeDetectorRef, datetimePickerService) {
7989
9088
  this.changeDetectorRef = changeDetectorRef;
7990
9089
  this.datetimePickerService = datetimePickerService;
7991
9090
  /**
9091
+ * @description
7992
9092
  * The day that the week should start with in the calendar view.
7993
9093
  */
7994
9094
  this.weekStartDay = 'mon';
7995
9095
  /**
9096
+ * @description
7996
9097
  * The granularity of the minutes time picker
7997
9098
  */
7998
9099
  this.timeGranularityInterval = 5;
7999
9100
  /**
9101
+ * @description
8000
9102
  * The minimum date as an ISO string
8001
9103
  */
8002
9104
  this.min = null;
8003
9105
  /**
9106
+ * @description
8004
9107
  * The maximum date as an ISO string
8005
9108
  */
8006
9109
  this.max = null;
8007
9110
  /**
9111
+ * @description
8008
9112
  * Sets the readonly state
8009
9113
  */
8010
9114
  this.readonly = false;
@@ -8171,6 +9275,31 @@
8171
9275
  calendarTable: [{ type: i0.ViewChild, args: ['calendarTable',] }]
8172
9276
  };
8173
9277
 
9278
+ /**
9279
+ * @description
9280
+ * Used for building dropdown menus.
9281
+ *
9282
+ * @example
9283
+ * ```HTML
9284
+ * <vdr-dropdown>
9285
+ * <button class="btn btn-outline" vdrDropdownTrigger>
9286
+ * <clr-icon shape="plus"></clr-icon>
9287
+ * Select type
9288
+ * </button>
9289
+ * <vdr-dropdown-menu vdrPosition="bottom-left">
9290
+ * <button
9291
+ * *ngFor="let typeName of allTypes"
9292
+ * type="button"
9293
+ * vdrDropdownItem
9294
+ * (click)="selectType(typeName)"
9295
+ * >
9296
+ * typeName
9297
+ * </button>
9298
+ * </vdr-dropdown-menu>
9299
+ * </vdr-dropdown>
9300
+ * ```
9301
+ * @docsCategory components
9302
+ */
8174
9303
  var DropdownComponent = /** @class */ (function () {
8175
9304
  function DropdownComponent() {
8176
9305
  this.isOpen = false;
@@ -8448,6 +9577,19 @@
8448
9577
  _this.destroyMessage$.next();
8449
9578
  break;
8450
9579
  }
9580
+ case 'active-route': {
9581
+ var routeData = {
9582
+ url: window.location.href,
9583
+ origin: window.location.origin,
9584
+ pathname: window.location.pathname,
9585
+ params: _this.routeSnapshot.params,
9586
+ queryParams: _this.routeSnapshot.queryParams,
9587
+ fragment: _this.routeSnapshot.fragment,
9588
+ };
9589
+ _this.sendMessage({ data: routeData, error: false, complete: false, requestId: data.requestId }, origin);
9590
+ _this.sendMessage({ data: null, error: false, complete: true, requestId: data.requestId }, origin);
9591
+ break;
9592
+ }
8451
9593
  case 'graphql-query': {
8452
9594
  var _a = data.data, document = _a.document, variables = _a.variables, fetchPolicy = _a.fetchPolicy;
8453
9595
  _this.dataService
@@ -8474,8 +9616,9 @@
8474
9616
  }
8475
9617
  };
8476
9618
  }
8477
- ExtensionHostService.prototype.init = function (extensionWindow) {
9619
+ ExtensionHostService.prototype.init = function (extensionWindow, routeSnapshot) {
8478
9620
  this.extensionWindow = extensionWindow;
9621
+ this.routeSnapshot = routeSnapshot;
8479
9622
  window.addEventListener('message', this.handleMessage);
8480
9623
  };
8481
9624
  ExtensionHostService.prototype.destroy = function () {
@@ -8534,7 +9677,7 @@
8534
9677
  if (this.openInIframe) {
8535
9678
  var extensionWindow = this.extensionFrame.nativeElement.contentWindow;
8536
9679
  if (extensionWindow) {
8537
- this.extensionHostService.init(extensionWindow);
9680
+ this.extensionHostService.init(extensionWindow, this.route.snapshot);
8538
9681
  }
8539
9682
  }
8540
9683
  };
@@ -8549,7 +9692,7 @@
8549
9692
  if (!extensionWindow) {
8550
9693
  return;
8551
9694
  }
8552
- this.extensionHostService.init(extensionWindow);
9695
+ this.extensionHostService.init(extensionWindow, this.route.snapshot);
8553
9696
  this.extensionWindowIsOpen = true;
8554
9697
  this.extensionWindow = extensionWindow;
8555
9698
  var timer;
@@ -8617,6 +9760,28 @@
8617
9760
  return facetsWithValues.reduce(function (flattened, facet) { return flattened.concat(facet.values); }, []);
8618
9761
  }
8619
9762
 
9763
+ /**
9764
+ * @description
9765
+ * A form control for selecting facet values.
9766
+ *
9767
+ * @example
9768
+ * ```HTML
9769
+ * <vdr-facet-value-selector
9770
+ * [facets]="facets"
9771
+ * (selectedValuesChange)="selectedValues = $event"
9772
+ * ></vdr-facet-value-selector>
9773
+ * ```
9774
+ * The `facets` input should be provided from the parent component
9775
+ * like this:
9776
+ *
9777
+ * @example
9778
+ * ```TypeScript
9779
+ * this.facets = this.dataService
9780
+ * .facet.getAllFacets()
9781
+ * .mapSingle(data => data.facets.items);
9782
+ * ```
9783
+ * @docsCategory components
9784
+ */
8620
9785
  var FacetValueSelectorComponent = /** @class */ (function () {
8621
9786
  function FacetValueSelectorComponent(dataService) {
8622
9787
  this.dataService = dataService;
@@ -9116,7 +10281,15 @@
9116
10281
  ]; };
9117
10282
 
9118
10283
  /**
10284
+ * @description
9119
10285
  * This component displays a plain JavaScript object as an expandable tree.
10286
+ *
10287
+ * @example
10288
+ * ```HTML
10289
+ * <vdr-object-tree [value]="payment.metadata"></vdr-object-tree>
10290
+ * ```
10291
+ *
10292
+ * @docsCategory components
9120
10293
  */
9121
10294
  var ObjectTreeComponent = /** @class */ (function () {
9122
10295
  function ObjectTreeComponent(parent) {
@@ -9137,7 +10310,7 @@
9137
10310
  return typeof value === 'object' && value !== null;
9138
10311
  };
9139
10312
  ObjectTreeComponent.prototype.getEntries = function (inputValue) {
9140
- if (typeof inputValue === 'string') {
10313
+ if (!this.isObject(inputValue)) {
9141
10314
  return [{ key: '', value: inputValue }];
9142
10315
  }
9143
10316
  return Object.entries(inputValue).map(function (_a) {
@@ -9150,7 +10323,7 @@
9150
10323
  ObjectTreeComponent.decorators = [
9151
10324
  { type: i0.Component, args: [{
9152
10325
  selector: 'vdr-object-tree',
9153
- template: "<button class=\"icon-button\" (click)=\"expanded = !expanded\" *ngIf=\"depth !== 0 && !isArrayItem\">\r\n <clr-icon shape=\"caret\" size=\"12\" [dir]=\"expanded ? 'down' : 'right'\"></clr-icon>\r\n</button>\r\n<ul\r\n class=\"object-tree-node\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.array-value]=\"valueIsArray\"\r\n [class.array-item]=\"isArrayItem\"\r\n [class.expanded]=\"expanded\"\r\n>\r\n <li *ngFor=\"let entry of entries\">\r\n <span class=\"key\" *ngIf=\"entry.key\">{{ entry.key }}:</span>\r\n <ng-container *ngIf=\"isObject(entry.value)\">\r\n <vdr-object-tree [value]=\"entry.value\" [isArrayItem]=\"valueIsArray\"></vdr-object-tree>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isObject(entry.value)\">\r\n {{ entry.value }}\r\n </ng-container>\r\n </li>\r\n</ul>\r\n",
10326
+ template: "<button class=\"icon-button\" (click)=\"expanded = !expanded\" *ngIf=\"depth !== 0 && !isArrayItem\">\r\n <clr-icon shape=\"caret\" size=\"12\" [dir]=\"expanded ? 'down' : 'right'\"></clr-icon>\r\n</button>\r\n<ul\r\n class=\"object-tree-node\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.array-value]=\"valueIsArray\"\r\n [class.array-item]=\"isArrayItem\"\r\n [class.expanded]=\"expanded\"\r\n>\r\n <li *ngFor=\"let entry of entries\">\r\n <span class=\"key\" *ngIf=\"entry.key\">{{ entry.key }}:</span>\r\n <ng-container *ngIf=\"isObject(entry.value); else primitive\">\r\n <vdr-object-tree [value]=\"entry.value\" [isArrayItem]=\"valueIsArray\"></vdr-object-tree>\r\n </ng-container>\r\n <ng-template #primitive>\r\n {{ entry.value }}\r\n </ng-template>\r\n </li>\r\n</ul>\r\n",
9154
10327
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
9155
10328
  styles: [".object-tree-node{list-style-type:none;line-height:16px;font-size:12px;overflow:hidden;max-height:0}.object-tree-node.depth-0{margin-left:0;margin-top:8px}.object-tree-node.depth-1{margin-left:6px}.object-tree-node.depth-2{margin-left:6px}.object-tree-node.depth-3{margin-left:6px}.object-tree-node.depth-4{margin-left:6px}.object-tree-node.depth-5{margin-left:6px}.object-tree-node.depth-6{margin-left:6px}.object-tree-node.expanded{max-height:5000px}.object-tree-node.array-item{margin-top:-16px;margin-left:16px}.object-tree-node.array-value.expanded>li+li{margin-top:6px}.key{color:var(--color-text-300)}\n"]
9156
10329
  },] }
@@ -9163,6 +10336,16 @@
9163
10336
  isArrayItem: [{ type: i0.Input }]
9164
10337
  };
9165
10338
 
10339
+ /**
10340
+ * @description
10341
+ * Displays the state of an order in a colored chip.
10342
+ *
10343
+ * @example
10344
+ * ```HTML
10345
+ * <vdr-order-state-label [state]="order.state"></vdr-order-state-label>
10346
+ * ```
10347
+ * @docsCategory components
10348
+ */
9166
10349
  var OrderStateLabelComponent = /** @class */ (function () {
9167
10350
  function OrderStateLabelComponent() {
9168
10351
  }
@@ -9224,6 +10407,18 @@
9224
10407
  pageChange: [{ type: i0.Output }]
9225
10408
  };
9226
10409
 
10410
+ /**
10411
+ * @description
10412
+ * A component for selecting product variants via an autocomplete-style select input.
10413
+ *
10414
+ * @example
10415
+ * ```HTML
10416
+ * <vdr-product-selector
10417
+ * (productSelected)="selectResult($event)"></vdr-product-selector>
10418
+ * ```
10419
+ *
10420
+ * @docsCategory components
10421
+ */
9227
10422
  var ProductSelectorComponent = /** @class */ (function () {
9228
10423
  function ProductSelectorComponent(dataService) {
9229
10424
  this.dataService = dataService;
@@ -9957,7 +11152,18 @@
9957
11152
  ]; };
9958
11153
 
9959
11154
  /**
9960
- * A rich text (HTML) editor based on Trix (https://github.com/basecamp/trix)
11155
+ * @description
11156
+ * A rich text (HTML) editor based on Prosemirror (https://prosemirror.net/)
11157
+ *
11158
+ * @example
11159
+ * ```HTML
11160
+ * <vdr-rich-text-editor
11161
+ * [(ngModel)]="description"
11162
+ * label="Description"
11163
+ * ></vdr-rich-text-editor>
11164
+ * ```
11165
+ *
11166
+ * @docsCategory components
9961
11167
  */
9962
11168
  var RichTextEditorComponent = /** @class */ (function () {
9963
11169
  function RichTextEditorComponent(changeDetector, prosemirrorService) {
@@ -10020,7 +11226,7 @@
10020
11226
  },
10021
11227
  ProsemirrorService,
10022
11228
  ],
10023
- styles: ["@charset \"UTF-8\";::ng-deep .ProseMirror{position:relative}::ng-deep .ProseMirror{word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-feature-settings:none;font-variant-ligatures:none}::ng-deep .ProseMirror pre{white-space:pre-wrap}::ng-deep .ProseMirror li{position:relative}::ng-deep .ProseMirror-hideselection *::selection{background:transparent}::ng-deep .ProseMirror-hideselection *::-moz-selection{background:transparent}::ng-deep .ProseMirror-hideselection{caret-color:transparent}::ng-deep .ProseMirror-selectednode{outline:2px solid var(--color-primary-500)}::ng-deep li.ProseMirror-selectednode{outline:none}::ng-deep li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--color-primary-500);pointer-events:none}::ng-deep .ProseMirror-textblock-dropdown{min-width:3em}::ng-deep .ProseMirror-menu{margin:0 -4px;line-height:1}::ng-deep .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;white-space:pre}::ng-deep .ProseMirror-menuitem{margin-right:3px;display:inline-block}::ng-deep .ProseMirror-menuseparator{border-right:1px solid var(--color-component-border-200);margin-right:3px}::ng-deep .ProseMirror-menu-dropdown,::ng-deep .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}::ng-deep .ProseMirror-menu-dropdown{vertical-align:1px;cursor:pointer;position:relative;padding-right:15px}::ng-deep .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 4px;display:inline-block;position:relative}::ng-deep .ProseMirror-menu-dropdown:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}::ng-deep .ProseMirror-menu-dropdown-menu,::ng-deep .ProseMirror-menu-submenu{position:absolute;background:white;color:var(--color-grey-600);border:1px solid var(--color-component-border-200);padding:2px}::ng-deep .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em}::ng-deep .ProseMirror-menu-dropdown-item{cursor:pointer;padding:2px 8px 2px 4px}::ng-deep .ProseMirror-menu-dropdown-item:hover{background:var(--color-component-bg-100)}::ng-deep .ProseMirror-menu-submenu-wrap{position:relative;margin-right:-4px}::ng-deep .ProseMirror-menu-submenu-label:after{content:\"\";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}::ng-deep .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:-3px}::ng-deep .ProseMirror-menu-active{background:var(--color-component-bg-100);border-radius:4px}::ng-deep .ProseMirror-menu-disabled{opacity:.3}::ng-deep .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,::ng-deep .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}::ng-deep .ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;position:relative;min-height:1em;color:var(--color-grey-600);padding:1px 6px;top:0;left:0;right:0;background:var(--color-component-bg-100);z-index:10;box-sizing:border-box;overflow:visible}::ng-deep .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:2px 8px;cursor:pointer}::ng-deep .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}::ng-deep .ProseMirror-icon svg{fill:currentColor;height:1em}::ng-deep .ProseMirror-icon span{vertical-align:text-top}::ng-deep .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}::ng-deep .ProseMirror-gapcursor:after{content:\"\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}::ng-deep .ProseMirror-focused .ProseMirror-gapcursor{display:block}::ng-deep .ProseMirror ul,::ng-deep .ProseMirror ol{padding-left:30px;list-style-position:initial}::ng-deep .ProseMirror blockquote{padding-left:1em;border-left:3px solid var(--color-grey-100);margin-left:0;margin-right:0}::ng-deep .ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;z-index:11;box-shadow:-.5px 2px 5px #0003}::ng-deep .ProseMirror-prompt h5{margin:0;font-weight:normal;font-size:100%;color:var(--color-grey-500)}::ng-deep .ProseMirror-prompt input[type=text],::ng-deep .ProseMirror-prompt textarea{background:var(--color-component-bg-100);border:none;outline:none}::ng-deep .ProseMirror-prompt input[type=text]{padding:0 4px}::ng-deep .ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:var(--color-grey-400);border:none;background:transparent;padding:0}::ng-deep .ProseMirror-prompt-close:after{content:\"\\e2\\153\\2022\";font-size:12px}::ng-deep .ProseMirror-invalid{background:var(--color-warning-200);border:1px solid var(--color-warning-300);border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}::ng-deep .ProseMirror-prompt-buttons{margin-top:5px;display:none}::ng-deep #editor,::ng-deep .editor{background:var(--color-form-input-bg);color:#000;background-clip:padding-box;border-radius:4px;border:2px solid rgba(0,0,0,.2);padding:5px 0;margin-bottom:23px}::ng-deep .ProseMirror p:first-child,::ng-deep .ProseMirror h1:first-child,::ng-deep .ProseMirror h2:first-child,::ng-deep .ProseMirror h3:first-child,::ng-deep .ProseMirror h4:first-child,::ng-deep .ProseMirror h5:first-child,::ng-deep .ProseMirror h6:first-child{margin-top:10px}::ng-deep .ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}::ng-deep .ProseMirror p{margin-bottom:.5rem;color:var(--color-grey-800)}:host{display:block;max-width:710px;margin-bottom:.5rem}:host.readonly ::ng-deep .ProseMirror-menubar{display:none}::ng-deep .ProseMirror-menubar{position:sticky;top:24px;margin-top:6px;border:1px solid var(--color-component-border-200);border-bottom:none;background-color:var(--color-component-bg-200);color:var(--color-icon-button);padding:6px 12px}::ng-deep .vdr-prosemirror{background:var(--color-form-input-bg);min-height:128px;border:1px solid var(--color-component-border-200);border-radius:0 0 3px 3px;transition:border-color .2s;overflow:auto}::ng-deep .vdr-prosemirror:focus{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}::ng-deep .vdr-prosemirror hr{padding:2px 10px;border:none;margin:1em 0}::ng-deep .vdr-prosemirror hr:after{content:\"\";display:block;height:1px;background-color:silver;line-height:2px}::ng-deep .vdr-prosemirror img{cursor:default;max-width:100%}\n"]
11229
+ styles: ["@charset \"UTF-8\";::ng-deep .ProseMirror{position:relative}::ng-deep .ProseMirror{word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-feature-settings:none;font-variant-ligatures:none}::ng-deep .ProseMirror pre{white-space:pre-wrap}::ng-deep .ProseMirror li{position:relative}::ng-deep .ProseMirror-hideselection *::selection{background:transparent}::ng-deep .ProseMirror-hideselection *::-moz-selection{background:transparent}::ng-deep .ProseMirror-hideselection{caret-color:transparent}::ng-deep .ProseMirror-selectednode{outline:2px solid var(--color-primary-500)}::ng-deep li.ProseMirror-selectednode{outline:none}::ng-deep li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--color-primary-500);pointer-events:none}::ng-deep .ProseMirror-textblock-dropdown{min-width:3em}::ng-deep .ProseMirror-menu{margin:0 -4px;line-height:1}::ng-deep .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;white-space:pre}::ng-deep .ProseMirror-menuitem{margin-right:3px;display:inline-block}::ng-deep .ProseMirror-menuseparator{border-right:1px solid var(--color-component-border-200);margin-right:3px}::ng-deep .ProseMirror-menu-dropdown,::ng-deep .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}::ng-deep .ProseMirror-menu-dropdown{vertical-align:1px;cursor:pointer;position:relative;padding-right:15px}::ng-deep .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 4px;display:inline-block;position:relative}::ng-deep .ProseMirror-menu-dropdown:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}::ng-deep .ProseMirror-menu-dropdown-menu,::ng-deep .ProseMirror-menu-submenu{position:absolute;background:white;color:var(--color-grey-600);border:1px solid var(--color-component-border-200);padding:2px}::ng-deep .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em}::ng-deep .ProseMirror-menu-dropdown-item{cursor:pointer;padding:2px 8px 2px 4px}::ng-deep .ProseMirror-menu-dropdown-item:hover{background:var(--color-component-bg-100)}::ng-deep .ProseMirror-menu-submenu-wrap{position:relative;margin-right:-4px}::ng-deep .ProseMirror-menu-submenu-label:after{content:\"\";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}::ng-deep .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:-3px}::ng-deep .ProseMirror-menu-active{background:var(--color-component-bg-100);border-radius:4px}::ng-deep .ProseMirror-menu-disabled{opacity:.3}::ng-deep .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,::ng-deep .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}::ng-deep .ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;position:relative;min-height:1em;color:var(--color-grey-600);padding:1px 6px;top:0;left:0;right:0;background:var(--color-component-bg-100);z-index:10;box-sizing:border-box;overflow:visible}::ng-deep .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:2px 8px;cursor:pointer}::ng-deep .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}::ng-deep .ProseMirror-icon svg{fill:currentColor;height:1em}::ng-deep .ProseMirror-icon span{vertical-align:text-top}::ng-deep .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}::ng-deep .ProseMirror-gapcursor:after{content:\"\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}::ng-deep .ProseMirror-focused .ProseMirror-gapcursor{display:block}::ng-deep .ProseMirror ul,::ng-deep .ProseMirror ol{padding-left:30px;list-style-position:initial}::ng-deep .ProseMirror blockquote{padding-left:1em;border-left:3px solid var(--color-grey-100);margin-left:0;margin-right:0}::ng-deep .ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;z-index:11;box-shadow:-.5px 2px 5px #0003}::ng-deep .ProseMirror-prompt h5{margin:0;font-weight:normal;font-size:100%;color:var(--color-grey-500)}::ng-deep .ProseMirror-prompt input[type=text],::ng-deep .ProseMirror-prompt textarea{background:var(--color-component-bg-100);border:none;outline:none}::ng-deep .ProseMirror-prompt input[type=text]{padding:0 4px}::ng-deep .ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:var(--color-grey-400);border:none;background:transparent;padding:0}::ng-deep .ProseMirror-prompt-close:after{content:\"\\e2\\153\\2022\";font-size:12px}::ng-deep .ProseMirror-invalid{background:var(--color-warning-200);border:1px solid var(--color-warning-300);border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}::ng-deep .ProseMirror-prompt-buttons{margin-top:5px;display:none}::ng-deep #editor,::ng-deep .editor{background:var(--color-form-input-bg);color:#000;background-clip:padding-box;border-radius:4px;border:2px solid rgba(0,0,0,.2);padding:5px 0;margin-bottom:23px}::ng-deep .ProseMirror p:first-child,::ng-deep .ProseMirror h1:first-child,::ng-deep .ProseMirror h2:first-child,::ng-deep .ProseMirror h3:first-child,::ng-deep .ProseMirror h4:first-child,::ng-deep .ProseMirror h5:first-child,::ng-deep .ProseMirror h6:first-child{margin-top:10px}::ng-deep .ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}::ng-deep .ProseMirror p{margin-bottom:.5rem;color:var(--color-grey-800)!important}:host{display:block;max-width:710px;margin-bottom:.5rem}:host.readonly ::ng-deep .ProseMirror-menubar{display:none}::ng-deep .ProseMirror-menubar{position:sticky;top:24px;margin-top:6px;border:1px solid var(--color-component-border-200);border-bottom:none;background-color:var(--color-component-bg-200);color:var(--color-icon-button);padding:6px 12px;display:flex;flex-wrap:wrap}::ng-deep .vdr-prosemirror{background:var(--color-form-input-bg);min-height:128px;min-width:200px;border:1px solid var(--color-component-border-200);border-radius:0 0 3px 3px;transition:border-color .2s;overflow:auto;text-align:initial}::ng-deep .vdr-prosemirror:focus{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}::ng-deep .vdr-prosemirror hr{padding:2px 10px;border:none;margin:1em 0}::ng-deep .vdr-prosemirror hr:after{content:\"\";display:block;height:1px;background-color:silver;line-height:2px}::ng-deep .vdr-prosemirror img{cursor:default;max-width:100%}\n"]
10024
11230
  },] }
10025
11231
  ];
10026
11232
  RichTextEditorComponent.ctorParameters = function () { return [
@@ -10080,6 +11286,69 @@
10080
11286
  type: [{ type: i0.Input }]
10081
11287
  };
10082
11288
 
11289
+ var TabbedCustomFieldsComponent = /** @class */ (function () {
11290
+ function TabbedCustomFieldsComponent() {
11291
+ this.readonly = false;
11292
+ this.compact = false;
11293
+ this.showLabel = true;
11294
+ this.defaultTabName = '__default_tab__';
11295
+ }
11296
+ TabbedCustomFieldsComponent.prototype.ngOnInit = function () {
11297
+ this.tabbedCustomFields = this.groupByTabs(this.customFields);
11298
+ };
11299
+ TabbedCustomFieldsComponent.prototype.customFieldIsSet = function (name) {
11300
+ return !!this.customFieldsFormGroup.get(name);
11301
+ };
11302
+ TabbedCustomFieldsComponent.prototype.groupByTabs = function (customFieldConfigs) {
11303
+ var e_1, _d;
11304
+ var _this = this;
11305
+ var _a, _b, _c;
11306
+ var tabMap = new Map();
11307
+ try {
11308
+ for (var customFieldConfigs_1 = __values(customFieldConfigs), customFieldConfigs_1_1 = customFieldConfigs_1.next(); !customFieldConfigs_1_1.done; customFieldConfigs_1_1 = customFieldConfigs_1.next()) {
11309
+ var field = customFieldConfigs_1_1.value;
11310
+ var tabName = (_b = (_a = field.ui) === null || _a === void 0 ? void 0 : _a.tab) !== null && _b !== void 0 ? _b : this.defaultTabName;
11311
+ if (tabMap.has(tabName)) {
11312
+ (_c = tabMap.get(tabName)) === null || _c === void 0 ? void 0 : _c.push(field);
11313
+ }
11314
+ else {
11315
+ tabMap.set(tabName, [field]);
11316
+ }
11317
+ }
11318
+ }
11319
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
11320
+ finally {
11321
+ try {
11322
+ if (customFieldConfigs_1_1 && !customFieldConfigs_1_1.done && (_d = customFieldConfigs_1.return)) _d.call(customFieldConfigs_1);
11323
+ }
11324
+ finally { if (e_1) throw e_1.error; }
11325
+ }
11326
+ return Array.from(tabMap.entries())
11327
+ .sort(function (a, b) { return (a[0] === _this.defaultTabName ? -1 : 1); })
11328
+ .map(function (_d) {
11329
+ var _e = __read(_d, 2), tabName = _e[0], customFields = _e[1];
11330
+ return ({ tabName: tabName, customFields: customFields });
11331
+ });
11332
+ };
11333
+ return TabbedCustomFieldsComponent;
11334
+ }());
11335
+ TabbedCustomFieldsComponent.decorators = [
11336
+ { type: i0.Component, args: [{
11337
+ selector: 'vdr-tabbed-custom-fields',
11338
+ template: "<ng-container *ngIf=\"1 < tabbedCustomFields.length; else singleGroup\">\r\n <clr-tabs>\r\n <clr-tab *ngFor=\"let group of tabbedCustomFields\">\r\n <button clrTabLink>\r\n {{\r\n group.tabName === defaultTabName\r\n ? ('common.general' | translate)\r\n : (group.tabName | translate)\r\n }}\r\n </button>\r\n <clr-tab-content *clrIfActive>\r\n <div class=\"mt4\">\r\n <ng-container *ngFor=\"let customField of group.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </clr-tab-content>\r\n </clr-tab>\r\n </clr-tabs>\r\n</ng-container>\r\n<ng-template #singleGroup>\r\n <ng-container *ngFor=\"let customField of tabbedCustomFields[0]?.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n</ng-template>\r\n",
11339
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
11340
+ styles: [""]
11341
+ },] }
11342
+ ];
11343
+ TabbedCustomFieldsComponent.propDecorators = {
11344
+ entityName: [{ type: i0.Input }],
11345
+ customFields: [{ type: i0.Input }],
11346
+ customFieldsFormGroup: [{ type: i0.Input }],
11347
+ readonly: [{ type: i0.Input }],
11348
+ compact: [{ type: i0.Input }],
11349
+ showLabel: [{ type: i0.Input }]
11350
+ };
11351
+
10083
11352
  /**
10084
11353
  * A button link to be used as actions in rows of a table.
10085
11354
  */
@@ -10210,13 +11479,46 @@
10210
11479
  selector: 'vdr-title-input',
10211
11480
  template: "<ng-content></ng-content>\r\n<div class=\"edit-icon\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n</div>\r\n",
10212
11481
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
10213
- styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:transparent!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-300);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"]
11482
+ styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:var(--color-component-bg-100)!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-400);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"]
10214
11483
  },] }
10215
11484
  ];
10216
11485
  TitleInputComponent.propDecorators = {
10217
11486
  readonly: [{ type: i0.HostBinding, args: ['class.readonly',] }, { type: i0.Input }]
10218
11487
  };
10219
11488
 
11489
+ var UiExtensionPointComponent = /** @class */ (function () {
11490
+ function UiExtensionPointComponent(dataService) {
11491
+ this.dataService = dataService;
11492
+ this.isDevMode = i0.isDevMode();
11493
+ }
11494
+ UiExtensionPointComponent.prototype.ngOnInit = function () {
11495
+ this.display$ = this.dataService.client
11496
+ .uiState()
11497
+ .mapStream(function (_a) {
11498
+ var uiState = _a.uiState;
11499
+ return uiState.displayUiExtensionPoints;
11500
+ });
11501
+ };
11502
+ return UiExtensionPointComponent;
11503
+ }());
11504
+ UiExtensionPointComponent.decorators = [
11505
+ { type: i0.Component, args: [{
11506
+ selector: 'vdr-ui-extension-point',
11507
+ template: "<div [class.highlight]=\"isDevMode && (display$ | async)\" class=\"wrapper\">\r\n <vdr-dropdown *ngIf=\"isDevMode && (display$ | async)\">\r\n <button class=\"btn btn-icon btn-link extension-point-info-trigger\"\r\n [style.top.px]=\"topPx ?? 0\"\r\n [style.left.px]=\"leftPx ?? 0\"\r\n vdrDropdownTrigger>\r\n <clr-icon shape=\"plugin\" class=\"\" size=\"16\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"extension-info\">\r\n <pre *ngIf=\"api === 'actionBar'\">\r\naddActionBarItem({{ '{' }}\r\n id: 'my-button',\r\n label: 'My Action',\r\n locationId: '{{ locationId }}',\r\n{{ '}' }})</pre>\r\n <pre *ngIf=\"api === 'navMenu'\">\r\naddNavMenuItem({{ '{' }}\r\n id: 'my-menu-item',\r\n label: 'My Menu Item',\r\n routerLink: ['/extensions/my-plugin'],\r\n {{ '}' }},\r\n '{{ locationId }}'\r\n)</pre>\r\n <pre *ngIf=\"api === 'detailComponent'\">\r\nregisterCustomDetailComponent({{ '{' }}\r\n locationId: '{{ locationId }}',\r\n component: MyCustomComponent,\r\n{{ '}' }})</pre>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <ng-content></ng-content>\r\n</div>\r\n",
11508
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
11509
+ styles: [":host{position:relative;display:inline-block}.wrapper{display:inline-block;height:100%}.extension-point-info-trigger{position:absolute;margin:0;padding:0;z-index:100}.extension-point-info-trigger clr-icon{color:var(--color-success-500)}.extension-info{padding:12px}pre{padding:6px;font-family:\"Source Code Pro\",\"Lucida Console\",Monaco,monospace;background-color:var(--color-grey-200)}\n"]
11510
+ },] }
11511
+ ];
11512
+ UiExtensionPointComponent.ctorParameters = function () { return [
11513
+ { type: DataService }
11514
+ ]; };
11515
+ UiExtensionPointComponent.propDecorators = {
11516
+ locationId: [{ type: i0.Input }],
11517
+ topPx: [{ type: i0.Input }],
11518
+ leftPx: [{ type: i0.Input }],
11519
+ api: [{ type: i0.Input }]
11520
+ };
11521
+
10220
11522
  /**
10221
11523
  * Allows declarative binding to the "disabled" property of a reactive form
10222
11524
  * control.
@@ -10379,6 +11681,20 @@
10379
11681
  vdrIfMultichannelElse: [{ type: i0.Input }]
10380
11682
  };
10381
11683
 
11684
+ /**
11685
+ * @description
11686
+ * Structural directive that displays the given element if the Vendure instance has multiple channels
11687
+ * configured.
11688
+ *
11689
+ * @example
11690
+ * ```html
11691
+ * <div *vdrIfMultichannel class="channel-selector">
11692
+ * <!-- ... -->
11693
+ * </ng-container>
11694
+ * ```
11695
+ *
11696
+ * @docsCategory directives
11697
+ */
10382
11698
  var IfMultichannelDirective = /** @class */ (function (_super) {
10383
11699
  __extends(IfMultichannelDirective, _super);
10384
11700
  function IfMultichannelDirective(_viewContainer, templateRef, dataService) {
@@ -10420,6 +11736,7 @@
10420
11736
  };
10421
11737
 
10422
11738
  /**
11739
+ * @description
10423
11740
  * Conditionally shows/hides templates based on the current active user having the specified permission.
10424
11741
  * Based on the ngIf source. Also support "else" templates:
10425
11742
  *
@@ -10431,6 +11748,8 @@
10431
11748
  *
10432
11749
  * The permission can be a single string, or an array. If an array is passed, then _all_ of the permissions
10433
11750
  * must match (logical AND)
11751
+ *
11752
+ * @docsCategory directives
10434
11753
  */
10435
11754
  var IfPermissionsDirective = /** @class */ (function (_super) {
10436
11755
  __extends(IfPermissionsDirective, _super);
@@ -10584,6 +11903,7 @@
10584
11903
  _this.onChange(val);
10585
11904
  _this.control.patchValue(val, { emitEvent: false });
10586
11905
  });
11906
+ setTimeout(function () { return _this.changeDetectorRef.markForCheck(); });
10587
11907
  }
10588
11908
  };
10589
11909
  // initial render
@@ -11126,6 +12446,20 @@
11126
12446
  detailTemplate: [{ type: i0.ContentChild, args: [RelationCardDetailDirective, { read: i0.TemplateRef },] }]
11127
12447
  };
11128
12448
 
12449
+ /**
12450
+ * @description
12451
+ * Given an Asset object (an object with `preview` and optionally `focalPoint` properties), this pipe
12452
+ * returns a string with query parameters designed to work with the image resize capabilities of the
12453
+ * AssetServerPlugin.
12454
+ *
12455
+ * @example
12456
+ * ```HTML
12457
+ * <img [src]="asset | assetPreview:'tiny'" />
12458
+ * <img [src]="asset | assetPreview:150" />
12459
+ * ```
12460
+ *
12461
+ * @docsCategory pipes
12462
+ */
11129
12463
  var AssetPreviewPipe = /** @class */ (function () {
11130
12464
  function AssetPreviewPipe() {
11131
12465
  }
@@ -11224,8 +12558,16 @@
11224
12558
  ]; };
11225
12559
 
11226
12560
  /**
12561
+ * @description
11227
12562
  * Displays a number of milliseconds in a more human-readable format,
11228
12563
  * e.g. "12ms", "33s", "2:03m"
12564
+ *
12565
+ * @example
12566
+ * ```TypeScript
12567
+ * {{ timeInMs | duration }}
12568
+ * ```
12569
+ *
12570
+ * @docsCategory pipes
11229
12571
  */
11230
12572
  var DurationPipe = /** @class */ (function () {
11231
12573
  function DurationPipe(i18nService) {
@@ -11262,7 +12604,15 @@
11262
12604
  ]; };
11263
12605
 
11264
12606
  /**
12607
+ * @description
11265
12608
  * Formats a number into a human-readable file size string.
12609
+ *
12610
+ * @example
12611
+ * ```TypeScript
12612
+ * {{ fileSizeInBytes | filesize }}
12613
+ * ```
12614
+ *
12615
+ * @docsCategory pipes
11266
12616
  */
11267
12617
  var FileSizePipe = /** @class */ (function () {
11268
12618
  function FileSizePipe() {
@@ -11300,13 +12650,15 @@
11300
12650
  }
11301
12651
 
11302
12652
  /**
12653
+ * @description
11303
12654
  * A pipe which checks the provided permission against all the permissions of the current user.
11304
12655
  * Returns `true` if the current user has that permission.
11305
12656
  *
11306
12657
  * @example
11307
- * ```
12658
+ * ```HTML
11308
12659
  * <button [disabled]="!('UpdateCatalog' | hasPermission)">Save Changes</button>
11309
12660
  * ```
12661
+ * @docsCategory pipes
11310
12662
  */
11311
12663
  var HasPermissionPipe = /** @class */ (function () {
11312
12664
  function HasPermissionPipe(dataService, changeDetectorRef) {
@@ -11383,9 +12735,13 @@
11383
12735
  if (dataService && changeDetectorRef) {
11384
12736
  this.subscription = dataService.client
11385
12737
  .uiState()
11386
- .mapStream(function (data) { return data.uiState.language; })
11387
- .subscribe(function (languageCode) {
11388
- _this.locale = languageCode.replace(/_/g, '-');
12738
+ .mapStream(function (data) { return data.uiState; })
12739
+ .subscribe(function (_a) {
12740
+ var language = _a.language, locale = _a.locale;
12741
+ _this.locale = language.replace(/_/g, '-');
12742
+ if (locale) {
12743
+ _this.locale += "-" + locale;
12744
+ }
11389
12745
  changeDetectorRef.markForCheck();
11390
12746
  });
11391
12747
  }
@@ -11406,7 +12762,15 @@
11406
12762
  ]; };
11407
12763
 
11408
12764
  /**
12765
+ * @description
11409
12766
  * Displays a human-readable name for a given ISO 4217 currency code.
12767
+ *
12768
+ * @example
12769
+ * ```HTML
12770
+ * {{ order.currencyCode | localeCurrencyName }}
12771
+ * ```
12772
+ *
12773
+ * @docsCategory pipes
11410
12774
  */
11411
12775
  var LocaleCurrencyNamePipe = /** @class */ (function (_super) {
11412
12776
  __extends(LocaleCurrencyNamePipe, _super);
@@ -11455,6 +12819,18 @@
11455
12819
  { type: i0.ChangeDetectorRef, decorators: [{ type: i0.Optional }] }
11456
12820
  ]; };
11457
12821
 
12822
+ /**
12823
+ * @description
12824
+ * Formats a Vendure monetary value (in cents) into the correct format for the configured currency and display
12825
+ * locale.
12826
+ *
12827
+ * @example
12828
+ * ```HTML
12829
+ * {{ variant.priceWithTax | localeCurrency }}
12830
+ * ```
12831
+ *
12832
+ * @docsCategory pipes
12833
+ */
11458
12834
  var LocaleCurrencyPipe = /** @class */ (function (_super) {
11459
12835
  __extends(LocaleCurrencyPipe, _super);
11460
12836
  function LocaleCurrencyPipe(dataService, changeDetectorRef) {
@@ -11490,6 +12866,13 @@
11490
12866
  * @description
11491
12867
  * A replacement of the Angular DatePipe which makes use of the Intl API
11492
12868
  * to format dates according to the selected UI language.
12869
+ *
12870
+ * @example
12871
+ * ```HTML
12872
+ * {{ order.orderPlacedAt | localeDate }}
12873
+ * ```
12874
+ *
12875
+ * @docsCategory pipes
11493
12876
  */
11494
12877
  var LocaleDatePipe = /** @class */ (function (_super) {
11495
12878
  __extends(LocaleDatePipe, _super);
@@ -11563,7 +12946,15 @@
11563
12946
  ]; };
11564
12947
 
11565
12948
  /**
11566
- * Displays a human-readable name for a given ISO 4217 currency code.
12949
+ * @description
12950
+ * Displays a human-readable name for a given ISO 639-1 language code.
12951
+ *
12952
+ * @example
12953
+ * ```HTML
12954
+ * {{ 'zh_Hant' | localeLanguageName }}
12955
+ * ```
12956
+ *
12957
+ * @docsCategory pipes
11567
12958
  */
11568
12959
  var LocaleLanguageNamePipe = /** @class */ (function (_super) {
11569
12960
  __extends(LocaleLanguageNamePipe, _super);
@@ -11601,6 +12992,53 @@
11601
12992
  { type: i0.ChangeDetectorRef, decorators: [{ type: i0.Optional }] }
11602
12993
  ]; };
11603
12994
 
12995
+ /**
12996
+ * @description
12997
+ * Displays a human-readable name for a given region.
12998
+ *
12999
+ * @example
13000
+ * ```HTML
13001
+ * {{ 'GB' | localeRegionName }}
13002
+ * ```
13003
+ *
13004
+ * @docsCategory pipes
13005
+ */
13006
+ var LocaleRegionNamePipe = /** @class */ (function (_super) {
13007
+ __extends(LocaleRegionNamePipe, _super);
13008
+ function LocaleRegionNamePipe(dataService, changeDetectorRef) {
13009
+ return _super.call(this, dataService, changeDetectorRef) || this;
13010
+ }
13011
+ LocaleRegionNamePipe.prototype.transform = function (value, locale) {
13012
+ var _a;
13013
+ if (value == null || value === '') {
13014
+ return '';
13015
+ }
13016
+ if (typeof value !== 'string') {
13017
+ return "Invalid region code \"" + value + "\"";
13018
+ }
13019
+ var activeLocale = typeof locale === 'string' ? locale : (_a = this.locale) !== null && _a !== void 0 ? _a : 'en';
13020
+ // Awaiting TS types for this API: https://github.com/microsoft/TypeScript/pull/44022/files
13021
+ var DisplayNames = Intl.DisplayNames;
13022
+ try {
13023
+ return new DisplayNames([activeLocale.replace('_', '-')], { type: 'region' }).of(value.replace('_', '-'));
13024
+ }
13025
+ catch (e) {
13026
+ return value;
13027
+ }
13028
+ };
13029
+ return LocaleRegionNamePipe;
13030
+ }(LocaleBasePipe));
13031
+ LocaleRegionNamePipe.decorators = [
13032
+ { type: i0.Pipe, args: [{
13033
+ name: 'localeRegionName',
13034
+ pure: false,
13035
+ },] }
13036
+ ];
13037
+ LocaleRegionNamePipe.ctorParameters = function () { return [
13038
+ { type: DataService, decorators: [{ type: i0.Optional }] },
13039
+ { type: i0.ChangeDetectorRef, decorators: [{ type: i0.Optional }] }
13040
+ ]; };
13041
+
11604
13042
  /**
11605
13043
  * Formats a string into sentence case (first letter of first word uppercase).
11606
13044
  */
@@ -11758,7 +13196,15 @@
11758
13196
  ];
11759
13197
 
11760
13198
  /**
13199
+ * @description
11761
13200
  * Converts a date into the format "3 minutes ago", "5 hours ago" etc.
13201
+ *
13202
+ * @example
13203
+ * ```HTML
13204
+ * {{ order.orderPlacedAt | timeAgo }}
13205
+ * ```
13206
+ *
13207
+ * @docsCategory pipes
11762
13208
  */
11763
13209
  var TimeAgoPipe = /** @class */ (function () {
11764
13210
  function TimeAgoPipe(i18nService) {
@@ -11933,11 +13379,15 @@
11933
13379
  LocaleDatePipe,
11934
13380
  LocaleCurrencyPipe,
11935
13381
  LocaleLanguageNamePipe,
13382
+ LocaleRegionNamePipe,
11936
13383
  TagSelectorComponent,
11937
13384
  ManageTagsDialogComponent,
11938
13385
  RelationSelectorDialogComponent,
11939
13386
  RelationCardComponent,
11940
13387
  StatusBadgeComponent,
13388
+ TabbedCustomFieldsComponent,
13389
+ UiExtensionPointComponent,
13390
+ CustomDetailComponentHostComponent,
11941
13391
  ];
11942
13392
  var DYNAMIC_FORM_INPUTS = [
11943
13393
  TextFormInputComponent,
@@ -11958,6 +13408,8 @@
11958
13408
  RelationCardDetailDirective,
11959
13409
  RelationSelectorDialogComponent,
11960
13410
  TextareaFormInputComponent,
13411
+ RichTextFormInputComponent,
13412
+ JsonEditorFormInputComponent,
11961
13413
  ];
11962
13414
  var SharedModule = /** @class */ (function () {
11963
13415
  function SharedModule() {
@@ -12085,6 +13537,45 @@
12085
13537
  },] }
12086
13538
  ];
12087
13539
 
13540
+ /**
13541
+ * @description
13542
+ * A base class for entity detail views. It should be used in conjunction with the
13543
+ * {@link BaseEntityResolver}.
13544
+ *
13545
+ * @example
13546
+ * ```TypeScript
13547
+ * \@Component({
13548
+ * selector: 'app-my-entity',
13549
+ * templateUrl: './my-entity.component.html',
13550
+ * styleUrls: ['./my-entity.component.scss'],
13551
+ * changeDetection: ChangeDetectionStrategy.OnPush,
13552
+ * })
13553
+ * export class GlobalSettingsComponent extends BaseDetailComponent<MyEntity.Fragment> implements OnInit {
13554
+ * detailForm: FormGroup;
13555
+ *
13556
+ * constructor(
13557
+ * router: Router,
13558
+ * route: ActivatedRoute,
13559
+ * serverConfigService: ServerConfigService,
13560
+ * protected dataService: DataService,
13561
+ * private formBuilder: FormBuilder,
13562
+ * ) {
13563
+ * super(route, router, serverConfigService, dataService);
13564
+ * this.detailForm = this.formBuilder.group({
13565
+ * name: [''],
13566
+ * });
13567
+ * }
13568
+ *
13569
+ * protected setFormValues(entity: MyEntity.Fragment, languageCode: LanguageCode): void {
13570
+ * this.detailForm.patchValue({
13571
+ * name: entity.name,
13572
+ * });
13573
+ * }
13574
+ * }
13575
+ * ```
13576
+ *
13577
+ * @docsCategory list-detail-views
13578
+ */
12088
13579
  var BaseDetailComponent = /** @class */ (function () {
12089
13580
  function BaseDetailComponent(route, router, serverConfigService, dataService) {
12090
13581
  this.route = route;
@@ -12108,8 +13599,8 @@
12108
13599
  this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();
12109
13600
  rxjs.combineLatest(this.entity$, this.languageCode$)
12110
13601
  .pipe(operators.takeUntil(this.destroy$))
12111
- .subscribe(function (_a) {
12112
- var _b = __read(_a, 2), entity = _b[0], languageCode = _b[1];
13602
+ .subscribe(function (_c) {
13603
+ var _d = __read(_c, 2), entity = _d[0], languageCode = _d[1];
12113
13604
  _this.setFormValues(entity, languageCode);
12114
13605
  _this.detailForm.markAsPristine();
12115
13606
  });
@@ -12125,14 +13616,38 @@
12125
13616
  BaseDetailComponent.prototype.canDeactivate = function () {
12126
13617
  return this.detailForm && this.detailForm.pristine;
12127
13618
  };
13619
+ BaseDetailComponent.prototype.setCustomFieldFormValues = function (customFields, formGroup, entity, currentTranslation) {
13620
+ var e_1, _c;
13621
+ var _a, _b;
13622
+ try {
13623
+ for (var customFields_1 = __values(customFields), customFields_1_1 = customFields_1.next(); !customFields_1_1.done; customFields_1_1 = customFields_1.next()) {
13624
+ var fieldDef = customFields_1_1.value;
13625
+ var key = fieldDef.name;
13626
+ var value = fieldDef.type === 'localeString'
13627
+ ? (_a = currentTranslation.customFields) === null || _a === void 0 ? void 0 : _a[key]
13628
+ : (_b = entity.customFields) === null || _b === void 0 ? void 0 : _b[key];
13629
+ var control = formGroup === null || formGroup === void 0 ? void 0 : formGroup.get(key);
13630
+ if (control) {
13631
+ control.patchValue(value);
13632
+ }
13633
+ }
13634
+ }
13635
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
13636
+ finally {
13637
+ try {
13638
+ if (customFields_1_1 && !customFields_1_1.done && (_c = customFields_1.return)) _c.call(customFields_1);
13639
+ }
13640
+ finally { if (e_1) throw e_1.error; }
13641
+ }
13642
+ };
12128
13643
  BaseDetailComponent.prototype.getCustomFieldConfig = function (key) {
12129
13644
  return this.serverConfigService.getCustomFieldsFor(key);
12130
13645
  };
12131
13646
  BaseDetailComponent.prototype.setQueryParam = function (key, value) {
12132
- var _a;
13647
+ var _c;
12133
13648
  this.router.navigate([
12134
13649
  './',
12135
- Object.assign(Object.assign({}, this.route.snapshot.params), (_a = {}, _a[key] = value, _a)),
13650
+ Object.assign(Object.assign({}, this.route.snapshot.params), (_c = {}, _c[key] = value, _c)),
12136
13651
  ], {
12137
13652
  relativeTo: this.route,
12138
13653
  queryParamsHandling: 'merge',
@@ -12147,8 +13662,34 @@
12147
13662
  };
12148
13663
  }
12149
13664
  /**
13665
+ * @description
12150
13666
  * A base resolver for an entity detail route. Resolves to an observable of the given entity, or a "blank"
12151
- * version if the route id equals "create".
13667
+ * version if the route id equals "create". Should be used together with details views which extend the
13668
+ * {@link BaseDetailComponent}.
13669
+ *
13670
+ * @example
13671
+ * ```TypeScript
13672
+ * \@Injectable({
13673
+ * providedIn: 'root',
13674
+ * })
13675
+ * export class MyEntityResolver extends BaseEntityResolver<MyEntity.Fragment> {
13676
+ * constructor(router: Router, dataService: DataService) {
13677
+ * super(
13678
+ * router,
13679
+ * {
13680
+ * __typename: 'MyEntity',
13681
+ * id: '',
13682
+ * createdAt: '',
13683
+ * updatedAt: '',
13684
+ * name: '',
13685
+ * },
13686
+ * id => dataService.query(GET_MY_ENTITY, { id }).mapStream(data => data.myEntity),
13687
+ * );
13688
+ * }
13689
+ * }
13690
+ * ```
13691
+ *
13692
+ * @docsCategory list-detail-views
12152
13693
  */
12153
13694
  var BaseEntityResolver = /** @class */ (function () {
12154
13695
  function BaseEntityResolver(router, emptyEntity, entityStream) {
@@ -12156,6 +13697,7 @@
12156
13697
  this.emptyEntity = emptyEntity;
12157
13698
  this.entityStream = entityStream;
12158
13699
  }
13700
+ /** @internal */
12159
13701
  BaseEntityResolver.prototype.resolve = function (route, state) {
12160
13702
  var id = route.paramMap.get('id');
12161
13703
  // Complete the entity stream upon navigating away
@@ -12172,8 +13714,70 @@
12172
13714
  }());
12173
13715
 
12174
13716
  /**
13717
+ * @description
12175
13718
  * This is a base class which implements the logic required to fetch and manipulate
12176
13719
  * a list of data from a query which returns a PaginatedList type.
13720
+ *
13721
+ * @example
13722
+ * ```TypeScript
13723
+ * \@Component({
13724
+ * selector: 'my-entity-list',
13725
+ * templateUrl: './my-entity-list.component.html',
13726
+ * styleUrls: ['./my-entity-list.component.scss'],
13727
+ * changeDetection: ChangeDetectionStrategy.OnPush,
13728
+ * })
13729
+ * export class MyEntityListComponent extends BaseListComponent<GetMyEntityList.Query, GetMyEntityList.Items> {
13730
+ * constructor(
13731
+ * private dataService: DataService,
13732
+ * router: Router,
13733
+ * route: ActivatedRoute,
13734
+ * ) {
13735
+ * super(router, route);
13736
+ * super.setQueryFn(
13737
+ * (...args: any[]) => this.dataService.query<GetMyEntityList.Query>(GET_MY_ENTITY_LIST),
13738
+ * data => data.myEntities,
13739
+ * );
13740
+ * }
13741
+ * }
13742
+ * ```
13743
+ *
13744
+ * The template for the component will typically use the {@link DataTableComponent} to display the results.
13745
+ *
13746
+ * @example
13747
+ * ```HTML
13748
+ * <vdr-action-bar>
13749
+ * <vdr-ab-right>
13750
+ * <a class="btn btn-primary" [routerLink]="['./create']" *vdrIfPermissions="['CreateSettings', 'CreateTaxRate']">
13751
+ * <clr-icon shape="plus"></clr-icon>
13752
+ * Create new my entity
13753
+ * </a>
13754
+ * </vdr-ab-right>
13755
+ * </vdr-action-bar>
13756
+ *
13757
+ * <vdr-data-table
13758
+ * [items]="items$ | async"
13759
+ * [itemsPerPage]="itemsPerPage$ | async"
13760
+ * [totalItems]="totalItems$ | async"
13761
+ * [currentPage]="currentPage$ | async"
13762
+ * (pageChange)="setPageNumber($event)"
13763
+ * (itemsPerPageChange)="setItemsPerPage($event)"
13764
+ * >
13765
+ * <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
13766
+ * <vdr-dt-column></vdr-dt-column>
13767
+ * <ng-template let-myEntity="item">
13768
+ * <td class="left align-middle">{{ myEntity.name }}</td>
13769
+ * <td class="right align-middle">
13770
+ * <vdr-table-row-action
13771
+ * iconShape="edit"
13772
+ * [label]="'common.edit' | translate"
13773
+ * [linkTo]="['./', myEntity.id]"
13774
+ * ></vdr-table-row-action>
13775
+ * </td>
13776
+ * </ng-template>
13777
+ * </vdr-data-table>
13778
+ * ```
13779
+ *
13780
+ * @docsCategory list-detail-views
12177
13781
  */
12178
13782
  // tslint:disable-next-line:directive-class-suffix
12179
13783
  var BaseListComponent = /** @class */ (function () {
@@ -12186,6 +13790,7 @@
12186
13790
  this.defaults = { take: 10, skip: 0 };
12187
13791
  }
12188
13792
  /**
13793
+ * @description
12189
13794
  * Sets the fetch function for the list being implemented.
12190
13795
  */
12191
13796
  BaseListComponent.prototype.setQueryFn = function (listQueryFn, mappingFn, onPageChangeFn, defaults) {
@@ -12198,6 +13803,7 @@
12198
13803
  this.defaults = defaults;
12199
13804
  }
12200
13805
  };
13806
+ /** @internal */
12201
13807
  BaseListComponent.prototype.ngOnInit = function () {
12202
13808
  var _this = this;
12203
13809
  if (!this.listQueryFn) {
@@ -12219,19 +13825,29 @@
12219
13825
  .pipe(operators.takeUntil(this.destroy$))
12220
13826
  .subscribe(fetchPage);
12221
13827
  };
13828
+ /** @internal */
12222
13829
  BaseListComponent.prototype.ngOnDestroy = function () {
12223
13830
  this.destroy$.next();
12224
13831
  this.destroy$.complete();
12225
13832
  this.listQuery.completed$.next();
12226
13833
  };
13834
+ /**
13835
+ * @description
13836
+ * Sets the current page number in the url.
13837
+ */
12227
13838
  BaseListComponent.prototype.setPageNumber = function (page) {
12228
13839
  this.setQueryParam('page', page, { replaceUrl: true });
12229
13840
  };
13841
+ /**
13842
+ * @description
13843
+ * Sets the number of items per page in the url.
13844
+ */
12230
13845
  BaseListComponent.prototype.setItemsPerPage = function (perPage) {
12231
13846
  this.setQueryParam('perPage', perPage, { replaceUrl: true });
12232
13847
  };
12233
13848
  /**
12234
- * Re-fetch the current page
13849
+ * @description
13850
+ * Re-fetch the current page of results.
12235
13851
  */
12236
13852
  BaseListComponent.prototype.refresh = function () {
12237
13853
  this.refresh$.next(undefined);
@@ -12369,7 +13985,7 @@
12369
13985
  }
12370
13986
 
12371
13987
  // Auto-generated by the set-version.js script.
12372
- var ADMIN_UI_VERSION = '1.3.2';
13988
+ var ADMIN_UI_VERSION = '1.4.0';
12373
13989
 
12374
13990
  /**
12375
13991
  * Responsible for registering dashboard widget components and querying for layouts.
@@ -12683,6 +14299,7 @@
12683
14299
  exports.CREATE_ZONE = CREATE_ZONE;
12684
14300
  exports.CURRENT_USER_FRAGMENT = CURRENT_USER_FRAGMENT;
12685
14301
  exports.CUSTOMER_FRAGMENT = CUSTOMER_FRAGMENT;
14302
+ exports.CUSTOMER_GROUP_FRAGMENT = CUSTOMER_GROUP_FRAGMENT;
12686
14303
  exports.CUSTOM_FIELD_CONFIG_FRAGMENT = CUSTOM_FIELD_CONFIG_FRAGMENT;
12687
14304
  exports.CanDeactivateDetailGuard = CanDeactivateDetailGuard;
12688
14305
  exports.ChannelAssignmentControlComponent = ChannelAssignmentControlComponent;
@@ -12698,6 +14315,8 @@
12698
14315
  exports.CoreModule = CoreModule;
12699
14316
  exports.CurrencyFormInputComponent = CurrencyFormInputComponent;
12700
14317
  exports.CurrencyInputComponent = CurrencyInputComponent;
14318
+ exports.CustomDetailComponentHostComponent = CustomDetailComponentHostComponent;
14319
+ exports.CustomDetailComponentService = CustomDetailComponentService;
12701
14320
  exports.CustomFieldComponentService = CustomFieldComponentService;
12702
14321
  exports.CustomFieldControlComponent = CustomFieldControlComponent;
12703
14322
  exports.CustomFieldLabelPipe = CustomFieldLabelPipe;
@@ -12832,6 +14451,7 @@
12832
14451
  exports.GET_TAX_CATEGORY = GET_TAX_CATEGORY;
12833
14452
  exports.GET_TAX_RATE = GET_TAX_RATE;
12834
14453
  exports.GET_TAX_RATE_LIST = GET_TAX_RATE_LIST;
14454
+ exports.GET_TAX_RATE_LIST_SIMPLE = GET_TAX_RATE_LIST_SIMPLE;
12835
14455
  exports.GET_UI_STATE = GET_UI_STATE;
12836
14456
  exports.GET_USER_STATUS = GET_USER_STATUS;
12837
14457
  exports.GET_ZONE = GET_ZONE;
@@ -12852,6 +14472,7 @@
12852
14472
  exports.ItemsPerPageControlsComponent = ItemsPerPageControlsComponent;
12853
14473
  exports.JOB_INFO_FRAGMENT = JOB_INFO_FRAGMENT;
12854
14474
  exports.JobQueueService = JobQueueService;
14475
+ exports.JsonEditorFormInputComponent = JsonEditorFormInputComponent;
12855
14476
  exports.LOCALE_STRING_CUSTOM_FIELD_FRAGMENT = LOCALE_STRING_CUSTOM_FIELD_FRAGMENT;
12856
14477
  exports.LOG_OUT = LOG_OUT;
12857
14478
  exports.LabeledDataComponent = LabeledDataComponent;
@@ -12863,6 +14484,7 @@
12863
14484
  exports.LocaleCurrencyPipe = LocaleCurrencyPipe;
12864
14485
  exports.LocaleDatePipe = LocaleDatePipe;
12865
14486
  exports.LocaleLanguageNamePipe = LocaleLanguageNamePipe;
14487
+ exports.LocaleRegionNamePipe = LocaleRegionNamePipe;
12866
14488
  exports.MODIFY_ORDER = MODIFY_ORDER;
12867
14489
  exports.MOVE_COLLECTION = MOVE_COLLECTION;
12868
14490
  exports.MainNavComponent = MainNavComponent;
@@ -12923,6 +14545,7 @@
12923
14545
  exports.RelationProductVariantInputComponent = RelationProductVariantInputComponent;
12924
14546
  exports.RelationSelectorDialogComponent = RelationSelectorDialogComponent;
12925
14547
  exports.RichTextEditorComponent = RichTextEditorComponent;
14548
+ exports.RichTextFormInputComponent = RichTextFormInputComponent;
12926
14549
  exports.SEARCH_PRODUCTS = SEARCH_PRODUCTS;
12927
14550
  exports.SETTLE_PAYMENT = SETTLE_PAYMENT;
12928
14551
  exports.SETTLE_REFUND = SETTLE_REFUND;
@@ -12930,7 +14553,9 @@
12930
14553
  exports.SET_AS_LOGGED_IN = SET_AS_LOGGED_IN;
12931
14554
  exports.SET_AS_LOGGED_OUT = SET_AS_LOGGED_OUT;
12932
14555
  exports.SET_CONTENT_LANGUAGE = SET_CONTENT_LANGUAGE;
12933
- exports.SET_UI_LANGUAGE = SET_UI_LANGUAGE;
14556
+ exports.SET_DISPLAY_UI_EXTENSION_POINTS = SET_DISPLAY_UI_EXTENSION_POINTS;
14557
+ exports.SET_UI_LANGUAGE_AND_LOCALE = SET_UI_LANGUAGE_AND_LOCALE;
14558
+ exports.SET_UI_LOCALE = SET_UI_LOCALE;
12934
14559
  exports.SET_UI_THEME = SET_UI_THEME;
12935
14560
  exports.SHIPPING_METHOD_FRAGMENT = SHIPPING_METHOD_FRAGMENT;
12936
14561
  exports.STRING_CUSTOM_FIELD_FRAGMENT = STRING_CUSTOM_FIELD_FRAGMENT;
@@ -12957,6 +14582,7 @@
12957
14582
  exports.TRANSITION_FULFILLMENT_TO_STATE = TRANSITION_FULFILLMENT_TO_STATE;
12958
14583
  exports.TRANSITION_ORDER_TO_STATE = TRANSITION_ORDER_TO_STATE;
12959
14584
  exports.TRANSITION_PAYMENT_TO_STATE = TRANSITION_PAYMENT_TO_STATE;
14585
+ exports.TabbedCustomFieldsComponent = TabbedCustomFieldsComponent;
12960
14586
  exports.TableRowActionComponent = TableRowActionComponent;
12961
14587
  exports.TagSelectorComponent = TagSelectorComponent;
12962
14588
  exports.TextFormInputComponent = TextFormInputComponent;
@@ -12994,6 +14620,7 @@
12994
14620
  exports.UPDATE_USER_CHANNELS = UPDATE_USER_CHANNELS;
12995
14621
  exports.UPDATE_ZONE = UPDATE_ZONE;
12996
14622
  exports.USER_STATUS_FRAGMENT = USER_STATUS_FRAGMENT;
14623
+ exports.UiExtensionPointComponent = UiExtensionPointComponent;
12997
14624
  exports.UiLanguageSwitcherDialogComponent = UiLanguageSwitcherDialogComponent;
12998
14625
  exports.UserMenuComponent = UserMenuComponent;
12999
14626
  exports.ZONE_FRAGMENT = ZONE_FRAGMENT;
@@ -13025,6 +14652,7 @@
13025
14652
  exports.getConfigArgValue = getConfigArgValue;
13026
14653
  exports.getDefaultConfigArgValue = getDefaultConfigArgValue;
13027
14654
  exports.getDefaultUiLanguage = getDefaultUiLanguage;
14655
+ exports.getDefaultUiLocale = getDefaultUiLocale;
13028
14656
  exports.getLocales = getLocales;
13029
14657
  exports.getMarkRange = getMarkRange;
13030
14658
  exports.getServerLocation = getServerLocation;
@@ -13035,11 +14663,13 @@
13035
14663
  exports.interpolateDescription = interpolateDescription;
13036
14664
  exports.introspectionResult = result;
13037
14665
  exports.isEntityCreateOrUpdateMutation = isEntityCreateOrUpdateMutation;
14666
+ exports.jsonValidator = jsonValidator;
13038
14667
  exports.linkItem = linkItem;
13039
14668
  exports.linkSelectPlugin = linkSelectPlugin;
13040
14669
  exports.loadAppConfig = loadAppConfig;
13041
14670
  exports.markActive = markActive;
13042
14671
  exports.orderedListRule = orderedListRule;
14672
+ exports.registerCustomDetailComponent = registerCustomDetailComponent;
13043
14673
  exports.registerCustomFieldComponent = registerCustomFieldComponent;
13044
14674
  exports.registerDashboardWidget = registerDashboardWidget;
13045
14675
  exports.registerDefaultFormInputs = registerDefaultFormInputs;
@@ -13052,6 +14682,7 @@
13052
14682
  exports.unicodePatternValidator = unicodePatternValidator;
13053
14683
  exports.weekDayNames = weekDayNames;
13054
14684
  exports.ɵ1 = ɵ1;
14685
+ exports.ɵ10 = ɵ10;
13055
14686
  exports.ɵ2 = ɵ2;
13056
14687
  exports.ɵ3 = ɵ3;
13057
14688
  exports.ɵ4 = ɵ4;
@@ -13059,6 +14690,7 @@
13059
14690
  exports.ɵ6 = ɵ6;
13060
14691
  exports.ɵ7 = ɵ7;
13061
14692
  exports.ɵ8 = ɵ8;
14693
+ exports.ɵ9 = ɵ9;
13062
14694
 
13063
14695
  Object.defineProperty(exports, '__esModule', { value: true });
13064
14696